pg_collation_actual_version() 是一个系统函数,用于返回当前安装在操作系统中的排序规则对象的实际版本。
pg_collation_actual_version() 函数于 PostgreSQL 10 中添加。
用法
pg_collation_actual_version (oid) →text
如果此函数返回的版本与 pg_collation 视图中的 collversion 列中的值不同,则可能需要使用 ALTER COLLATION ... REFRESH VERSION 来重建依赖于该排序规则的对象。
变更历史
- PostgreSQL 16
- 在提交 10932ed5 中,已使默认排序规则生效,而不是返回
NULL。
- 在提交 10932ed5 中,已使默认排序规则生效,而不是返回
- PostgreSQL 10
- 添加于提交 eccfef81。
示例
pg_collation_actual_version() 的用法示例
postgres=# CREATE TABLE foo (id INT NOT NULL, val TEXT COLLATE "de_DE.utf8"); CREATE TABLE postgres=# SELECT pg_describe_object(refclassid, refobjid, refobjsubid) AS "Collation", pg_describe_object(classid, objid, objsubid) AS "Object", c.collversion,
pg_collation_actual_version(c.oid) FROM pg_depend d JOIN pg_collation c ON (refclassid = 'pg_collation'::regclass AND refobjid = c.oid) ORDER BY 1, 2; Collation | Object | collversion | pg_collation_actual_version ------------------------+-------------------------+-------------+----------------------------- collation "de_DE.utf8" | column val of table foo | 2.28 | 2.28
参考资料
- PostgreSQL 文档: 排序规则管理函数
