notebook/996/Hologres/元数据.sql

75 lines
3.6 KiB
MySQL
Raw Normal View History

2025-06-19 13:16:41 +08:00
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