用途:面向 PostgreSQL 15、16、17 编写或审查代码时,查询某功能、GUC 或语法最早在哪个大版本可用,并用于跨版本迁移。三个版本当前均受支持(v15 EOL 2027-11、v16 EOL 2028-11、v17 EOL 2029-11)。
主要能力:提供三步判断流程——确定目标大版本;在矩阵中查找特性,若三个版本都有则无需标注,v16 引入标 v16+,仅 v17 有则标 v17+;若目标版本不支持则改用 references/methods.md 中的回退写法。覆盖特性如 MERGE RETURNING、JSON_TABLE、transaction_timeout、增量备份、pg_createsubscriber,并给出运行时版本检测、可移植 UPSERT、安全视图、public schema 锁定、standby 逻辑复制、COPY DEFAULT 等模式。
必要用法:用 SHOW server_version_num; 或 current_setting('server_version_num')::int >= 170000 判断版本,不要解析 version() 字符串。可移植 UPSERT 用 INSERT ... ON CONFLICT ... DO UPDATE ... RETURNING。v17 增量备份需先开启 summarize_wal,并先执行 pg_basebackup --incremental=...,恢复前用 pg_combinebackup 合并。
限制:不适用于 v15 之前版本、未正式发布的 v18+,也不负责第三方扩展(pgvector、PostGIS、pg_partman)的版本映射。以上为资料所载,具体环境行为与完整清单暂未提供。