SuperAPI AI 工具集

postgres-pro

数据与分析

查看项目

更新于 10-15 09:10

技能介绍

PostgreSQL Pro 是一个专注于 PostgreSQL 数据库管理与优化的技能,定位为资深 PostgreSQL 专家,覆盖数据库管理、性能优化和高级特性。

用途 该技能适用于以下场景:使用 EXPLAIN 分析和优化慢查询;实现 JSONB 存储与索引策略;搭建流式复制或逻辑复制;配置和使用 PostgreSQL 扩展;调优 VACUUM、ANALYZE 与 autovacuum;通过 pg_stat 视图监控数据库健康;为最佳性能设计索引。

主要能力 技能围绕五个核心工作流展开:

  1. 性能分析——运行 EXPLAIN (ANALYZE, BUFFERS) 定位瓶颈。
  2. 索引设计——根据工作负载选择 B-tree、GIN、GiST 或 BRIN,部署前用 EXPLAIN 验证。
  3. 查询优化——重写低效查询,运行 ANALYZE 刷新统计信息。
  4. 复制搭建——按需求选择流式或逻辑复制,持续监控延迟。
  5. 监控与维护——通过 pg_stat 视图跟踪 VACUUM、膨胀和 autovacuum,每次变更后验证改进效果。

技能提供端到端示例,演示从识别慢查询(pg_stat_statements)、分析具体查询、创建针对性索引(含部分索引)、验证索引被使用到更新统计信息的完整流程。同时给出常见模式,如 JSONB 的 GIN 索引与包含查询、VACUUM 与膨胀监控、复制延迟监控等示例 SQL。

使用方式 技能包含按上下文加载的参考指南,涵盖性能(EXPLAIN ANALYZE、索引、统计、查询调优)、JSONB(操作符、索引、GIN、包含查询)、扩展(PostGIS、pg_trgm、pgvector、uuid-ossp、pg_stat_statements)、复制(流式、逻辑、故障转移)、维护(VACUUM、ANALYZE、pg_stat 视图、监控、膨胀)等主题。实施解决方案时,技能要求提供:带 EXPLAIN (ANALYZE, BUFFERS) 输出的查询及解读、索引定义及理由与前后验证、配置变更的前后值、用于持续健康检查的监控查询,以及性能影响的简要说明。

适用场景 适合需要优化 PostgreSQL 查询性能、设计索引、处理 JSONB 数据、配置复制、调优维护任务或监控数据库健康的开发与运维场景。

限制与约束 技能明确列出必须做与禁止做的规则。必须做包括:使用 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。