select count(*) from (
SELECT
c.relname as "Name"
FROM pg_catalog.pg_class c
LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace
WHERE c.relkind IN ('r','p','')
AND n.nspname <> 'pg_catalog'
AND n.nspname <> 'information_schema'
AND n.nspname <> 'sys'
AND n.nspname <> 'sys_catalog'
AND (c.oid not in (select reloid from sys_recyclebin))
AND n.nspname !~ '^pg_toast'
AND pg_catalog.pg_table_is_visible(c.oid)
minus
select
c.relname
from
pg_class c
join pg_inherits i on i.inhrelid = c. oid
join pg_class d on d.oid = i.inhparent
where
d.relname in (SELECT
c.relname as "Name"
FROM pg_catalog.pg_class c
LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace
WHERE c.relkind IN ('r','p','')
AND n.nspname <> 'pg_catalog'
AND n.nspname <> 'information_schema'
AND n.nspname <> 'sys'
AND n.nspname <> 'sys_catalog'
AND (c.oid not in (select reloid from sys_recyclebin))
AND n.nspname !~ '^pg_toast'
AND pg_catalog.pg_table_is_visible(c.oid) and c.relkind='p') );
比如我east之前提供了2个表,他们是分区表,迁移到人大金仓上后分区单独是一个表,那之后我想统计我数据库有几个表的时候不统计分区对应的表应该怎么统计呢
于 2023-02-13 10:35:52 首次发布