本文へ移動
cccskills
無料GitHub で公開

postgres-dba

Diagnóstico e tuning de PostgreSQL — EXPLAIN ANALYZE, índice, VACUUM, bloat, lock, replicação, WAL, PITR e particionamento. Use quando o usuário disser "postgres", "query lenta", "índice", "EXPLAIN", "vacuum", "lock", "deadlock", "replicação", "conexões", "banco lento".

インストール方法を見る

含まれるファイル(1)

  • SKILL.md3.3 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

PostgreSQL DBA

Você diagnostica banco. Toda alteração de schema em produção é potencialmente destrutiva — trate como tal.

Portão de segurança

SELECT, EXPLAIN, \d, pg_stat_* rodam livres. CREATE INDEX, ALTER, VACUUM FULL, REINDEX exigem confirmação. DROP, TRUNCATE, DELETE sem WHERE são destrutivos.

VACUUM FULL e REINDEX travam a tabela. ALTER TABLE em tabela grande pode travar por minutos. Em produção, sempre a variante CONCURRENTLY e sempre em janela.

Query lenta

-- 1. quem consome
SELECT query, calls, mean_exec_time, total_exec_time
FROM pg_stat_statements ORDER BY total_exec_time DESC LIMIT 20;

-- 2. o plano real
EXPLAIN (ANALYZE, BUFFERS) SELECT ...;

EXPLAIN sozinho mostra o plano estimado. ANALYZE executa e mostra o real. A diferença entre rows estimado e real é o que denuncia estatística desatualizada.

No planoSignifica
Seq Scan em tabela grandefalta índice, ou o índice não serve
estimado ≪ realestatística velha → ANALYZE tabela
Nested Loop com muitas linhasfalta índice no lado interno
Sort com diskwork_mem baixo
Filter removendo muita linhaíndice parcial ajudaria

Índice

-- em produção, SEMPRE concurrently
CREATE INDEX CONCURRENTLY idx_x ON t (col);

-- índices nunca usados
SELECT relname, indexrelname, idx_scan FROM pg_stat_user_indexes
WHERE idx_scan = 0 ORDER BY pg_relation_size(indexrelid) DESC;

Índice não usado custa em toda escrita. Antes de remover, confirme que a estatística cobre um ciclo completo — relatório mensal não aparece em 7 dias.

Bloat e VACUUM

SELECT relname, n_dead_tup, last_autovacuum
FROM pg_stat_user_tables ORDER BY n_dead_tup DESC LIMIT 20;

Autovacuum não dá conta: ajuste autovacuum_vacuum_scale_factor na tabela. VACUUM FULL é último recurso — trava.

Lock

SELECT blocked.pid, blocked.query, blocking.pid, blocking.query
FROM pg_stat_activity blocked
JOIN pg_stat_activity blocking ON blocking.pid = ANY(pg_blocking_pids(blocked.pid))
WHERE cardinality(pg_blocking_pids(blocked.pid)) > 0;

Conexões

SELECT count(*), state FROM pg_stat_activity GROUP BY state;
SHOW max_connections;

Muitas idle in transaction: bug de aplicação que não faz commit. Aumentar max_connections não resolve — use pooler (PgBouncer) e corrija a app.

Anti-padrões

  • CREATE INDEX sem CONCURRENTLY em produção
  • max_connections alto em vez de pooler
  • Backup nunca testado com restore
  • VACUUM FULL em horário de pico
  • DELETE em massa sem lote — inflaciona WAL e trava

Limites

  • Não roda DDL em produção sem confirmação e janela
  • Não faz DROP nem TRUNCATE — entrega o comando
  • Não altera parâmetro que exija restart sem avisar do downtime
  • psql ausente hoje: modo consultivo

Skills relacionadas

backup-dr · performance-engineer · observability · laravel-platform

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

Accessibility auditing and remediation skill for Vue 3 + Reka UI. Use when reviewing components, verifying WCAG 2.1 AA, fixing ARIA issues, or validating keyboard navigation in Reka UI components.

日本語の概要は準備中です。原文の説明を表示しています。

pwdev-solucoes/pwdev-claude-marketplace32026年9月28日 更新

ai-infra

無料

Infraestrutura para IA — GPU, servidores MCP, gateway de LLM, pipeline de inferência, custo de token, cache semântico e observabilidade de modelo. Use quando o usuário disser "GPU", "MCP server", "LLM", "inferência", "modelo", "gateway de IA", "custo de token", "rate limit da API de IA", "self-host de modelo".

日本語の概要は準備中です。原文の説明を表示しています。

pwdev-solucoes/pwdev-claude-marketplace32026年9月28日 更新

alt-text

無料

Escreve texto alternativo e descrição de imagem para peças de rede social. Use quando o usuário disser "alt text", "texto alternativo", "descrição da imagem", "acessibilidade da peça", "descrever para leitor de tela", ou automaticamente antes de qualquer publicação. Obrigatório em todas as peças — em carrossel, um por slide.

日本語の概要は準備中です。原文の説明を表示しています。

pwdev-solucoes/pwdev-claude-marketplace32026年9月28日 更新

Organiza, compara e seleciona entre as variações geradas, e publica a grade de comparação como Artifact para aprovação do time. Use quando o usuário disser "qual dessas", "comparar as variações", "escolher a melhor", "mostrar as opções", "montar grade de aprovação", ou após qualquer lote de geração. Selecionar é trabalho, não detalhe.

日本語の概要は準備中です。原文の説明を表示しています。

pwdev-solucoes/pwdev-claude-marketplace32026年9月28日 更新

Aumenta resolução e qualidade de imagem via Freepik/Magnific, ou orienta o processo manual quando não há chave. Use quando o usuário disser "upscale", "melhorar a resolução", "a imagem está pixelada", "Magnific", "Freepik", "aumentar a imagem", "imagem pequena demais". Gasta crédito — exige confirmação.

日本語の概要は準備中です。原文の説明を表示しています。

pwdev-solucoes/pwdev-claude-marketplace32026年9月28日 更新

CI/CD e automação — GitHub Actions, Terraform, OpenTofu, Ansible, n8n. Use quando o usuário disser "pipeline", "CI/CD", "GitHub Actions", "workflow", "terraform", "ansible", "n8n", "automatizar", "deploy automático", "IaC".

日本語の概要は準備中です。原文の説明を表示しています。

pwdev-solucoes/pwdev-claude-marketplace32026年9月28日 更新

pwdev-solucoes のスキルをすべて見る

このスキルの問題を報告する