Servicios

Bases de datos

PostgreSQL, MySQL y MariaDB en Joppa: una base de datos por proyecto, las extensiones (pgvector, PostGIS…), las URL de conexión, TablePlus, la importación y exportación, las copias y las instantáneas.

Joppa ejecuta un servidor por motor en un puerto fijo; cada proyecto tiene en él su propia base de datos. Es más ligero que un contenedor por proyecto, y tus herramientas siempre se conectan al mismo sitio.

PostgreSQL, MySQL y MariaDB están en la versión gratuita, un servidor de cada uno. Varios servidores del mismo motor (dos PostgreSQL en dos versiones, por ejemplo) requieren Joppa Pro. Consulta Licencia y planes.

Crear una base de datos

En la página del servicio, sección Bases de datos: + Nueva base de datos. Ponle un nombre, elige el proyecto que quieres conectar y, para PostgreSQL, sus extensiones.

Por lo general ni siquiera tienes que hacerlo: conectar el servicio a un proyecto en la pestaña Entorno crea la base de datos del proyecto si no existe.

La tabla de bases de datos muestra su tamaño, sus extensiones y su proyecto. El menú de cada base: Extensiones…, Copiar URL, Exportar…, Importar en esta base…, Duplicar…, Instantáneas…, Eliminar….

Conectarse

Motor URL
PostgreSQL postgresql://postgres:[email protected]:5432/<base>
MySQL, MariaDB mysql://root:[email protected]:3306/<base>

Son credenciales de desarrollo, en un servidor que solo escucha en tu equipo.

TablePlus

Abrir en TablePlus (en el servicio o en una base de datos) abre la conexión ya llamada «Joppa · base» y marcada en verde como entorno local.

Desde la terminal

joppa dbs postgres          # las bases de datos y sus URL
joppa dbs postgres --json   # para un script

Las extensiones de PostgreSQL

Instaladas en el servidor

Algunas extensiones necesitan archivos en el servidor. Elígelas en Versión, puerto y extensiones…: Joppa construye una imagen local de PostgreSQL que las contiene, en el próximo inicio (unos minutos la primera vez). Las bases de datos existentes se conservan.

Extensión Uso
pgvector (vector) Embeddings y búsqueda por similitud
PostGIS Datos geográficos
pgRouting Cálculo de rutas (con PostGIS)
HypoPG Índices hipotéticos
pg_partman Particionado
pg_stat_statements Estadísticas de consultas (precargada)

Siempre disponibles

pg_trgm, uuid-ossp, pgcrypto, citext, hstore, unaccent, fuzzystrmatch.

Por base de datos

Extensiones… en una base de datos las activa o las quita. Desmarcar una extensión la elimina de la base de datos junto con lo que depende de ella (columnas vector, geometrías…).

Activadas por defecto en las bases de datos nuevas elige las que aparecen marcadas al crear una base de datos, y presentes en las bases creadas por una herramienta externa (una migración, createdb).

MySQL y MariaDB

MySQL es la imagen oficial (versiones LTS e innovation), MariaDB su fork comunitario, compatible con los mismos clientes. Ambos usan el puerto 3306 por defecto: si ejecutas los dos, el segundo toma el 3307.

Exportar una base de datos

Exportar…, en el menú de una base, la guarda en un archivo, donde elijas:

Formato Contenido
.sql.gz (propuesto) SQL comprimido con gzip
.sql SQL legible
.dump (PostgreSQL) El archivo de pg_dump -Fc, que lee pg_restore

El archivo no contiene propietarios ni permisos (pg_dump --no-owner --no-acl), ni CREATE DATABASE (mysqldump --single-transaction --routines --triggers --events): se vuelve a cargar con cualquier nombre, aquí o en otro sitio.

Importar un archivo

Importar…, encima de la tabla de bases, carga un archivo en el servidor. Importar en esta base…, en el menú de una base, hace lo mismo apuntando a esa base. Joppa lee:

Importar un archivo: la base acme ya existe, Joppa pregunta antes de reemplazarla

  • un archivo .sql o .sql.gz, de PostgreSQL, MySQL o MariaDB;
  • un archivo .dump de PostgreSQL (pg_dump -Fc);
  • la exportación de un servidor entero: la de Exportar las bases de datos (.sql)…, de pg_dumpall o de mysqldump --all-databases.

Antes de ejecutar nada, Joppa lee el archivo y muestra:

  • la base a la que va, con el nombre del archivo (acme-2026-10-23.sql.gz da acme) y editable. Si existe, marca Reemplazar acme o toma el nombre propuesto (Importar como acme_import);
  • para la exportación de un servidor entero, las bases que crea, y las que ya existen y se reemplazarán: marca Reemplazar estas bases;
  • las extensiones de PostgreSQL del archivo: disponible, actívala antes en el servidor (en Versión, puerto y extensiones…) o Joppa no la ofrece. Lo que depende de una extensión ausente no se carga.

Durante la importación, una barra sigue la lectura del archivo. Al final, Joppa resume los errores omitidos por el camino (un rol desconocido, una extensión ausente). Si la restauración falla, se muestra el mensaje del cliente (psql, pg_restore, mysql) y se elimina la base creada por la importación.

Joppa adapta el archivo al leerlo: quita los OWNER TO y DEFINER= que nombran cuentas de otro servidor, sustituye las collations utf8mb4_0900_* de MySQL 8 por utf8mb4_unicode_ci para MariaDB y, en la exportación de un servidor entero, deja fuera las bases del sistema (mysql, sys…) y la cuenta de Joppa.

Duplicar una base de datos

Duplicar… crea una copia en el mismo servidor, con sus tablas, datos y extensiones (acme_copy por defecto). PostgreSQL copia los archivos de la base (CREATE DATABASE … TEMPLATE) cuando nadie está conectado a ella y, si no, pasa por una exportación y una restauración; MySQL y MariaDB siempre pasan por una exportación.

Instantáneas

Con Joppa Pro, Instantáneas…, en el menú de una base, abre sus instantáneas: copias de la base que guarda Joppa, restauradas con un clic.

Las instantáneas de la base acme: una con nombre, una tomada antes de una importación y cuántas se guardan por base

  • Tomar una instantánea, con un nombre si quieres («antes de la migración»).
  • Restaurar… devuelve la base a esa instantánea. Lo que contenía se guarda antes en una nueva instantánea, «Antes de una restauración».
  • La papelera elimina una instantánea.
  • Guardadas por base: por encima de este número (10 por defecto), se eliminan las más antiguas.

Instantáneas automáticas

Con Joppa Pro, Joppa toma una instantánea antes de cada operación que borra datos. Si falla, la operación no se realiza.

Operación Etiqueta de la instantánea
Eliminar una base Antes de eliminar
Importar un archivo que reemplaza una base Antes de una importación
Importar desde Docker Compose reemplazando una base Antes de una importación de Compose
Restaurar una instantánea Antes de una restauración

Las instantáneas de una base eliminada se conservan: aparecen bajo la tabla, en Bases eliminadas, y restaurar una vuelve a crear la base.

Las instantáneas están en la carpeta snapshots/ de Joppa (consulta Archivos y carpetas): un .dump (PostgreSQL) o un .sql.gz (MySQL, MariaDB) por instantánea, con un .json que la describe. Sin Joppa Pro, la lista sigue visible y sus instantáneas se pueden eliminar, pero no tomar ni restaurar.

Desde la terminal

joppa db export postgres acme                       # ./acme-2026-10-23.sql.gz
joppa db export postgres acme ~/acme.dump           # archivo de PostgreSQL
joppa db import postgres ~/acme.sql.gz --into acme_test
joppa db import postgres ~/acme.sql.gz --replace    # reemplaza acme
joppa db clone postgres acme acme_feature
joppa db snapshot postgres acme --name "antes de la migración"
joppa db snapshots postgres acme
joppa db restore postgres acme 20261023-142501

Consulta El comando joppa.

Exportar las bases de datos

Exportar las bases de datos (.sql)…, en el menú ⋯ de un servidor PostgreSQL, MySQL o MariaDB, guarda todas sus bases de datos en un solo archivo SQL (pg_dumpall, o mysqldump --all-databases) donde elijas. Un servidor detenido se inicia durante la exportación y luego se vuelve a detener.

La exportación sigue siendo posible para un servidor bloqueado por la versión gratuita (consulta Licencia y planes): tus datos siguen siendo tuyos. Para volver a poner un archivo así en un servidor: Importar un archivo.

getjoppa.com › support

Cargando

¿No funciona? Escribe a [email protected]. Una simple pregunta: [email protected].