SELECT A .oid, A .relname AS NAME, b.description AS COMMENT FROM pg_class A LEFT OUTER JOIN pg_description b ON b.objsubid = 0 AND A .oid = b.objoid
WHERE A .relnamespace = ( SELECT oid FROM pg_namespace WHERE nspname = 'public' ) AND A .relkind = 'r' ORDER BY A .relname
;


-- 普通表非分区表数据
select *
FROM pg_class A
WHERE A .relnamespace = ( SELECT oid FROM pg_namespace WHERE nspname = 'public' )  -- 空间是 public
AND A .relkind = 'r'  -- 关系的类型，可以是普通表（'r'）、索引（'i'）、序列（'S'）、视图（'v'）、物化视图（'m'）、组合类型（'c'）、外部表（'f'）、分区表（'p'）
AND relpartbound is   NULL  -- 非分区表

--  分区表主表数据
select *
FROM pg_class A
WHERE A .relnamespace = ( SELECT oid FROM pg_namespace WHERE nspname = 'public' )  -- 空间是 public
AND A .relkind = 'p'  -- 关系的类型，可以是普通表（'r'）、索引（'i'）、序列（'S'）、视图（'v'）、物化视图（'m'）、组合类型（'c'）、外部表（'f'）、分区表（'p'）
AND relpartbound is  NULL  -- 非分区表


select reltuples -- 表记录数
FROM pg_class A where relname='ods_track_log_20241107'



-- 普通表非分区表数据
select 'sdk_statis_test' databases,'public' nspname,relname table_name,relkind table_type,relhassubclass relhassubclass,'' son_table
FROM pg_class t1
WHERE t1.relnamespace = ( SELECT oid FROM pg_namespace WHERE nspname = 'public' )  -- 空间是 public
AND t1.relkind = 'r'  -- 关系的类型，可以是普通表（'r'）、索引（'i'）、序列（'S'）、视图（'v'）、物化视图（'m'）、组合类型（'c'）、外部表（'f'）、分区表（'p'）
AND relpartbound is   NULL  -- 非分区表
UNION
--  分区表主表数据
select 'sdk_statis_test' databases,'public' nspname,relname table_name,relkind table_type,relhassubclass relhassubclass,'' son_table
FROM pg_class t1
WHERE t1.relnamespace = ( SELECT oid FROM pg_namespace WHERE nspname = 'public' )  -- 空间是 public
AND t1.relkind = 'p'  -- 关系的类型，可以是普通表（'r'）、索引（'i'）、序列（'S'）、视图（'v'）、物化视图（'m'）、组合类型（'c'）、外部表（'f'）、分区表（'p'）
and  t1.relhassubclass!='t'

UNION
select
databases	,nspname,	table_name,	table_type,	relhassubclass,	string_agg(son_table, ',') AS son_table
from
(
select 'sdk_statis_test' databases,'public' nspname,t1.relname table_name,t1.relkind table_type,t1.relhassubclass relhassubclass,t3.relname son_table
FROM pg_class t1
JOIN pg_inherits t2
on  t1.oid=t2.inhparent
JOIN pg_class t3
on t2.inhrelid = t3.oid
WHERE t1.relnamespace = ( SELECT oid FROM pg_namespace WHERE nspname = 'public' )  -- 空间是 public
AND t1.relkind = 'p'  -- 关系的类型，可以是普通表（'r'）、索引（'i'）、序列（'S'）、视图（'v'）、物化视图（'m'）、组合类型（'c'）、外部表（'f'）、分区表（'p'）
and  t1.relhassubclass='t'
) t4
group by databases	,nspname,	table_name,	table_type,	relhassubclass




    SELECT
    count(1) zs
FROM
    ods.track_log_037 a
WHERE
    a.ds BETWEEN '20240829' AND '20241125'

select concat(E'union all select count(*) zs, \'' ,relname, E'\' tablename from ods.',relname,E' where ds BETWEEN   \'20241118\' AND \'20241125\'  ') sql_str
FROM pg_class A
WHERE A .relnamespace = ( SELECT oid FROM pg_namespace WHERE nspname = 'ods' )  -- 空间是 public
AND A .relkind = 'p'  -- 关系的类型，可以是普通表（'r'）、索引（'i'）、序列（'S'）、视图（'v'）、物化视图（'m'）、组合类型（'c'）、外部表（'f'）、分区表（'p'）
AND relpartbound is  NULL



