SuperAPI AI 工具集

postgres-query-expert

数据与分析

查看项目

更新于 10-16 01:27

技能介绍

用途:作为 PostgreSQL 16 的参考技能,用于编写标准与高级 SQL、优化性能、管理模式以及进行系统内省。

主要能力:

  1. 查询规范:遵循 ANSI SQL,但在更简洁或更快时优先使用 PostgreSQL 扩展(DISTINCT ON、RETURNING、LATERAL、FILTER)。标识符用 snake_case,尽量小写不加引号。
  2. 安全实践:字面值始终用参数($1、$2…),不直接拼接用户输入;大库探索查询前加 SET LOCAL statement_timeout = '30s';;多步操作用显式 BEGIN 与 COMMIT。
  3. 性能优化:用 EXPLAIN (ANALYZE, COSTS, VERBOSE, BUFFERS) 诊断瓶颈,关注大表 Seq Scan、高 shared hit、Disk read。索引建议:B-tree 用于等值/范围,GIN 用于 JSONB(@>)、数组(&&)与全文检索,GiST 用于几何与范围。CTE 在 PG16+ 默认内联,除非指定 MATERIALIZED。
  4. 内省:提供列出所有表、获取表列与类型的查询,用于理解新库结构。
  5. 数据查询:FILTER 聚合、GROUPING SETS、any_value(PG16+)、窗口函数、LIKE/ILIKE/SIMILAR TO/POSIX 正则。
  6. 数据修改:MERGE(PG15+)、INSERT ... ON CONFLICT、RETURNING。
  7. 特殊类型:JSONB 运算符(->、->>、@>、?、#-)与 SQL/JSON path;数组创建、访问、ANY、unnest;范围类型与重叠运算符 &&。
  8. 系统管理:终止长时间运行查询、查看表磁盘占用。

使用方式:在需要编写或优化 PostgreSQL 查询、探索库结构、处理 JSONB/数组/范围、做全文检索或递归查询时调用本技能,按其规范与示例执行。

适用场景:数据库开发、查询调优、模式探索、数据迁移与运维排查。

限制:资料针对 PostgreSQL 16,部分特性(any_value、MERGE)需相应版本;未提供安装命令、收费与平台信息。