Bases de données
PostgreSQL, MySQL et MariaDB dans Joppa : une base par projet, les extensions (pgvector, PostGIS…), les URL de connexion et TablePlus.
Joppa fait tourner un serveur par moteur sur un port fixe ; chaque projet y a sa propre base. C’est plus léger qu’un conteneur par projet, et vos outils se connectent toujours au même endroit.
Créer une base
Sur la page du service, section Bases : + Nouvelle base. Donnez-lui un nom, choisissez le projet à connecter et, pour PostgreSQL, ses extensions.
En général vous n’avez même pas à le faire : brancher le service sur un projet dans l’onglet Environnement crée la base du projet si elle n’existe pas.
Le tableau des bases montre leur taille, leurs extensions et leur projet. Le menu de chaque base : Extensions…, Copier l’URL, Supprimer….
Se connecter
| Moteur | URL |
|---|---|
| PostgreSQL | postgresql://postgres:postgres@127.0.0.1:5432/<base> |
| MySQL, MariaDB | mysql://root:root@127.0.0.1:3306/<base> |
Ce sont des identifiants de développement, sur un serveur qui n’écoute que sur votre machine.
TablePlus
Ouvrir dans TablePlus (sur le service ou sur une base) ouvre la connexion déjà nommée « Joppa · base » et marquée en vert comme environnement local.
Depuis le terminal
joppa dbs postgres # les bases et leurs URL
joppa dbs postgres --json # pour un script
Les extensions PostgreSQL
Installées sur le serveur
Certaines extensions demandent des fichiers sur le serveur. Choisissez-les dans Version, port et extensions… : Joppa construit une image locale de PostgreSQL qui les contient, au prochain démarrage (quelques minutes la première fois). Les bases existantes sont gardées.
| Extension | Usage |
|---|---|
pgvector (vector) |
Embeddings et recherche par similarité |
| PostGIS | Données géographiques |
| pgRouting | Calcul d’itinéraires (avec PostGIS) |
| HypoPG | Index hypothétiques |
| pg_partman | Partitionnement |
| pg_stat_statements | Statistiques des requêtes (préchargée) |
Toujours disponibles
pg_trgm, uuid-ossp, pgcrypto, citext, hstore, unaccent, fuzzystrmatch.
Par base
Extensions… sur une base les active ou les retire. Décocher une extension la supprime de la base avec ce qui en dépend (colonnes vector, géométries…).
Activées par défaut dans les nouvelles bases choisit celles qui sont pré-cochées à la création d’une base, et présentes dans les bases créées par un outil externe (une migration, createdb).
MySQL et MariaDB
MySQL est l’image officielle (versions LTS et innovation), MariaDB son fork communautaire, compatible avec les mêmes clients. Les deux utilisent le port 3306 par défaut : si vous faites tourner les deux, le second prend 3307.