Tout ce que Lampion met a votre disposition, avec des exemples concrets.
PgBouncer integre en mode transaction pooling. Le proxy TCP route les connexions, gere le multiplexage et reveille les computes suspendus au premier paquet.
# Connexion directe (sans pooling) $ psql "postgresql://[email protected]/ep-abc.postgres" # Via pooling (parametre options) $ psql "postgresql://[email protected]/postgres ?options=endpoint%3Dep-abc" -- PgBouncer: transaction mode active -- 200 clients → 5 PG connections
Capturez l'etat exact de votre base a un instant T. Restaurez vers une nouvelle branche sans toucher a la production. Export pg_dump via l'API.
$ curl -X POST .../backups \ -d '{"name":"before-migration","branch_id":"main"}' {"id":"bk-42","lsn":"0/15A2C08","created_at":"..."} # Restaurer vers une nouvelle branche $ curl -X POST .../backups/bk-42/restore {"branch":"restored-bk-42","compute_id":"ep-new"} # Export SQL $ curl .../endpoints/ep-abc/dump?table=users -o users.sql
Recevez des notifications HTTP en temps reel sur 10+ types d'evenements. Chaque payload est signe HMAC-SHA256 pour verification cote serveur.
$ curl -X POST .../webhooks \ -d '{"url":"https://hook.me/lampion", "events":["project.created","endpoint.suspended"]}' {"id":"wh-7f","secret":"a1b2c3..."} # Payload recu : {"event":"endpoint.suspended", "project_id":"abc123", "endpoint_id":"ep-abc", "timestamp":"2026-04-01T12:00:00Z"} # Header: X-Lampion-Signature: sha256=...
Invitez vos collegues par email, attribuez des roles granulaires. Chaque utilisateur peut appartenir a plusieurs organisations avec switch instantane.
$ curl -X POST .../invitations \ -d '{"email":"[email protected]","role":"developer"}' {"id":"inv-9a","email":"[email protected]", "role":"developer","status":"pending"} # Audit log $ curl .../audit-log?limit=3 [{"action":"invitation.created","actor":"bob"}, {"action":"project.created","actor":"bob"}, {"action":"api_key.created","actor":"alice"}]
Attachez jusqu'a 10 scripts SQL ordonnes a votre projet. Ils s'executent automatiquement sur chaque nouvelle branche — donnees de test, fixtures, extensions.
$ curl -X POST .../seeds \ -d '{"name":"fixtures","sql":" CREATE TABLE users ( id SERIAL PRIMARY KEY, name TEXT, email TEXT UNIQUE ); INSERT INTO users (name, email) VALUES (\u0027Alice\u0027, \[email protected]\u0027), (\u0027Bob\u0027, \[email protected]\u0027);"}' {"id":"seed-1","name":"fixtures","position":1} # Chaque branche creee execute ce script
Capturez les top requetes d'une branche via pg_stat_statements, rejouez-les sur une autre. Detectez les regressions de performance avant de merger.
$ curl -X POST .../replay -d '{ "source_endpoint_id":"ep-main", "target_endpoint_id":"ep-staging", "limit":20}' {"queries": [ {"query":"SELECT * FROM orders WHERE...", "source_mean_ms": 1.2, "target_mean_ms": 3.8, "ratio": 3.17, "status": "regression"} ], "summary": {"regressions":2, "improvements":5,"stable":13}}
Installez pgvector, PostGIS, pg_cron et d'autres extensions en un clic. Listez les extensions disponibles, activez ou desactivez-les par base.
$ curl .../extensions [{"name":"plpgsql","installed":true}, {"name":"pgvector","installed":false}, {"name":"postgis","installed":false}] $ curl -X POST .../extensions \ -d '{"name":"pgvector"}' {"name":"pgvector","installed":true} mydb=> CREATE TABLE docs ( id SERIAL, embedding vector(1536) );
Explorez la structure de vos bases via l'API ou la console. Navigation hierarchique en 3 niveaux : databases, schemas, tables avec colonnes et types.
$ curl ".../schema?database=myapp&schema=public" {"type":"tables","items":[ {"name":"users","columns":[ {"name":"id","type":"integer", "nullable":false,"default":"nextval()"}, {"name":"email","type":"text", "nullable":false,"default":null}, {"name":"created_at","type":"timestamptz", "nullable":true,"default":"now()"} ]}, {"name":"orders","columns":[...]} ]}
Audit visuel prouvant ou resident vos donnees. Region, datacenter physique, provider, certifications par couche. Preuve de conformite exportable.
$ curl .../residency {"region_id":"fr-par-1", "region":{ "city":"Paris", "provider":"Scaleway", "datacenter":"DC2 — Vitry-sur-Seine", "certifications":["ISO 27001","HDS"]}, "data_layers":[ {"layer":"compute","location":"fr-par-1"}, {"layer":"pageserver","location":"fr-par-1"}, {"layer":"s3_storage","location":"fr-par"} ], "compliance":{"data_in_country":"France"}}
3 plans clairs avec simulation de couts en temps reel. Metering precis du compute, stockage et transfert. Aucun cout cache.
$ curl .../usage {"plan":{"name":"dev"}, "quotas":{"projects":{"used":4,"max":100}}, "total":{ "compute_hours": 25.3, "storage_gb": 1.2, "transfer_gb": 0.4}, "estimated_cost":{ "compute_usd": 2.28, "storage_usd": 0.42, "transfer_usd": 0.04, "total_usd": 2.74}, "period":"2026-04"}
Ajoutez des replicas en lecture seule sur n'importe quelle branche. Chaque replica a son propre connection string et peut etre suspendu independamment.
$ curl -X POST .../branches/main/replicas {"id":"rep-1", "connection_string":"postgresql://... @db.lampion.cloud/rep-1.postgres ?sslmode=require", "status":"running", "read_only":true} # Suspend quand plus necessaire $ curl -X POST .../replicas/rep-1/suspend {"id":"rep-1","status":"suspended"}
40+ endpoints documentes. Creez un projet et recevez le connection string en une seule requete. Integrable dans vos pipelines CI/CD.
# Creer un projet en une requete $ curl -X POST \ -H "Authorization: Bearer lmp_live_xxx" \ -d '{"name":"my-app","region":"fr-par-1"}' \ api.lampion.cloud/v1/projects {"id":"abc123", "endpoint_id":"ep-abc", "connection_string":"postgresql:// cloud_admin:[email protected] :5432/ep-abc.postgres?sslmode=require", "pg_password":"YaQYfbg..."} # Pret a utiliser immediatement