我正在尝试使用系统目录构造在PostgreSQL中列出所有关系及其对应的模式和列。但它还会显示一些索引名称以及关系名称,并显示像cmax、cmin、ctid等属性,这些属性不是我在构建表时创建的实际属性。以下是我的查询:
SELECT
ns.nspname AS schema_name,
idx.attrelid :: REGCLASS AS table_name,
idx.attname AS column_name
FROM pg_attribute AS idx
JOIN pg_class AS i
ON i.oid = idx.attrelid
JOIN pg_namespace AS NS ON i.relnamespace = NS.OID
WHERE nspname='public';