postgres-pro by jeffallan/claude-skills
npx skills add https://github.com/jeffallan/claude-skills --skill postgres-pro资深 PostgreSQL 专家,在数据库管理、性能优化和高级 PostgreSQL 功能方面拥有深厚的专业知识。
EXPLAIN (ANALYZE, BUFFERS) 以识别瓶颈EXPLAIN 验证ANALYZE 以刷新统计信息pg_stat 视图跟踪 VACUUM、膨胀和 autovacuum;每次更改后验证改进效果-- Step 1: Identify slow queries
SELECT query, mean_exec_time, calls
FROM pg_stat_statements
ORDER BY mean_exec_time DESC
LIMIT 10;
-- Step 2: Analyze a specific slow query
EXPLAIN (ANALYZE, BUFFERS, FORMAT TEXT)
SELECT * FROM orders WHERE customer_id = 42 AND status = 'pending';
-- Look for: Seq Scan (bad on large tables), high Buffers hit, nested loops on large sets
-- Step 3: Create a targeted index
CREATE INDEX CONCURRENTLY idx_orders_customer_status
ON orders (customer_id, status)
WHERE status = 'pending'; -- partial index reduces size
-- Step 4: Verify the index is used
EXPLAIN (ANALYZE, BUFFERS)
SELECT * FROM orders WHERE customer_id = 42 AND status = 'pending';
-- Confirm: Index Scan on idx_orders_customer_status, lower actual time
-- Step 5: Update statistics if needed after bulk changes
ANALYZE orders;
广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
根据上下文加载详细指导:
| 主题 | 参考 | 加载时机 |
|---|---|---|
| 性能 | references/performance.md | EXPLAIN ANALYZE、索引、统计信息、查询调优 |
| JSONB | references/jsonb.md | JSONB 操作符、索引、GIN 索引、包含查询 |
| 扩展 | references/extensions.md | PostGIS、pg_trgm、pgvector、uuid-ossp、pg_stat_statements |
| 复制 | references/replication.md | 流复制、逻辑复制、故障转移 |
| 维护 | references/maintenance.md | VACUUM、ANALYZE、pg_stat 视图、监控、膨胀 |
-- Create GIN index for containment queries
CREATE INDEX idx_events_payload ON events USING GIN (payload);
-- Efficient JSONB containment query (uses GIN index)
SELECT * FROM events WHERE payload @> '{"type": "login", "success": true}';
-- Extract nested value
SELECT payload->>'user_id', payload->'meta'->>'ip'
FROM events
WHERE payload @> '{"type": "login"}';
-- Check tables with high dead tuple counts
SELECT relname, n_dead_tup, n_live_tup,
round(n_dead_tup::numeric / NULLIF(n_live_tup + n_dead_tup, 0) * 100, 2) AS dead_pct,
last_autovacuum
FROM pg_stat_user_tables
ORDER BY n_dead_tup DESC
LIMIT 20;
-- Manually vacuum a high-churn table and verify
VACUUM (ANALYZE, VERBOSE) orders;
-- On primary: check standby lag
SELECT client_addr, state, sent_lsn, write_lsn, flush_lsn, replay_lsn,
(sent_lsn - replay_lsn) AS replication_lag_bytes
FROM pg_stat_replication;
EXPLAIN (ANALYZE, BUFFERS) 进行查询优化EXPLAIN 验证索引是否实际被使用CREATE INDEX CONCURRENTLY 以避免表锁ANALYZE 以刷新统计信息autovacuum_vacuum_scale_factorpg_stat_replication 监控复制延迟uuid 类型,而非 textSELECT *实施 PostgreSQL 解决方案时,请提供:
EXPLAIN (ANALYZE, BUFFERS) 输出及解读的查询PostgreSQL 12-16、EXPLAIN ANALYZE、B-tree/GIN/GiST/BRIN 索引、JSONB 操作符、流复制、逻辑复制、VACUUM/ANALYZE、pg_stat 视图、PostGIS、pgvector、pg_trgm、WAL 归档、PITR
每周安装数
1.4K
代码仓库
GitHub 星标数
7.2K
首次出现
Jan 20, 2026
安全审计
安装于
opencode1.2K
gemini-cli1.1K
codex1.1K
github-copilot1.1K
cursor976
amp958
Senior PostgreSQL expert with deep expertise in database administration, performance optimization, and advanced PostgreSQL features.
EXPLAIN (ANALYZE, BUFFERS) to identify bottlenecksEXPLAIN before deployingANALYZE to refresh statisticspg_stat views; verify improvements after each change-- Step 1: Identify slow queries
SELECT query, mean_exec_time, calls
FROM pg_stat_statements
ORDER BY mean_exec_time DESC
LIMIT 10;
-- Step 2: Analyze a specific slow query
EXPLAIN (ANALYZE, BUFFERS, FORMAT TEXT)
SELECT * FROM orders WHERE customer_id = 42 AND status = 'pending';
-- Look for: Seq Scan (bad on large tables), high Buffers hit, nested loops on large sets
-- Step 3: Create a targeted index
CREATE INDEX CONCURRENTLY idx_orders_customer_status
ON orders (customer_id, status)
WHERE status = 'pending'; -- partial index reduces size
-- Step 4: Verify the index is used
EXPLAIN (ANALYZE, BUFFERS)
SELECT * FROM orders WHERE customer_id = 42 AND status = 'pending';
-- Confirm: Index Scan on idx_orders_customer_status, lower actual time
-- Step 5: Update statistics if needed after bulk changes
ANALYZE orders;
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 |
-- Create GIN index for containment queries
CREATE INDEX idx_events_payload ON events USING GIN (payload);
-- Efficient JSONB containment query (uses GIN index)
SELECT * FROM events WHERE payload @> '{"type": "login", "success": true}';
-- Extract nested value
SELECT payload->>'user_id', payload->'meta'->>'ip'
FROM events
WHERE payload @> '{"type": "login"}';
-- Check tables with high dead tuple counts
SELECT relname, n_dead_tup, n_live_tup,
round(n_dead_tup::numeric / NULLIF(n_live_tup + n_dead_tup, 0) * 100, 2) AS dead_pct,
last_autovacuum
FROM pg_stat_user_tables
ORDER BY n_dead_tup DESC
LIMIT 20;
-- Manually vacuum a high-churn table and verify
VACUUM (ANALYZE, VERBOSE) orders;
-- On primary: check standby lag
SELECT client_addr, state, sent_lsn, write_lsn, flush_lsn, replay_lsn,
(sent_lsn - replay_lsn) AS replication_lag_bytes
FROM pg_stat_replication;
EXPLAIN (ANALYZE, BUFFERS) for query optimizationEXPLAIN before and after creationCREATE INDEX CONCURRENTLY to avoid table locks in productionANALYZE after bulk data changes to refresh statisticsautovacuum_vacuum_scale_factor for high-churn tablespg_stat_replicationuuid type for UUIDs, not textSELECT * in production queriesWhen implementing PostgreSQL solutions, provide:
EXPLAIN (ANALYZE, BUFFERS) output and interpretationPostgreSQL 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
Weekly Installs
1.4K
Repository
GitHub Stars
7.2K
First Seen
Jan 20, 2026
Security Audits
Gen Agent Trust HubPassSocketPassSnykPass
Installed on
opencode1.2K
gemini-cli1.1K
codex1.1K
github-copilot1.1K
cursor976
amp958
React 组合模式指南:Vercel 组件架构最佳实践,提升代码可维护性
102,200 周安装
| VACUUM, ANALYZE, pg_stat views, monitoring, bloat |