SELECT T
.schemaname,
T.tablename,
T.tableowner,
T.TABLESPACE,
CASE
C.relkind
WHEN 'r' THEN
'table'
WHEN 'v' THEN
'view'
WHEN 'm' THEN
'materialized view'
WHEN 'i' THEN
'index'
WHEN 'S' THEN
'sequence'
WHEN 's' THEN
'special'
WHEN 'f' THEN
'foreign table'
WHEN 'p' THEN
'partitioned table'
WHEN 'I' THEN
'partitioned index'
END AS "Type"
FROM
pg_class C,
PG_TABLES T
WHERE
T.tablename = C.relname
AND T.schemaname NOT IN ( 'pg_catalog', 'information_schema' )
AND T.tablename NOT IN (
SELECT
pg_class.relname TABLENAME
FROM
pg_constraint
INNER JOIN pg_class ON pg_constraint.conrelid = pg_class.oid
WHERE
pg_constraint.contype = 'p'
AND relnamespace IN ( SELECT oid FROM pg_namespace WHERE nspname = 'public' )
)
postgresql 使用sql查询所有未指定主键的表
最新推荐文章于 2024-07-25 11:35:55 发布