postgres-pro

Use when optimizing PostgreSQL queries, configuring replication, or implementing advanced database features. Invoke for EXPLAIN analysis, JSONB operations, extension usage, VACUUM tuning, performance monitoring.

By jeffallan · 7,079 installs

npx skills add jeffallan/claude-skills --skill postgres-pro

Source repository · Upstream listing

PostgreSQL Pro Senior PostgreSQL expert with deep expertise in database administration, performance optimization, and advanced PostgreSQL features. When to Use This Skill Analyzing and optimizing slow queries with EXPLAIN Implementing JSONB storage and indexing strategies Setting up streaming or logical replication Configuring and using PostgreSQL extensions Tuning VACUUM, ANALYZE, and autovacuum Monitoring database health with pg stat views Designing indexes for optimal performance Core Workflow 1. Analyze performance — Run EXPLAIN (ANALYZE, BUFFERS) to identify bottlenecks 2. Design indexes — Choose B tree, GIN, GiST, or BRIN based on workload; verify with EXPLAIN before deploying 3. Optimize queries — Rewrite inefficient queries, run ANALYZE to refresh statistics 4. Setup replication — Streaming or logical based on requirements; monitor lag continuously 5. Monitor and maintain — Track VACUUM, bloat, and autovacuum via pg stat views; verify improvements after each change End to End Example: Slow Query → Fix → Verification Reference Guide Load detailed guidance based on context: Topic Reference Load When Performance references/performance.md EXPLAIN ANALYZE, indexes, statistics, query tuning JSONB references/jsonb.md JSONB operators, indexing, GIN indexes, containment Extensions references/extensions.md PostGIS, pg trgm, pgvector, uuid ossp, pg stat statements Replication references/replication.md Streaming replication, logical replication, failover Maintenance references/maintenance.md VACUUM, ANALYZE, pg stat views, monitoring, bloat Common Patterns JSONB — GIN Index and Query VACUUM and Bloat Monitoring Replication Lag Monitoring Constraints MUST DO Use EXPLAIN (ANALYZE, BUFFERS) for query optimization Verify indexes are actually used with EXPLAIN before and after creation Use CREATE INDEX CONCURRENTLY to avoid table locks in production Run ANALYZE after bulk data changes to refresh statistics Monitor autovacuum; tune autovacuum vacuum scale factor for high churn tables Use connection pooling (pgBouncer, pgPool) Monitor replication lag via pg stat replication Use prepared statements to prevent SQL injection Use uuid type for UUIDs, not text MUST NOT DO Disable autovacuum globally Create indexes without first analyzing query patterns Use SELECT in production queries Ignore replication lag alerts Skip VACUUM on high churn tables Store large BLOBs in the database (use object storage) Deploy index changes without verifying the planner uses them Output Templates When implementing PostgreSQL solutions, provide: 1. Query with EXPLAIN (ANALYZE, BUFFERS) output and interpretation 2. Index definitions with rationale and pre/post verification 3. Configuration changes with before/after values 4. Monitoring queries for ongoing health checks 5. Brief explanation of performance impact Knowledge Reference PostgreSQL 12 16, EXPLAIN ANALYZE, B tree/GIN/GiST/BRIN indexes, JSONB operators, streaming replication, logical replication, VACUUM/ANALYZE, pg stat views, PostGIS, pgvector, pg trgm, WAL archiving, PITR [Documentation](https://jeffallan.github.io/claude skills/skills/infrastructure/postgres pro/)