pg_extension_update_paths() 是一个用于检索 扩展 版本之间可用更新路径的系统函数。
pg_extension_update_paths() 在 PostgreSQL 9.1 中添加。
用法
pg_extension_update_paths (namename, OUTsourcetext, OUTtargettext, OUTpathtext) → SETOFrecord
输出显示了扩展版本的每种组合,以及在使用 ALTER EXTENSION ... UPDATE 来从一个扩展版本升级到另一个版本时将执行的扩展脚本组合。有关更多详细信息,请参阅 示例 部分。
请注意,理论上扩展降级也支持,但实际上这种情况很少见。
变更历史
- PostgreSQL 9.1
- 添加于 (提交 555353c0)
示例
pg_extension_update_paths() 的用法示例
postgres=# SELECT * FROM pg_extension_update_paths('pg_stat_statements')
WHERE source='1.3'
ORDER BY target;
source | target | path
--------+------------+-------------------------
1.3 | 1.0 |
1.3 | 1.1 |
1.3 | 1.2 |
1.3 | 1.4 | 1.3--1.4
1.3 | 1.5 | 1.3--1.4--1.5
1.3 | 1.6 | 1.3--1.4--1.5--1.6
1.3 | 1.7 | 1.3--1.4--1.5--1.6--1.7
1.3 | unpackaged |
(8 rows)
输出列出了可用的 pg_stat_statements 版本,以及从 source 版本(此处为 1.3)升级到目标版本时将执行的扩展脚本组合。当路径为空(NULL)时,无法升级。从示例输出可以看出,无法将 pg_stat_statements 降级到较低版本。
参考资料
- PostgreSQL 文档: 将相关对象打包成扩展
