Trinta perguntas que devs mandam toda semana, separadas por tema. Resposta direta, sem encheção. Se cair em algo específico de framework ou cookbook, linka pra página fundo.
Dica: use ⌘K / Ctrl+K pra buscar no índice. As perguntas têm id kebab-case — pode linkar direto pro ponto exato.
Setup & primeiros passos
Qual stack mínima pra começar?
Node 18+, qualquer framework JS (Next.js, Remix, SvelteKit, Astro, etc.) e o pacote @superdb/supabase-compat. Funciona em projeto frontend-only (chamando a API do client) ou backend (server-side com service-role).
Não precisa de Postgres local pra desenvolver — o projeto remoto gratuito já vem pronto. Pra dev local com Docker, veja a próxima pergunta.
Funciona com Vite/React/Vue/Svelte?
Sim. O SDK é framework-agnostic. Importe createBrowserClient e use. Não tem hook, plugin nem build-step exigido por framework específico.
Como rodo localmente?
npm install -g @superdb/cli && superdb start. Sobe Postgres, Auth, REST (PostgREST) e Studio em containers locais. Tudo escutando em localhost e idêntico em comportamento ao prod.
Preciso de Docker?
Pra desenvolvimento local sim — a CLI usa Docker Compose por baixo. Em produção, é gerenciado: você não cuida de container nenhum.
Linguagens & SDKs
Tem SDK pra Python/Go/Rust?
JS/TS é o oficial hoje. Pra outras linguagens, a API REST direta funciona — qualquer cliente HTTP serve. Wrappers Python/Go community estão na roadmap.
O drop-in do Supabase funciona 100%?
Sim pro core: auth, database (PostgREST), storage e realtime. Edge Functions ainda não — em breve (Sprint 10). Veja guia de migração pra detalhes.
TypeScript com types completos?
Sim. Importe import type { User, Session } from '@superdb/supabase-compat'. Pra gerar types do seu schema: superdb gen types > types/db.ts. Atualize após cada migration.
Deploy & produção
Onde hospedo o front?
Qualquer um: Vercel, Netlify, Cloudflare Pages, Railway, Fly. O backend (DB + Auth + Storage) é gerenciado pelo SuperDB e você só consome via SDK ou REST.
Tem CI/CD?
Sim. Via GitHub Actions: triggere superdb migrate no PR mergeado pra rodar migrations no projeto de produção. Exemplo completo em /docs/cli.
Posso usar Edge Functions do Vercel/Cloudflare?
Sim, com o SDK rodando em runtime edge (compatível). Edge Functions do próprio SuperDB ainda não existem — chega na Sprint 10.
Segurança
Service-role no client é problema?
Sim, NUNCA exponha service-role no frontend. Vai vazar tudo — service-role ignora RLS. Use anon no client. Veja service vs anon.
Como rotaciono a service-role?
Dashboard > Settings > API Keys > Regenerate. Atualize as envs nos servidores que usam (Vercel/Render/CI) imediatamente após — a antiga é invalidada na hora.
JWT secret é seguro?
Sim. Armazenado encriptado AES-256, único por projeto, rotacionável pelo dashboard. A rotação invalida sessões ativas — avise seus users antes.
Tem audit log?
Sim. Auth tem hash chain auditável (cada evento liga ao hash do anterior — não dá pra mexer no meio sem detectar). Storage e DB audit estão em breve.
Desempenho
Qual a latência média?
Servidor em São Paulo (Hostinger BR). Menos de 10ms pra users BR via VivoFibra/Claro. Pra US tipo 80ms. Multi-region chega em Sprint 12+.
Connection pooling?
PgBouncer integrado em modo transaction. Suporta até 10k conexões concorrentes de SDK/REST contra ~100 conexões reais no Postgres. Transparente — você só usa a connection string.
Como otimizo queries lentas?
EXPLAIN ANALYZE no Studio > SQL Editor. Identifique seq scans em tabelas grandes e adicione índices nos filtros mais usados (CREATE INDEX ON tbl(coluna)). Pra realtime, evite filtros caros — preferir filtrar do lado client após receber.
Debug
Como vejo o SQL que o SDK gera?
Studio > Logs > Realtime, filtra por query (PostgREST). Vê o SQL traduzido linha por linha, com tempo e params. Útil pra descobrir por que .eq() não filtra o que você esperava.
RLS bloqueia tudo, como debugo?
Studio > Authentication > Policies (ou tabela > "Show row level security"). Vê qual política está aplicando. Pra testar direto: SET ROLE authenticated; SELECT * FROM tbl; no SQL editor.
Realtime não conecta?
É WebSocket — abra DevTools > Network > WS pra ver o handshake. Firewall corporativo às vezes bloqueia. Cheque também se o canal está habilitado em Dashboard > Database > Replication.
Não achou sua dúvida? Manda email pra contato@superdb.com.br com o tag [faq-dev] no assunto. Entra na próxima versão dessa página.