PostgreSQL et architecture de stockage
PostgreSQL 16 isolé par projet, parité 4+2 contre double panne, extensions vector / graphql / PostGIS / TimescaleDB incluses, PITR jusqu'à 30 jours.
PostgreSQL 16 isolé par projet
Chaque backend Pool C dispose d'une instance PostgreSQL 16 dédiée, exécutée dans un container rootless sur un compute du cluster. Le stockage repose sur un filesystem versionné copy-on-write avec parité 4+2, garantissant la durabilité des données contre deux défaillances simultanées de backends storage. Cette architecture combine haute densité multi-tenant et performances proches du NVMe local.
Isolation par projet
- Container dédié : pas de PostgreSQL partagé entre projets de tenants différents
- Dataset disque dédié avec quota par tier
- Credentials uniques : mot de passe et
jwt_secretspécifiques au projet - Schémas isolés : aucune base partagée entre projets
Extensions PostgreSQL incluses
| Extension | Rôle |
|---|---|
| vector | Embeddings vectoriels, similarity search (HNSW, IVFFLAT) |
| pg_graphql | API GraphQL auto-générée depuis le schéma |
| PostGIS | Géographie, coordonnées, requêtes spatiales |
| TimescaleDB | Séries temporelles |
| uuid-ossp | Génération d'UUID v1/v4/v5 |
| pgcrypto | Hash, encrypt |
| pg_stat_statements | Statistiques de requêtes |
| pg_cron | Tâches planifiées en base |
Extensions supplémentaires disponibles à l'activation : pgsodium, pg_net, plpgsql, plv8, hstore, ltree, intarray, bloom, unaccent, pg_trgm.
Connexion PostgreSQL
# Connexion directe postgresql://postgres:<password>@db.wzfbhd.runtime.di2amp.com:5432/postgres # Pooling (recommandé pour apps avec beaucoup de connexions) postgresql://postgres:<password>@db.wzfbhd.runtime.di2amp.com:6543/postgres?pgbouncer=true
| Tier | max_connections | Recommandation |
|---|---|---|
| Free | 60 | Utiliser le pooling |
| Pro | 120 | Pooling si > 20 connexions simultanées |
| Business | 480 | Pooling si > 100 connexions simultanées |
Configuration par tier
| Paramètre | Free | Pro | Business |
|---|---|---|---|
| shared_buffers | 64 MB | 256 MB | 1 GB |
| effective_cache_size | 192 MB | 768 MB | 3 GB |
| max_connections | 60 | 120 | 480 |
| work_mem | 2 MB | 4 MB | 16 MB |
| maintenance_work_mem | 16 MB | 64 MB | 256 MB |
Performances et durabilité
- Latence p99 : < 200 µs pour les lectures aléatoires (stockage réseau haute performance sur backbone privé 100 GbE)
- Throughput fsync : > 5 000 IOPS grâce au log d'écriture local
- Compression LZ4 transparente : économie typique 30 à 40 % sur les données textuelles
- Tolérance double panne : parité 4+2 — pas d'interruption de service à la perte de 2 backends storage sur 6
Point-In-Time Recovery
Le PITR est disponible sur les plans Pro et supérieurs via archivage continu du WAL. Restauration possible à n'importe quel moment des 7 derniers jours (Pro) ou 30 derniers jours (Business+).
paas backends restore wzfbhd \ --point-in-time "2026-05-10T14:30:00Z" \ --target wzfbhd-restored
Sécurité et isolation
Le container PostgreSQL est rootless. Le jwt_secret est unique par projet et chiffré au repos. Les checksums du filesystem détectent les corruptions silencieuses et les corrigent automatiquement. Aucune donnée ne quitte les datacenters européens.
Pour aller plus loin
Tarification associée
Quota disque inclus selon le plan. Au-delà : facturation à l'usage. PITR inclus Pro+. Voir tarifs.