如何获取数据库中所有非分区表的名称?我使用PostgresSQL 9.6
我如何只获取分区表的名称?
现在我在我的数据库中有分区的名称,指定一个表名,但我需要动态地这样做。
SELECT i.inhrelid::regclass AS child
FROM pg_inherits i
WHERE i.inhparent = 'public.documento'::regclass;
更新
对于分区表:
select distinct inhparent::regclass from pg_inherits
而不是smthlike分区:
select oid::regclass::text relation
from pg_class where relkind = 'r'
except
select distinct inhparent::regclass::text
from pg_inherits
except
select distinct inhrelid::regclass::text
from pg_inherits
;
注意:要过滤结果,只需使用where
,就像
with l as (
<code above>
)
select * from l where relation not like 'pg_%';