用途
PostgreSQL Pro 是一个面向 PostgreSQL 的高级技能,定位为资深 PostgreSQL 专家,专注于数据库管理、性能优化与高级 PostgreSQL 特性。适合在需要深入处理 PostgreSQL 性能、复制、JSONB、扩展与日常维护的任务中使用。
主要能力
根据技能文档,其覆盖的典型使用场景包括:
- 使用 EXPLAIN 分析与优化慢查询
- 实现 JSONB 存储与索引策略
- 搭建流复制或逻辑复制
- 配置和使用 PostgreSQL 扩展
- 调优 VACUUM、ANALYZE 与 autovacuum
- 通过 pg_stat 视图监控数据库健康状况
- 为最佳性能设计索引
技能参考指南按主题划分:性能(EXPLAIN ANALYZE、索引、统计信息、查询调优)、JSONB(操作符、索引、GIN 索引、包含查询)、扩展(PostGIS、pg_trgm、pgvector、uuid-ossp、pg_stat_statements)、复制(流复制、逻辑复制、故障转移)、维护(VACUUM、ANALYZE、pg_stat 视图、监控、膨胀)。
使用方式
技能文档给出了一套核心工作流:
- 分析性能——运行
EXPLAIN (ANALYZE, BUFFERS)识别瓶颈 - 设计索引——根据工作负载选择 B-tree、GIN、GiST 或 BRIN;部署前用
EXPLAIN验证 - 优化查询——重写低效查询,运行
ANALYZE刷新统计信息 - 搭建复制——按需求选择流复制或逻辑复制;持续监控延迟
- 监控与维护——通过
pg_stat视图跟踪 VACUUM、膨胀和 autovacuum;每次变更后验证改进效果
文档还提供了端到端示例(慢查询 → 修复 → 验证),步骤包括:通过 pg_stat_statements 识别慢查询、使用 EXPLAIN (ANALYZE, BUFFERS, FORMAT TEXT) 分析具体慢查询、创建针对性索引(示例使用 CREATE INDEX CONCURRENTLY 与部分索引)、再次用 EXPLAIN 验证索引被使用、必要时在批量变更后运行 ANALYZE。
常见模式示例包括:JSONB 的 GIN 索引与包含查询(CREATE INDEX ... USING GIN、payload @> '{"type": "login", "success": true}'、payload->>'user_id')、VACUUM 与膨胀监控(查询 pg_stat_user_tables 中死元组比例,手动执行 VACUUM (ANALYZE, VERBOSE))、复制延迟监控(在 primary 上查询 pg_stat_replication 并计算 sent_lsn - replay_lsn)。
技能文档还规定了输出模板:提供查询及其 EXPLAIN (ANALYZE, BUFFERS) 输出与解读、索引定义及理由与前后验证、配置变更及前后取值、用于持续健康检查的监控查询、以及性能影响的简要说明。
适用场景
适用于需要 PostgreSQL 高级管理能力的场景,例如慢查询排查与优化、JSONB 字段的索引与查询设计、复制方案搭建与延迟监控、扩展选型与配置、VACUUM 与 autovacuum 调优,以及数据库健康监控。
限制与约束
技能文档列出了必须做与禁止做的约束。
必须做:使用 EXPLAIN (ANALYZE, BUFFERS) 进行查询优化;创建索引前后用 EXPLAIN 验证索引确实被使用;生产环境使用 CREATE INDEX CONCURRENTLY 避免表锁;批量数据变更后运行 ANALYZE 刷新统计信息;监控 autovacuum,针对高变更表调优 autovacuum_vacuum_scale_factor;使用连接池(pgBouncer、pgPool);通过 pg_stat_replication 监控复制延迟;使用预处理语句防止 SQL 注入;UUID 使用 uuid 类型而非 text。
禁止做:全局禁用 autovacuum;未先分析查询模式就创建索引;生产查询中使用 SELECT *;忽略复制延迟告警;在高变更表上跳过 VACUUM;在数据库中存储大型 BLOB(应使用对象存储);未验证计划器是否使用索引就部署索引变更。
技能文档声明的知识参考范围包括 PostgreSQL 12-16、EXPLAIN ANALYZE、B-tree/GIN/GiST/BRIN 索引、JSONB 操作符、流复制、逻辑复制、VACUUM/ANALYZE、pg_stat 视图、PostGIS、pgvector、pg_trgm、WAL 归档与 PITR。
该技能引用了作者声明中的上游文档(来源为 jeffallan/claude-skills 的 postgres-pro 技能,修订版本 3bf9a24b76a7c122f1fc05e83929fbc84e1c207a,MIT 许可,作者 Jeffallan)。技能本身的安装方式、收费与价格信息暂未提供。
引用文档
以下为作者声明的引用来源,保留指定版本、署名和许可。
- jeffallan/claude-skills/skills/postgres-pro/SKILL.md — 署名:Jeffallan;许可:MIT;版本:
3bf9a24b76a7c122f1fc05e83929fbc84e1c207a。