Postgres sólido,
multi-tenant nativo.
Postgres 16 gerenciado com SQL Editor em PT-BR, schema designer visual, monitoramento de queries lentas e backups automáticos. RLS-first pra multi-tenant — drop-in replacement do Supabase Database.
O Postgres que seu time usa todo dia.
SQL Editor, schema visual, monitoramento e backups — em PT-BR, dark por padrão, no Studio do SuperDB.
| tenant | notas | total_brl |
|---|---|---|
| Condomínio Jardins | 184 | R$ 142.380,00 |
| Padaria do Zé | 97 | R$ 88.120,50 |
| Loja Maria Têxtil | 63 | R$ 54.900,00 |
| Coop Cafeicultores SP | 41 | R$ 38.215,80 |
| Query | Calls | Avg | Total |
|---|---|---|---|
| select * from invoices where tenant_id = $1 and status = $2 order by created_at desc | 1.842 | 1.2s | 2.214s |
| select count(*) from tasks where user_id in (...) | 921 | 820ms | 755s |
| update users set last_seen_at = now() where id = $1 | 12.4k | 14ms | 173s |
| select t.*, count(i.id) from tenants t left join invoices i ... | 344 | 620ms | 213s |
| insert into auth.audit_log (...) values (...) | 8.421 | 3ms | 25s |
| Snapshot | Tipo | Tamanho | Quando | Status |
|---|---|---|---|---|
| snap_20260511_0400 | auto | 2.4 GB | há 4h | ok |
| snap_20260510_0400 | auto | 2.4 GB | ontem | ok |
| snap_20260509_1820 | manual | 2.3 GB | 2 dias | ok |
| snap_20260509_0400 | auto | 2.3 GB | 2 dias | ok |
| snap_20260508_0400 | auto | 2.3 GB | 3 dias | ok |
| snap_20260507_0400 | auto | 2.2 GB | 4 dias | ok |
| snap_20260506_0400 | auto | 2.2 GB | 5 dias | arquivado |
O que tem dentro.
Postgres puro + a camada de produtividade que faltava — pra você só pensar no produto.
Postgres 16 gerenciado
Versão oficial da comunidade. Sem fork esquisito, sem lock-in. Você pode levar o dump pra qualquer Postgres do mundo a qualquer momento.
SQL Editor em PT-BR
Editor completo no Studio: autocomplete schema-aware, formatter, snippets, histórico, múltiplas tabs. Explain plan inline.
Schema designer visual
Crie tabelas, FKs e índices clicando. Gera a migration SQL pronta pra commitar. Importe schema existente em 1 click.
RLS-first multi-tenant
Row Level Security ativa por padrão. Helpers pra tenant_id, auth.uid(), auth.jwt(). Multi-tenant em 5 linhas de SQL.
Extensions Postgres
pg_vector, postgis, pg_cron, pg_stat_statements, pg_graphql, plv8 e mais. Habilite no dashboard com 1 click.
Slow queries monitoradas
pg_stat_statements sempre ligado. Top queries lentas, sugestão automática de índices, alerta de P95.
Backups automáticos
Snapshot diário + PITR (point-in-time recovery) de 7 dias. AES-256 at rest. Restore em 1 click pelo Studio.
Connection pooler
PgBouncer transaction-mode embutido. Suporta 10k+ clients sem estourar o limite de conexões do Postgres.
AI assist no editor
"Me ajuda a otimizar essa query" — explain plan + sugestão de índice via LLM, com schema do banco como contexto.
REST & GraphQL auto
PostgREST nativo: toda tabela vira endpoint REST. pg_graphql opcional pra GraphQL. Zero código de backend.
Migrations versionadas
Schema diff automático entre branches. superdb db push aplica migrations. Compatível com supabase-cli.
Latência baixa no Brasil
Região SP-1 nativa. Dados ficam no Brasil — LGPD-friendly por construção. Sub-30ms da maior parte do país.
Migra do Supabase
trocando 1 import.
O cliente @superdb/supabase-compat tem a mesma API do @supabase/supabase-js. Os mesmos métodos pra .from(), .select(), .insert(), .rpc() — RLS, joins, filtros: tudo idêntico.
Sua schema, suas RLS policies, suas migrations — funcionam sem mudar uma linha. Postgres é Postgres.
// Antes — Supabase
import { createClient } from '@supabase/supabase-js'
// Depois — SuperDB (drop-in)
import { createClient } from '@superdb/supabase-compat'
const db = createClient(
process.env.NEXT_PUBLIC_SUPERDB_URL!,
process.env.NEXT_PUBLIC_SUPERDB_ANON_KEY!
)
// Query igual ao Supabase — RLS aplicada no Postgres
const { data, error } = await db
.from('invoices')
.select('id, valor_brl, tenants(name)')
.eq('status', 'paga')
.order('created_at', { ascending: false })
.limit(10)
// Sua RLS policy do Supabase continua funcionando:
// create policy "tenant isolation" on invoices
// using (tenant_id = (auth.jwt() -> 'tenant_id')::uuid);
Database pensado pra SaaS BR.
Pronto pra ter um Postgres sério?
Tier Free: 500 MB de banco, 2 GB de transferência, backups diários. Sem cartão.