pg_get_partkeydef()

返回分区键定义的函数

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() 未记录在案。

更改历史记录

示例

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);

分类

分区系统函数

另请参阅

pg_partitioned_table声明式分区

反馈

提交关于 "pg_get_partkeydef()" 的任何评论、建议或更正 此处