pg_partition_root() 是一个系统函数,它返回指定关系的分区层次结构的最顶层父关系。
pg_partition_root() 函数已于 PostgreSQL 12 中添加。
用法
pg_partition_root (regclass) →regclass
如果指定的关系不是分区表或索引层次结构的一部分,则返回 NULL。
变更历史
- PostgreSQL 12
- 添加于 (提交 3677a0b2)
示例
假设在 pg_partition_tree() 示例 中定义的分区表,pg_partition_root() 返回以下输出
postgres=# SELECT pg_partition_root('partition_test_6_10');
pg_partition_root
-------------------
partition_test
(1 row)
如果关系不是分区表,则返回 NULL。
postgres=# SELECT pg_partition_root('pg_class') IS NULL;
?column?
----------
t
(1 row)
使用不存在的关系名称执行 pg_partition_root()。
postgres=# SELECT pg_partition_root('foo');
ERROR: relation "foo" does not exist
LINE 1: SELECT pg_partition_root('foo');
参考资料
- PostgreSQL 文档: 分区信息函数
