Postgres,
sans les corvées.
Un cluster Postgres dédié par projet, isolé par schéma, avec RLS natif, migrations versionnées et types TypeScript auto-générés. Aucune abstraction propriétaire, zéro lock-in.
import { aura } from '@/lib/aurabase'export async function GET() {const { data, error } = await aura.from('devices').select('id, name, temperature, last_seen').eq('tenant_id', tenantId).order('last_seen', { ascending: false }).limit(50)// RLS enforcée côté serveur — tenantId est dans le JWTreturn Response.json({ data })}
Ce que vous obtenez dès la minute une
Schema-per-project
Isolation logique stricte : chaque projet reçoit un schéma Postgres dédié. Pas de row-level tenant, pas de proxy intermédiaire.
Migrations versionnées
SQL versionné, rollback atomique, DDL en ligne. Les types TypeScript se régénèrent à chaque migration.
Codegen TypeScript
Types exhaustifs pour vos tables, vues, fonctions, relations. Inférence complète sur les joins et les filtres.
Row-Level Security
Policies déclaratives testables. Le SDK injecte le claim tenant dans chaque requête — impossible à contourner côté client.
Extensions premium
pgvector, PostGIS, pg_cron, TimescaleDB, PGMQ, pg_partman activés en un clic. Versions fixées, audits disponibles.
Branch previews
Une base éphémère par pull request. Données seed clonées, URL unique, nettoyage auto au merge.
Un projet, quatre schémas isolés
Chaque projet reçoit quatre sous-schémas Postgres : un pour vos tables métier, trois pour les primitives de la plateforme. Le cloisonnement est appliqué par PostgreSQL : chaque projet a son propre rôle de connexion et les droits sur ses schémas ne sont accordés qu'à lui. Sur les offres pro et enterprise, chaque projet dispose en plus de sa propre instance.
project_{uuid}userVos tables métier∞project_{uuid}_authsystemusers, sessions, oauth_accounts, mfa_factors, refresh_tokens14project_{uuid}_storagesystembuckets, objects, rls_policies, upload_sessions6project_{uuid}_platformsystemfunctions, jobs, cron_jobs, api_keys, webhooks9Mesuré en production, sur votre charge
Aurabase · Supabase · Firebase
Questions fréquentes
Est-ce du vrai Postgres, ou une couche propriétaire ?+
pg_dump vous rend votre base, extensions incluses, sans aucune sortie.Comment fonctionne l'isolation schema-per-project ?+
project_{uuid} (vos tables), ..._auth, ..._storage, ..._platform. Le gateway injecte le search_path dans chaque connexion — une requête ne peut physiquement pas traverser les frontières d'un autre projet.Puis-je utiliser mes ORMs (Prisma, Drizzle, Kysely) ?+
Et les performances sur des charges lourdes ?+
Comment migre-t-on depuis Supabase ou Firebase ?+
aura import --from supabase reprend votre schéma, vos policies RLS et vos buckets storage. Depuis Firebase : notre CLI mappe les collections Firestore vers des tables Postgres JSONB et réécrit vos Security Rules en policies. Comptez 1-2h pour un projet moyen.Quelle est la politique de résidence des données ?+
Votre base Postgres, en 90 secondes.
Aucune carte bancaire. Schéma provisionné, URL de connexion fournie, types générés. Vous codez au lieu de configurer.