pg_get_partkeydef()
是一个系统函数,返回 分区 键的定义。
pg_get_partkeydef()
在 PostgreSQL 10 中添加。
用法
pg_get_partkeydef (table
oid
) →text
pg_get_partkeydef()
从 pg_partitioned_table
中提取分区键定义作为文本。
如果指定的关联不是分区表,则返回 NULL
。如果指定的关联不存在,则引发 ERROR
请注意,在 PostgreSQL 16 之前,pg_get_partkeydef()
未记录在案。
更改历史记录
- PostgreSQL 16
- 添加文档 (提交 422f86a8)
- PostgreSQL 10
- 添加 (提交 f0e44751)
示例
pg_get_partkeydef()
的基本用法示例
postgres=# CREATE TABLE hash_partition_table ( id INT NOT NULL, val TEXT ) PARTITION BY HASH (id); CREATE TABLE postgres=# SELECT pg_get_partkeydef('hash_partition_table'::regclass); pg_get_partkeydef ------------------- HASH (id) (1 row)
对非分区表使用 pg_get_partkeydef()
postgres=# SELECT pg_get_partkeydef('foo'::regclass) IS NULL; ?column? ---------- t (1 row)
如果指定的表不存在,则引发 ERROR
postgres=# SELECT pg_get_partkeydef('non_such_table'::regclass); ERROR: relation "non_such_table" does not exist LINE 1: SELECT pg_get_partkeydef('non_such_table'::regclass);