如何知道postgresql pg_分区中分区的表名

如何知道postgresql pg_分区中分区的表名,postgresql,partition,Postgresql,Partition,我从pg_分区检查分区信息 select relname, parttype, parentid, rangenum, interval, boundaries from pg_partition where parttype='p'; 问题是:如何知道这些分区来自哪里,如果您使用的是greenplum,pg_分区有一个tablename列。看 对于Postgres,存储分区信息的表的名称为 对于包含分区的表详细信息,您可以像中一样简单地查询pg_类 这里有一个 如果您需要分区及其表的所有信

我从pg_分区检查分区信息

select 
relname,
parttype,
parentid,
rangenum,
interval,
boundaries
from pg_partition where parttype='p';
问题是:如何知道这些分区来自哪里,

如果您使用的是greenplum,pg_分区有一个tablename列。看

对于Postgres,存储分区信息的表的名称为

对于包含分区的表详细信息,您可以像中一样简单地查询pg_类

这里有一个

如果您需要分区及其表的所有信息,您可以将这两个表合并,如

中所示,Postgres中没有pg_分区
select c.relnamespace::regnamespace::text as schema,
       c.relname as table_name, 
       pg_get_partkeydef(c.oid) as partition_key
from   pg_class c
where  c.relkind = 'p';