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
2025-07-25 16:59:05 +08:00
获 取 包 含 字 段 的 表
SELECT t2 . relname , t1 . attname
from
( select distinct attrelid , attname from
pg_catalog . pg_attribute a where a . attname = ' gmid ' ) t1
inner JOIN
pg_catalog . pg_class t2
on t1 . attrelid = t2 . oid