pg_partition_ancestors()
是一个系统函数,用于列出提供的关系的祖先分区。
pg_partition_ancestors()
在 PostgreSQL 12 中添加。
用法
pg_partition_ancestors (regclass
) → setofregclass
关系按反向层次结构顺序列出,从提供的关系开始。
如果指定的关系不是分区表或索引,则不返回任何行。
更改历史记录
- PostgreSQL 12
- 添加 (提交 b96f6b19)
示例
假设在 pg_partition_tree() 示例 中定义的分区表,pg_partition_ancestor()
返回以下输出
postgres=# SELECT pg_partition_ancestors('partition_test_6_10'); pg_partition_ancestors ------------------------ partition_test_6_10 partition_test_1_10 partition_test (3 rows)
在不属于分区层次结构的关系上执行
postgres=# SELECT pg_partition_ancestors('pg_class'); pg_partition_ancestors ------------------------ (0 rows)
使用不存在的关系名称执行 pg_partition_ancestors()
postgres=# SELECT pg_partition_ancestors('foo'); ERROR: relation "foo" does not exist LINE 1: SELECT pg_partition_ancestors('foo');
参考
- PostgreSQL 文档: 分区信息函数