Services

Databases

PostgreSQL, MySQL and MariaDB in Joppa: one database per project, extensions (pgvector, PostGIS…), connection URLs and TablePlus.

Joppa runs one server per engine on a fixed port; each project gets its own database on it. It’s lighter than one container per project, and your tools always connect to the same place.

Create a database

On the service page, Databases section: + New database. Give it a name, choose the project to connect and, for PostgreSQL, its extensions.

Usually you don’t even have to: plugging the service into a project in the Environment tab creates the project’s database if it doesn’t exist.

The databases table shows their size, extensions and project. Each database’s menu: Extensions…, Copy URL, Delete….

Connect

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

These are development credentials, on a server that only listens on your machine.

TablePlus

Open in TablePlus (on the service or on a database) opens the connection, already named “Joppa · database” and tagged green as a local environment.

From the terminal

joppa dbs postgres          # databases and their URLs
joppa dbs postgres --json   # for a script

PostgreSQL extensions

Installed on the server

Some extensions need files on the server. Pick them in Version, port and extensions…: Joppa builds a local PostgreSQL image that includes them, on the next start (a few minutes the first time). Existing databases are kept.

Extension Use
pgvector (vector) Embeddings and similarity search
PostGIS Geographic data
pgRouting Route calculation (with PostGIS)
HypoPG Hypothetical indexes
pg_partman Partitioning
pg_stat_statements Query statistics (preloaded)

Always available

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

Per database

Extensions… on a database enables or removes them. Unchecking an extension removes it from the database along with what depends on it (vector columns, geometries…).

Enabled by default in new databases chooses the ones that are pre-checked when creating a database, and present in databases created by an external tool (a migration, createdb).

MySQL and MariaDB

MySQL is the official image (LTS and innovation releases), MariaDB its community fork, compatible with the same clients. Both use port 3306 by default: if you run both, the second one takes 3307.

getjoppa.com › support

Loading

Not going through? Write to [email protected]. Just a question: [email protected].