
specsfy-specialist-postgres
Modelar, consultar, migrar e operar PostgreSQL com integridade, índices, concorrência, segurança, performance e recuperação. Use para schemas, SQL, EXPLAIN, locks, isolation levels, migrations, roles, backup ou tuning em Postgres; não use para outro banco relacional sem confirmar a semântica específica, e não use para RLS/Auth/Realtime de Supabase — combine com specsfy-specialist-supabase nesse caso.
- Installs
- 263
- Last 24h
- —
- Trending rank
- —
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/promovaweb/specsfy --skill specsfy-specialist-postgres- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads specsfy-specialist-postgres automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
PostgreSQL
Quando usar
- Acionar para desenhar schema, escrever ou revisar SQL, escolher índice,
analisar plano (
EXPLAIN), diagnosticar lock/deadlock, planejar migration ou dimensionar backup/restore em Postgres. - Acionar também quando um ORM (Eloquent, Prisma, Drizzle) gerar SQL ineficiente e a causa raiz for modelagem ou índice, não a API do ORM.
- Não acionar para decisões específicas de Supabase (RLS, Auth, Realtime,
Edge Functions) — usar
$specsfy-specialist-supabase, que aplica Postgres por baixo com essas camadas adicionais. - Combinar com
$specsfy-specialist-laravelquando o ponto de entrada for Eloquent e com$specsfy-specialist-performance-engineeringquando o gargalo abranger além do banco (aplicação, rede, cache).
Fluxo
- Descobrir versão do Postgres, extensões instaladas, volume atual, crescimento esperado, workload (OLTP, analítico, misto) e quem é o owner dos dados antes de recomendar.
- Modelar invariantes com tipos precisos,
NOT NULL,CHECK,UNIQUE, chaves estrangeiras e normalização adequada ao caso de uso. - Escrever a consulta mais simples que expressa a regra e medir o plano
real com
EXPLAIN (ANALYZE, BUFFERS)sobre dados representativos, nunca sobre uma tabela vazia ou de desenvolvimento. - Selecionar índice pelo workload observado (predicados do
WHERE,ORDER BY,JOIN) — nunca por "essa coluna é consultada" isoladamente. - Analisar isolation level, duração de transação, ordem de aquisição de locks e concorrência esperada sob a carga real.
- Planejar a migration com compatibilidade entre a versão antiga e nova da aplicação durante o deploy, e um caminho de rollback testável.
- Marcar a execução como
[MIGRATION], apontar o arquivo versionado, aplicar em uma base de teste e consultar o histórico do migrador antes de concluir. - Validar backup, restore, monitoramento e capacidade no ambiente alvo antes de declarar a mudança pronta para produção.
Padrões
- Preferir constraint do banco (
NOT NULL,CHECK,UNIQUE, FK,EXCLUDE) para toda invariante que sempre deve valer — validação só na aplicação permite dado inconsistente por qualquer segundo caminho de escrita. - Evitar
SELECT *em código de produção, tipos imprecisos (textpara enum fechado,floatpara dinheiro) e índice redundante que duplica outro já existente com prefixo igual. - Nunca adicionar índice sem ler padrão de escrita, tamanho da tabela, seletividade do predicado e o plano antes/depois — índice mal escolhido piora escrita sem acelerar leitura.
- Manter transação curta (evitar I/O externo, espera de usuário ou chamada de rede dentro dela) e ordem de aquisição de locks consistente entre todos os caminhos de código para evitar deadlock.
- Rodar
EXPLAIN (ANALYZE, BUFFERS)somente em ambiente onde executar a consulta de verdade é seguro (não em produção semROLLBACK/replica). - Aplicar expand/contract em mudança de schema incompatível ou em tabela de alto volume: nunca renomear/remover coluna lida em produção no mesmo passo que a adiciona.
- Conceder o menor privilégio necessário e separar papéis de migration
(DDL), aplicação (DML) e leitura (
SELECTapenas) — a aplicação nunca conecta com um role que podeDROP TABLE.
Antipadrões
- Índice criado por "essa coluna aparece no WHERE", ignorando seletividade — em coluna de baixa cardinalidade (booleano, status com poucos valores) o planner frequentemente prefere seq scan e o índice só custa em escrita.
ALTER TABLE ... ADD COLUMN ... NOT NULL DEFAULTem versão antiga do Postgres (< 11) reescrevendo a tabela inteira sob lock — em versões atuais isso é otimizado paraDEFAULTconstante, masDEFAULTcom função volátil ainda reescreve.- Transação longa mantendo lock enquanto espera resposta de rede ou confirmação do usuário — bloqueia autovacuum de limpar tuplas mortas e aumenta bloat.
- Paginação por
OFFSETgrande em tabela que cresce — custo cresce linearmente com o offset; preferir paginação por keyset (WHERE id > :cursor ORDER BY id LIMIT :n). - Backup automatizado nunca restaurado — "temos backup" sem um restore completo testado é uma suposição não verificada, não uma garantia.
Validação
- Testar integridade (constraints violadas geram erro esperado), concorrência (dois writers simultâneos não corrompem invariante) e as queries críticas do caminho quente.
- Comparar
EXPLAIN (ANALYZE, BUFFERS)antes/depois com cardinalidade realista, não com a tabela vazia do ambiente de desenvolvimento. - Estimar o lock e o tempo de rewrite de qualquer DDL contra o tamanho real da tabela em produção antes de agendar a janela de deploy.
- Conferir cada tarefa
[MIGRATION]pelo arquivo, pelo comando de aplicação e pela consulta do histórico do migrador, todos registrados com saída zero. - Provar restore periodicamente a partir do backup real, incluindo o tempo que o processo leva (RTO) — backup sem restore testado não é uma garantia de recuperação.
- Não declarar uma mudança "sem impacto de performance" sem o plano comparado; não declarar um schema "íntegro" sem os testes de constraint e concorrência acima.
Skills relacionadas
$specsfy-specialist-data-modelingpara entidades, relações e ciclo de vida antes dos detalhes específicos do Postgres.$specsfy-specialist-application-securitydefine ameaça, autorização e isolamento que constraints, roles e RLS materializam no banco.$specsfy-specialist-supabasequando o Postgres for gerenciado por Supabase (RLS, Auth, Realtime, pooling específico).$specsfy-specialist-laravelquando o ponto de entrada for Eloquent e a correção precisar refletir em migration/model.$specsfy-specialist-performance-engineeringquando o gargalo não se resolver só com índice/plano (rede, cache, aplicação).$specsfy-specialist-observabilitypara métricas e alertas de banco em produção (conexões, locks, replicação, lag).$specsfy-specialist-redisquando parte do estado consultado estiver em cache fora do banco — o Postgres continua sendo a fonte de verdade que o Redis nunca substitui.$specsfy-specialist-dockerpara empacotar e operar o servidor Postgres em container (imagem oficial, volume de dados, healthcheck) — decisão de schema, índice e plano continuam aqui.
Leia references/standards.md para tipos, índices, concorrência, segurança, migrations, operação e fontes oficiais.
FAQ
What does the specsfy-specialist-postgres skill do?
Modelar, consultar, migrar e operar PostgreSQL com integridade, índices, concorrência, segurança, performance e recuperação. Use para schemas, SQL, EXPLAIN, locks, isolation levels, migrations, roles, backup ou tuning em Postgres; não use para outro banco relacional sem confirmar a semântica específica, e não use para RLS/Auth/Realtime de Supabase — combine com specsfy-specialist-supabase nesse caso.
How do I install specsfy-specialist-postgres?
Run npx skills add https://github.com/promovaweb/specsfy --skill specsfy-specialist-postgres in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/specsfy-specialist-postgres/ (personal) or .claude/skills/specsfy-specialist-postgres/ (project).
Which AI agents can use specsfy-specialist-postgres?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is specsfy-specialist-postgres safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains specsfy-specialist-postgres?
It is published by promovaweb in promovaweb/specsfy. It has 263 recorded installs.
More from promovaweb/specsfy
specsfy-aux-stack
promovaweb/specsfy
Monitorar manifests e arquivos estruturais para criar ou atualizar .specsfy/STACK.md de forma aditiva. Use quando o monitor de contexto apontar stack pendente; quando framework, linguagem, runtime, pacote estrutural, ferramenta de teste ou persistência mudar; quando a documentação técnica estiver incompleta; ou após adicionar Laravel, Next.js, Astro ou dependências relevantes. Preserva conteúdo humano existente.
specsfy-specialist-data-modeling
promovaweb/specsfy
Modelar dados, entidades, relações, ciclos de vida, qualidade e contratos persistentes antes de implementar mudanças.
specsfy-specialist-software-architecture
promovaweb/specsfy
Analisar e evoluir arquitetura com boundaries, dependências, atributos de qualidade, integrações, ADRs, migração e trade-offs. Use para modularização, coupling, escalabilidade, resiliência ou decisões difíceis de reverter; não use para renomeação local sem impacto estrutural.
specsfy-specialist-domain-modeling
promovaweb/specsfy
Descobrir e refinar linguagem de domínio, invariantes, eventos, aggregates e boundaries a partir de cenários concretos. Use quando termos, regras ou ownership estiverem ambíguos ou uma decisão de modelo for necessária; não criar documentação paralela à fonte autorizada.
specsfy-specialist-reui
promovaweb/specsfy
Criar interfaces React e Tailwind CSS com os componentes gratuitos do ReUI. Use em projetos com React, Tailwind CSS e shadcn/ui, incluindo Laravel com Inertia; não use itens premium nem introduza ReUI sem confirmar a stack.
specsfy-setup
promovaweb/specsfy
Preparar e monitorar os contextos do projeto, incluindo a constituição e as specs preservadas de projetos com GitHub Spec Kit.
Popular data & databases skills
supabase-postgres-best-practices
supabase/agent-skills
Postgres best practices maintained by Supabase, for Postgres running anywhere. Load this skill BEFORE writing or changing anything that lives in a Postgres database: creating or altering tables and columns (including choosing column types), schema design, migrations and declarative schema files, RLS policies and the tests that verify them, indexes, triggers, database functions, queues and scheduled jobs (pgcron, pgmq), vector/semantic search (pgvector), and restoring dumps (pgrestore) or importing data. Also load it when diagnosing slow queries, high CPU, timeouts, EXPLAIN plans, connection exhaustion, locking, bloat, or rows visible to the wrong user or tenant. This is not just a performance guide — schema, migration, security, and SQL authoring tasks need these rules too, even for a one-column change or a single query.
prisma-client-api
prisma/skills
Prisma Client API reference covering model queries, filters, operators, and client methods. Use when writing database queries, using CRUD operations, filtering data, or configuring Prisma Client. Triggers on "prisma query", "findMany", "create", "update", "delete", "$transaction".
prisma-database-setup
prisma/skills
Deprecated compatibility name for prisma-orm-setup. Use only when a user or existing integration explicitly invokes prisma-database-setup; otherwise select prisma-orm-setup.
prisma-cli
prisma/skills
Prisma ORM 7 CLI reference for existing Prisma 7 applications or explicitly selected Prisma 7 workflows. Covers prisma init, generate, migrate, db, dev, studio, and mcp. For setup, connection repair, or Prisma 8, use prisma-orm-setup; not the Prisma Platform CLI.
prisma-postgres
prisma/skills
Deprecated compatibility name for prisma-postgres-setup. Use only when a user or existing integration explicitly invokes prisma-postgres; otherwise select prisma-postgres-setup.
prisma-driver-adapter-implementation
prisma/skills
Required reference for Prisma ORM 7 SQL driver adapter work. Use when implementing or modifying adapters, adding database drivers, or touching SqlDriverAdapter, Transaction, savepoint, result mapping, or DriverAdapterError behavior. Covers current transaction lifecycle, optional savepoint hooks, original database-error preservation, and verification.