Saltar al contenido
Inicio
Docs/Base de datos

Base de datos

PocketCode trae un PostgreSQL 18.2 real que corre dentro de la app, sin servidor ni cuenta que configurar. Alrededor: una consola SQL con asistente de IA en el propio editor, un visor de datos editable, copias de seguridad y restauración, plan de ejecución, diagrama ER y diseñador de esquemas. El mismo módulo abre también tus bases PostgreSQL, MySQL y en la nube.

Qué puedes conectar

El módulo trabaja con tres tipos de base de datos. Lo que puedes hacer depende del tipo.

Base de datosQué funciona
PostgreSQL en el móvil (PostgreSQL local)Todo lo de esta página: tablas, edición de datos, consola SQL, IA, copias y restauración, ajustes del motor, extensiones, monitor y diagrama ER. Necesita un móvil ARM de 64 bits.
Tus servidores: PostgreSQL, MySQL / MariaDBGuarda la conexión con SSL y túnel SSH, pruébala y ábrela para explorar y editar sus tablas, crear otras nuevas, dibujar su diagrama ER y ejecutar SQL desde la consola.
Cuentas en la nube: Neon, Supabase, PlanetScale, Turso, Cloudflare D1Conecta la cuenta en Ajustes → Integraciones → Servicios conectados, elige un proyecto y su base. Neon, Supabase, Turso y D1 ejecutan el SQL a través de la API del proveedor; Neon también puede conectarse directamente por JDBC con su cadena de conexión, para la consola SQL completa.
MongoDB Atlas y UpstashConecta Atlas con una service account o una API key, y Upstash con tu platform token, y elige un clúster o base. Abrir una base de Upstash conecta como una base Redis real, no a través de su API de gestión.
Servidores MongoDB y RedisColecciones con su número de documentos en MongoDB; explorador de claves, CLI y monitor en Redis.
Cloud FirestoreExplora por ruta de colección y consulta con filtros, usando tu propio proyecto de Firebase.
PocketCode no pone ningún servidor propio en medio: la app habla directamente con el motor local, con tus hosts o con la API del proveedor. Las bases gestionadas de DigitalOcean se abren igual, desde la lista de Managed databases del Backend Manager — sin formulario manual, porque su API ya da la conexión completa. Las tablas, la consola SQL, la seguridad y las herramientas de esquema de Supabase, Neon, PlanetScale, Turso, Upstash y D1 vivían repartidas por sus páginas del Backend Manager; ahora viven aquí, y el Backend Manager enlaza directo con una fila Open in Database.

Abrir el módulo

El módulo está en la hoja de herramientas, como la terminal y el diseñador.

  1. 1Pulsa Herramientas en la barra inferior.
  2. 2Pulsa Database. Llegas a la pantalla de inicio.
  3. 3Pulsa Base de Datos Local para arrancar PostgreSQL y abrir sus tablas, o Mis Conexiones para todo lo demás.

La pantalla de inicio

Mis Conexiones

La lista de conexiones: primero el motor local, después tus cuentas en la nube y los servidores que hayas añadido.

Base de Datos Local

La tarjeta del motor. Dice si está en marcha o parado, y tiene Arrancar / Parar, Administrar (la pantalla del motor) y Usar en el proyecto (la URL de conexión).

Monitoreo

Latencia, sesiones y las consultas que ha lanzado la app.

Diseñador de Esquemas

Diseña tablas en un lienzo y genera SQL o código ORM. No necesita conexión.

Cómo moverte

  • Volver es el gesto atrás de Android. Deshace el camino pantalla a pantalla y, en la de inicio, cierra el módulo. No hay flechas de volver.
  • El título es un selector. Tócalo (la ▾ de al lado) para cambiar de base, abrir Motor, crear una Nueva Base de Datos o saltar a otra conexión. Todas las conexiones abre la lista completa.
  • El icono de rejilla de arriba a la derecha abre Herramientas: todas las que tienen sentido para la conexión abierta, agrupadas en Explorar, Consultar, Diseñar, Datos, Servidor y Seguridad, con buscador.
  • El subtítulo dice qué base está abierta y si el motor está en marcha, por ejemplo postgres · ● Motor en marcha.
Database Manager start screen with My Connections, the Local Database card, Monitoring and Schema Designer
Inicio — conexiones, el motor local y dos accesos
Tools sheet with Frequent, Explore and Query sections
Herramientas — una hoja, agrupada por lo que quieres hacer
Switch database sheet with the postgres database, New Database, Engine and the list of connections
Toca el título para cambiar de base o de conexión

Móvil, horizontal y tablet

Móvil en verticalUna pantalla cada vez. La consola alterna entre Editor y Resultados.
Móvil en horizontalUn riel estrecho a la izquierda sustituye a la cabecera. La consola pone editor y resultados lado a lado con un divisor que se arrastra.
Tablet en verticalEditor arriba y resultados debajo, con posiciones de 30 / 50 / 70 %.
Tablet en horizontalPaneles laterales, herramientas siempre a la vista, detalle de fila junto a la rejilla y atajos de teclado en la consola.

PostgreSQL en tu móvil

El motor es PostgreSQL 18.2 compilado para Android y empaquetado en la app. Solo escucha en el propio móvil (127.0.0.1, puerto 5433) y por TCP siempre pide contraseña. No hace falta root, Termux ni conexión.

Arrancarlo

  1. 1En la pantalla de inicio, pulsa Base de Datos Local. El motor arranca y se abre la lista de tablas.
  2. 2Para pararlo, pulsa Parar en la tarjeta del motor. Para volver a arrancarlo, Arrancar.
  3. 3Las pantallas que necesitan el motor muestran Motor parado con un botón Arrancar cuando está apagado.
El primer arranque desempaqueta el motor (unos 36 MB) y crea el clúster de datos en el móvil. Solo la primera vez puede tardar un rato; después arranca en segundos. La app no mantiene el motor vivo en segundo plano: al salir le pide a PostgreSQL que escriba un checkpoint, y Android puede parar el proceso más tarde.

La pantalla del motor

Se abre con Administrar en la tarjeta del motor, o con Motor en el selector del título. Tiene cuatro pestañas:

Salud

Versión, En marcha desde hace, Tamaño de los datos, Sesiones abiertas, commits, rollbacks, Aciertos de caché, checkpoints e interbloqueos. Debajo: el tamaño de cada base, con Eliminar base (nunca para postgres ni para la que tienes abierta), las sesiones activas con Cancelar consulta / Terminar sesión y las sentencias más lentas si pg_stat_statements está activa.

Extensiones

Las extensiones que trae PostgreSQL, cada una con su interruptor. Las más útiles pone primero pg_trgm, pgcrypto, uuid-ossp, citext, hstore y pg_stat_statements; vienen 17 en total, entre ellas postgres_fdw, dblink, unaccent, tablefunc y btree_gin. El interruptor ejecuta CREATE EXTENSION o DROP EXTENSION en la base abierta.

Registro

El final del log del servidor, filtrable por LOG, WARNING, ERROR y FATAL, con Copiar y Compartir.

Ajustes

Perfil de memoria, Durabilidad y Estadísticas de sentencias. Guardar reinicia el motor para aplicarlos. El puerto es fijo, 5433; Copiar URL copia la URL de conexión.

Engine Health tab showing PostgreSQL 18.2, uptime, data size, sessions and cache hits
Motor → Salud: versión, tiempo en marcha, tamaño, sesiones
Engine Extensions tab with pg_trgm switched on
Motor → Extensiones: activa lo que trae PostgreSQL
Engine Settings tab with Light, Balanced and Powerful profiles and the Durability switch
Motor → Ajustes: perfil de memoria y durabilidad

Perfiles de memoria

PerfilQué ajusta
Ligero16 MB de memoria compartida · 2 MB por ordenación · hasta 10 conexiones. Por defecto en móviles con menos de 6 GB de RAM.
Equilibrado64 MB de memoria compartida · 4 MB por ordenación · hasta 20 conexiones. Por defecto desde 6 GB.
Potente128 MB de memoria compartida · 8 MB por ordenación · hasta 30 conexiones. Necesita 8 GB de RAM o más.

Más de una base de datos

  • Toca el título y elige Nueva Base de Datos. El nombre conserva letras, números y _. La app cambia a la base nueva al momento.
  • Todas aparecen en Bases de datos dentro del mismo selector. Extensiones, tablas y consultas se aplican a la que está abierta.
  • Sin Durabilidad el motor va más rápido, pero un corte de batería mientras escribe puede corromper los datos. Déjala activada salvo con datos que puedas regenerar.

Usarlo desde tu código

  1. 1En la tarjeta del motor, pulsa Usar en el proyecto. La hoja muestra la URL de conexión con la contraseña oculta.
  2. 2Revelar muestra la contraseña; Copiar URL copia siempre la URL completa, con la contraseña. Con el bloqueo biométrico activo, las dos piden antes la huella.
  3. 3Escribir .env en el proyecto abierto escribe DATABASE_URL en el .env del proyecto: sustituye la DATABASE_URL que hubiera y conserva el resto del fichero. Si el proyecto tiene .gitignore (o una carpeta .git), añade .env.

Terminal y Node

Con el motor en marcha, la terminal local y los scripts de Node reciben DATABASE_URL, PGHOST, PGPORT, PGUSER, PGPASSWORD y PGDATABASE en su entorno. Con npm i pg en un proyecto, new Client() conecta sin configurar nada. La terminal trae además un snippet listo, Local PostgreSQL (Node).

Las variables se leen al abrir la sesión de terminal: abre una sesión nueva después de arrancar el motor. La terminal no tiene psql ni pg_dump; las copias se hacen desde la herramienta Copias de seguridad.

Conexiones

Mis Conexiones muestra primero el motor local (si está instalado), después las cuentas en la nube y los servidores que hayas añadido. Cada tarjeta lleva el logo de la plataforma, un punto de estado y un menú ⋮.

Tipos soportados

TipoCómo conecta
PostgreSQL (Local)El motor que va dentro de la app.
PostgreSQLDirecto a tu servidor con el driver de PostgreSQL. Modos SSL de Disable a Verify Full, certificado CA y túnel SSH opcional.
MySQL / MariaDBEl cliente MySQL propio de PocketCode, con TLS y túnel SSH opcional.
Neon PostgreSQLLa API de tu cuenta para elegir proyecto y ejecutar SQL, o conexión directa por JDBC con su cadena de conexión para la consola SQL completa — diagrama ER, EXPLAIN y roles.
SupabaseLa API de tu cuenta: eliges proyecto, ejecutas SQL en todos los esquemas y abres sus políticas de Row Level Security.
PlanetScale MySQLTu cuenta lista bases y ramas. Al abrir una rama se crea una contraseña de rama y se conecta por MySQL comprobando el certificado. Su schema, schema check y el diff del deploy request están a un toque.
Turso SQLiteTu cuenta lista las bases; el SQL va por la API HTTP de Turso.
Cloudflare D1Tu cuenta lista las bases; el SQL va por la API de D1, igual que Turso.
MongoDB AtlasConecta con una service account (OAuth) o una API key (par público/privado); elige un clúster para ver sus usuarios de base, o abre una base para consultarla.
Upstash RedisTu cuenta lista las bases; abrir una conecta como una base Redis real — explorador de claves, CLI y monitor —, no a través de la API de gestión.
MongoDBEl cliente MongoDB propio de PocketCode, con autenticación SCRAM y TLS.
RedisEl cliente Redis propio de PocketCode, con TLS: explorador de claves, CLI y monitor.
Cloud FirestoreTu proyecto de Firebase, añadido en Ajustes → Integraciones.

Añadir un servidor

  1. 1En Mis Conexiones, pulsa + (Nueva conexión).
  2. 2Pega una URL en Connection String y pulsa Parsear Connection String para rellenar el formulario. Entiende URLs postgres://, postgresql://, mysql://, mariadb://, mongodb://, mongodb+srv://, redis://, rediss:// y jdbc:.
  3. 3O rellena a mano Nombre de conexión, Tipo de BD, Host, Puerto, Base de datos, Usuario y Contraseña.
  4. 4Pulsa Probar conexión. El resultado se queda en pantalla con la respuesta del servidor y la latencia.
  5. 5Pulsa Guardar. La contraseña va al almacén cifrado; el fichero de conexiones nunca la guarda.
Connections list with Local PostgreSQL first and cloud databases below
Conexiones — el motor local primero, luego tus cuentas en la nube

SSL y SSH

Usar TLSModos Disable, Allow, Prefer, Require, Verify CA y Verify Full. En PostgreSQL, los dos Verify necesitan el fichero CA, que se elige con Elegir certificado CA….
Usar túnel SSHHost, puerto y usuario SSH, con contraseña o fichero de clave privada (Elegir clave privada…). Las claves con frase de paso aún no se admiten.
Claves del hostLa primera vez que llegas a un servidor SSH se guarda su huella y se muestra. Si la clave cambia después, la conexión se corta antes de enviar nada.
  • Menú de la tarjeta: Editar conexión, Duplicar, Probar conexión y Eliminar, que pregunta antes. La tarjeta del motor local no se edita ni se borra.
  • Color y grupo (en Apariencia) marcan una conexión como producción, staging, desarrollo…; producción sale en rojo.

Consola SQL

Se abre desde Herramientas → Consola SQL. Funciona con el motor local, tus servidores PostgreSQL y MySQL, Neon, Supabase, PlanetScale, Turso y Cloudflare D1.

  • Editor: números de línea, resaltado en el dialecto de la conexión (PostgreSQL, MySQL o SQLite), Deshacer / Rehacer, Formatear y tamaño de letra en el menú ⋮. Sin autocorrección ni mayúsculas automáticas.
  • Sugerencias de palabras clave, tablas, vistas, columnas de la tabla abierta y funciones, como fichas mientras escribes.
  • Fila de teclas: con el teclado abierto, encima aparece una fila con los símbolos ( ) , ; = * ' " < > . :, palabras frecuentes (SELECT, FROM, WHERE, JOIN…) y, tras fx, las funciones del dialecto. Ejecutar queda en su extremo derecho.
  • Ejecutar y parar: Ejecutar lanza todo el editor. Mientras corre, Resultados muestra el tiempo y un botón Parar. En el motor local y en tus servidores, Parar cancela la consulta en el servidor.
  • Las sentencias que no devuelven filas dicen qué pasó: Table created · 53 ms, 3 rows affected · 8 ms, Statement executed.
  • Tope de filas: un SELECT sin LIMIT recibe LIMIT 500. Las consultas se cortan a los 30 s en el motor local y a los 60 s en servidores remotos.
SQL console with a formatted query joining customers and orders
Consola SQL — resaltado, Formatear e IA en la barra
Results: 20 rows with name, orders and revenue columns and the result actions below
Resultados — filas, tiempo y qué hacer con ellos

Modo seguro

Antes de ejecutar DELETE o UPDATE sin WHERE, DROP TABLE, DROP VIEW, DROP INDEX o TRUNCATE, la consola muestra Operación Peligrosa con el SQL exacto. No se ejecuta nada hasta que pulsas Ejecutar de Todos Modos. En MySQL la lista es más larga: DROP DATABASE, GRANT, ALTER … DROP, RENAME TABLE, KILL y más.

Parámetros

  1. 1Escribe parámetros con nombre en la consulta: SELECT * FROM orders WHERE status = :status AND total > :min;
  2. 2Pulsa Ejecutar. En lugar de ejecutar, la consola abre Parámetros de Query con un campo por nombre.
  3. 3Rellena los valores y pulsa Ejecutar. Los valores se envían como texto entre comillas. El editor conserva la consulta con sus :nombres, y el historial también.

Qué hacer con los resultados

Copiar ComoCSV, TSV, JSON, NDJSON, SQL (INSERT), SQL (completo) o Markdown, al portapapeles.
ExportarCSV, TSV, JSON, NDJSON, SQL (INSERT), SQL (completo), Markdown o Excel (XLSX), a un fichero que tú eliges.
GráficosBarras, líneas, tarta, dispersión o mapa de calor a partir del resultado, exportable como PNG. La primera columna es el eje X.
ExplicarAbre el plan de ejecución de la consulta del editor.
Guardar ConsultaLa guarda con un nombre. Las consultas guardadas se agrupan en carpetas desde Herramientas → Consultas guardadas.
Añadir al panelEl icono de la cabecera guarda la consulta como widget de un panel.

Pestañas, historial y consultas guardadas

Pestañas⋮ → Nueva Pestaña. Con dos o más aparece una tira de pestañas; mantén pulsada una para renombrarla. Las pestañas y su texto sobreviven a cerrar la app.
Historial de ConsultasTodo lo que has ejecutado, lo último primero, hasta 500 entradas, con duración, filas y errores en Herramientas → Historial de consultas.
Consultas GuardadasToca una para cargarla en el editor.

Atajos de teclado (tablet en horizontal)

Ctrl+EnterEjecutar
Ctrl+Shift+EnterEjecutar la selección
Ctrl+T / Ctrl+WNueva pestaña / cerrar pestaña
Ctrl+SGuardar consulta
Ctrl+/Comentar o descomentar las líneas seleccionadas

Escribir SQL con IA

El asistente vive dentro del editor, encima de tu código. Escribe una propuesta; nada llega al editor hasta que la aceptas, y nada se ejecuta solo.

  1. 1En la consola, pulsa IA. Se abre una línea con Describe la consulta que necesitas… encima del código.
  2. 2Describe la consulta con tus palabras y pulsa Generar. Atajo: escribe la petición como comentario en la línea del cursor, por ejemplo -- clientes que han pedido este mes, y pulsa IA.
  3. 3Lee la propuesta. Encima aparece su origen: el proveedor y el modelo, o Sin conexión — generado por reglas, no por un modelo si no respondió ningún modelo.
  4. 4Pulsa Aceptar para ponerla en el editor, sustituyendo la selección o en una línea nueva bajo el cursor. Descartar deja el editor como estaba; el icono de refrescar vuelve a pedirla.
  • Qué sabe: el dialecto y los nombres de tus tablas, vistas y sus columnas, así que escribe ciudad si la columna se llama ciudad. No se envían filas.
  • Qué modelo: el que tengas para Asistente SQL en los ajustes de IA, tu elección manual, o un modelo rápido en modo Automático.
  • Consentimiento: la primera vez que se usa un proveedor, la app pregunta ¿Enviar a …? antes de enviar nada.
  • Si el modelo responde algo que no es SQL, ves su respuesta y un aviso para elegir otro modelo, sin botón Aceptar.
  • Sin modelo, un generador por reglas propone consultas sencillas (select, count, agrupar, insert, delete) y lo indica.

Ver y editar datos

Toca una tabla de la lista para abrirla. Las páginas son de 100 filas y van ordenadas por la clave primaria, así que una fila editada no cambia de sitio.

Filtrar y ordenar

Filtro abre una hoja: columna, operador (=, !=, >, <, >=, <=, LIKE, NOT LIKE, IS NULL, IS NOT NULL, IN, BETWEEN) y valor; BETWEEN pide Desde y Hasta. Los filtros se combinan con AND y se aplican en el servidor. Orden o tocar la cabecera de una columna ordena las filas. El rango de la derecha (1-100 de 240) y las flechas pasan de página.

Columnas

Columnas oculta y muestra columnas y les da formato: estrellas, barra de progreso, booleano, enlace o color. Mantén pulsada una cabecera para congelar la columna, ajustar o restablecer anchos, o cambiar entre filas compactas y cómodas. Vistas guarda con un nombre los filtros, el orden, las columnas y los anchos de esta tabla en esta conexión, y los vuelve a aplicar con un toque.

Editar una celda

Mantén pulsada una celda que no sea de la clave primaria, cambia el valor o ponlo a NULL y pulsa Guardar. El cambio espera en una barra abajo: Ver SQL enseña el UPDATE … WHERE id = … exacto, Descartar lo quita y Aplicar lo ejecuta.

Detalle de fila

Toca una fila para ver un formulario con todas las columnas: su tipo, las marcas PK / FK / NOT NULL y un interruptor NULL en las columnas que lo admiten. Copiar JSON copia la fila. Guardar aplica solo los campos que has cambiado.

Seleccionar filas

Mantén pulsada una celda de la columna de la clave primaria. Aparecen casillas; toca filas para añadirlas. La barra ofrece Copiar Como, Exportar (también XLSX, como fichero para compartir) y Eliminar, que pasa por el modo seguro y espera a Aplicar.

Más en ⋮

Insertar Fila abre el formulario de fila vacío: los campos que no toques toman el valor por defecto de la columna (una clave serial se rellena sola). Añadir columna (con aviso si una columna NOT NULL no tiene valor por defecto y la tabla tiene filas), Detalle de Tabla (columnas, índices, claves y un DDL que se puede copiar, además de renombrar, vaciar y eliminar) y Exportar.

The orders table with Filter, Sort, Columns and the page range
Una tabla — filtros, orden, columnas y páginas en una fila
Filter sheet with column, operator and value fields
Los filtros se aplican en el servidor, no solo en pantalla
Row detail form for id = 2 with typed fields and NULL switches
Detalle de fila — campos con su tipo y un NULL de verdad
Three selected rows with Copy As, Export and Delete in the bottom bar
Mantén pulsada la columna de la clave para seleccionar filas

Exportar una tabla

⋮ → Exportar o Herramientas → Exportar escribe la tabla abierta en un fichero que eliges con Guardar en…: CSV, TSV, JSON, NDJSON, SQL (INSERT), SQL (completo), Markdown o Excel (XLSX). Con filtros activos, elige Filas filtradas o Tabla entera. Las filas se escriben por lotes, así que no hay límite de tamaño.

Herramientas

Herramientas muestra solo lo que aplica a la conexión abierta. Los grupos siguen el orden de la hoja.

Explorar

Árbol de esquemaTablas y vistas con sus columnas; en PostgreSQL, también sus índices. Toca una tabla para abrirla.
Diagrama ERLas tablas y sus relaciones en un lienzo que se pellizca y se arrastra. Al alejar se ocultan las columnas y los nombres siguen legibles. Exportar Diagrama guarda un PNG; Editar como diseño lo copia al diseñador de esquemas. Funciona con el motor local y con tus servidores PostgreSQL y MySQL.

Consultar

Historial de consultas · Consultas guardadasTodo lo que has ejecutado, y tus consultas guardadas con carpetas.
Plan de ejecuciónEl plan como árbol, con una barra de coste por paso y el más caro en rojo. En PostgreSQL, Analizar de verdad mide cada paso (pregunta antes si la sentencia escribe). Índices sugeridos propone un CREATE INDEX para copiar, nunca lo ejecuta solo. Explicar con IA explica el plan con tu modelo.
GráficasUn gráfico a partir del último resultado, exportable como PNG.
PanelesWidgets hechos con tus consultas: tabla, valor único, barras, líneas o tarta, con refresco automático. En un widget solo se ejecutan consultas de lectura. Con el motor en marcha, una pestaña Servidor muestra su salud en directo.

Diseñar

Diseñador de esquemaTablas en un lienzo para MySQL, PostgreSQL, SQLite, MariaDB, SQL Server o MongoDB, desde cero o desde seis plantillas (Blog, E-Commerce, Social Network, SaaS Platform, Chat App, Project Management). Genera SQL DDL, Room, Prisma, TypeORM, Django, JSON Schema y DBML. Aplicar a … abre el script en la consola sin ejecutarlo, con cada DROP marcado ⚠.
Tabla nuevaUn formulario con columnas, tipos y las marcas PK, AI, NN, UQ.
Comparar esquemasGuardar Snapshot, cambias el esquema, Ejecutar Diff: tablas añadidas, eliminadas y modificadas, y Generar Migración escribe el SQL en la consola. Premium.
Importar esquemaTrae al diseñador las tablas, índices y claves ajenas de la base abierta.

Datos

Datos de pruebaLlena la tabla abierta con filas verosímiles (nombres, emails, ciudades, fechas…) deducidas del nombre de las columnas en inglés, español y portugués, usando los valores existentes de las claves ajenas. O describe los datos y pulsa Generar con AI.
ImportarCSV, TSV, JSON, NDJSON, INSERTs de SQL o Excel (XLSX). Una vista previa muestra 50 filas y los tipos detectados. Crear tabla la crea; Vaciar primero la vacía. En el motor local la importación es una sola transacción: si falla una fila, no se guarda nada.
ExportarLa tabla abierta a un fichero (mira Ver y editar datos).
Copias de seguridadMotor local: Iniciar Backup con pg_dump o volcado SQL, Historial con Restaurar (antes guarda una copia de la base actual), Guardar en… e Importar copia… con el selector de ficheros del sistema. Programar copia el motor local en segundo plano mientras está en marcha (Premium).

Servidor

MonitorLatencia, las sesiones de cliente del motor con cancelar y terminar, las consultas de la app con su duración, un registro de lentas, una estimación del uso de índices y alertas que tú defines, que se comprueban al abrir el Monitor.
Ajustes del motor · Extensiones · Registro del servidorAccesos a las pestañas de la pantalla del motor.
Base de datos nuevaOtra base dentro del motor local.

Seguridad

SeguridadEnmascarado oculta columnas por nombre en el visor (la base no se toca), Roles lista los roles y privilegios del servidor, Permisos ejecuta GRANT y REVOKE, y Biométrica bloquea el módulo con tu huella o tu PIN.
Registro de auditoríaCada sentencia lanzada desde la consola: hora, conexión, tabla, filas, duración y errores, con Volver a ejecutar. Hasta 1.000 entradas, en el móvil.
CompartirCopia una conexión sin su contraseña, copia la consulta actual o guarda la configuración (conexiones sin contraseña y consultas guardadas) en un fichero JSON. Pegar y Abrir… la importan: se añaden las conexiones y consultas nuevas, lo que ya existe se salta y las contraseñas se vuelven a escribir al conectar.
Measured execution plan tree with an index suggestion
Plan de ejecución medido: el paso en rojo es el caro
ER diagram with customers, orders and subscribers
Diagrama ER de la base local
Backup History tab with a pg_dump backup and restore, export and delete buttons
Copias — restaurar guarda antes una copia de seguridad

Desde el chat de IA

El chat de IA puede usar tus bases de datos sin que el módulo esté abierto. Pídeselo con tus palabras («¿qué tablas tengo?», «¿cuántos pedidos se devolvieron?») y llama a estas herramientas:

HerramientaQué hace
db_list_connectionsLista el motor local y tus conexiones guardadas, marcando la activa.
db_list_tablesNombres de las tablas de una base.
db_schemaColumnas y tipos de una tabla o de todas.
db_queryEjecuta una sentencia de solo lectura: SELECT, WITH, EXPLAIN, SHOW o DESCRIBE. Lo que escribe se rechaza.
db_executeEjecuta una sentencia que cambia datos o esquema. Pide tu aprobación antes, salvo que el chat esté en Acceso total y Preguntar antes de actuar fuera del dispositivo esté desactivado.
  • Las herramientas actúan sobre la última conexión que abriste, o sobre el motor local si no tienes nada más configurado. El modelo puede nombrar otra conexión de la lista.
  • Los resultados que recibe el modelo son filas reales. Las reglas de enmascarado no se aplican al chat.

Gratis y Premium

Todo lo de esta página está en el plan gratuito, con estos límites:

LímiteGratis / Premium
Conexiones guardadas1 / ilimitadas (el motor local y las cuentas en la nube no cuentan)
Tablas por base de datos4 / ilimitadas
Pestañas de la consola2 / ilimitadas
Bases en el motor local1 (postgres) / ilimitadas
Consultas guardadas5 / ilimitadas
Datos de prueba por tanda100 filas (50 con IA) / 100.000 filas (200 con IA)
Comparar esquemasPremium
Copias programadasPremium. Crear, restaurar, exportar e importar copias es gratis.
El túnel SSH, todos los formatos de exportación, los paneles, el plan de ejecución y las funciones de IA no tienen límite de plan. Planes y precios

Privacidad y seguridad

  • Sin servidor de PocketCode: los datos van de la app al motor local, a tu host (o a su servidor SSH de salto) o a la API del proveedor. Las conexiones no se sincronizan con la nube.
  • Las contraseñas se guardan en el almacén cifrado de Android, por cuenta. El fichero de conexiones guarda host, puerto, base y usuario, nunca la contraseña. La app tiene desactivada la copia en la nube.
  • El motor local solo acepta TCP desde el propio móvil y siempre con contraseña (SCRAM-SHA-256). Su contraseña es aleatoria y se guarda cifrada; sin ella el motor no arranca.
  • IA: no se envía nada a un proveedor antes de aceptar su diálogo de consentimiento. El asistente SQL envía el dialecto y los nombres de tablas y columnas; la explicación del plan envía la consulta y su plan; las herramientas del chat envían las filas que leen.
  • El enmascarado cambia solo lo que ves en el visor de datos.
  • El bloqueo biométrico acepta tu huella o el PIN del dispositivo y bloquea la entrada al módulo y ver en claro los valores enmascarados.

Limitaciones

Lo que aún no funciona, para que no te pille por sorpresa:

  • El motor local necesita un móvil ARM de 64 bits. No está en emuladores x86 ni en Chromebooks. MariaDB local no viene incluido.
  • MongoDB muestra las colecciones y su recuento, no los documentos.
  • Neon: el SQL funciona en proyectos con la base neondb y el rol neondb_owner por defecto.
  • El diagrama ER dibuja el motor local y tus servidores PostgreSQL y MySQL; en las cuentas en la nube usa Importar esquema para ver las tablas en el diseñador.
  • Los planes medidos (Analizar de verdad) son solo de PostgreSQL; los planes de SQLite no traen costes.
  • Scripts: la consola envía todo el editor de una vez, y cada ejecución usa su propia conexión, así que BEGIN en una ejecución y COMMIT en la siguiente no forman una transacción.
  • Las ediciones en la rejilla se aplican sentencia a sentencia. Si una falla, las anteriores quedan aplicadas.
  • Restaurar está disponible para el motor local. Tus servidores y bases en la nube guardan sus copias en su proveedor.
  • El bloqueo biométrico todavía no pregunta antes de eliminar una tabla ni de revelar la contraseña del motor.

Problemas frecuentes

«… no viene en esta compilación para tu dispositivo»

El móvil no es ARM de 64 bits, así que el motor local no puede correr. Todo lo demás del módulo funciona.

La tarjeta del motor dice que está parado al volver

Android paró la app en segundo plano. Pulsa Arrancar; los datos están a salvo y PostgreSQL se recupera solo si estaba escribiendo.

echo $DATABASE_URL no imprime nada en la terminal

Arranca el motor y abre una sesión de terminal nueva. Una sesión abierta antes de arrancar el motor no ve las variables.

Probar conexión falla en un servidor PostgreSQL con Verify CA o Verify Full

Esos modos necesitan el fichero CA del servidor: elígelo con Elegir certificado CA…. Con Require la conexión va cifrada sin comprobar el certificado.

La propuesta de IA dice Sin conexión — generado por reglas, no por un modelo

No respondió ningún modelo: añade la clave de un proveedor en Ajustes, o elige un modelo para Asistente SQL en los ajustes de IA, y pulsa el icono de refrescar.

Sale Operación Peligrosa en una consulta de la que me fío

El modo seguro mira el texto, no tu intención. Lee el SQL del diálogo y pulsa Ejecutar de Todos Modos.

No puedo crear una quinta tabla

El plan gratuito permite 4 tablas por base de datos. Premium quita el límite.