用途:作为 PostgreSQL 专项技能,利用其类型系统、索引种类与扩展生态进行开发与调优,而非把它当作通用 SQL 数据库;跨数据库调优建议使用同系列的 sql-optimization 技能。
主要能力与原则:优化前先测量,查询用 EXPLAIN (ANALYZE, BUFFERS),整体负载用 pg_stat_statements;按数据类型匹配索引,标量用 B-tree,JSONB/数组/tsvector 用 GIN,范围与几何用 GiST;查询 JSONB 与数组时使用可走索引的运算符(@>、?、&&),避免在大表上做文本转换或 ANY();优先使用 PostgreSQL 原生建模,如用 ENUM 和 domain 替代自由 VARCHAR、用 TIMESTAMPTZ 替代 TIMESTAMP、用带 EXCLUDE 约束的范围类型替代应用层重叠检查;分页使用游标(keyset)而非大 OFFSET,用窗口函数替代相关子查询;保持规划器准确,定期 VACUUM/ANALYZE,对大表分区,并用 pgbouncer 做连接池。
使用方式:参考资料按需加载(渐进式披露),仅在任务需要相应深度时读取。references/advanced-data-types.md 涉及 JSONB、数组、自定义类型与 domain、范围类型(含 EXCLUDE 约束)、几何类型及各自所需的 GIN/GiST 索引,适合建模或查询这些类型时阅读;references/query-performance.md 涉及基于 EXPLAIN 的分析、索引策略(复合、部分、表达式、覆盖)、窗口函数、递归 CTE、全文检索、分页与聚合模式,适合查询变慢或设计索引时阅读;references/extensions-monitoring.md 涉及扩展生态(uuid-ossp、pgcrypto、pg_trgm 等)、慢查询/索引使用/容量监控、连接与内存管理、日常维护,适合选择扩展或运维实例时阅读。
适用场景:编写或调优 PostgreSQL 查询、设计 schema 与索引、使用 JSONB/数组/范围类型、全文检索、窗口函数与扩展选型。
限制:资料未提供具体安装命令、版本要求、收费信息或性能基准,相关细节暂未提供。