PostgreSQL:在 PostgreSQL 中显示表
在PostgreSQL中,要显示数据库中所有表的列表,您可以使用\dt
或\dt+
命令,如果您使用的是psql(PostgreSQL的命令行工具)。
如果您想通过SQL查询来获取表列表,可以使用以下SQL命令:
SELECT
table_schema || '.' || table_name AS table_full_name
FROM
information_schema.tables
WHERE
table_schema NOT IN ('pg_catalog', 'information_schema')
AND table_type = 'BASE TABLE';
如果您想要获取更详细的信息,比如表的描述或者列的信息,您可以进一步联合相关的系统表,如pg_class
, pg_namespace
, 和 pg_attribute
等。
例如,以下查询会返回所有表的名称以及它们的列信息:
SELECT
n.nspname as "Schema",
c.relname as "Table",
a.attname as "Column",
pg_catalog.format_type(a.atttypid, a.atttypmod) as "Datatype"
FROM
pg_catalog.pg_namespace n
JOIN pg_catalog.pg_class c ON n.oid = c.relnamespace
JOIN pg_catalog.pg_attribute a ON a.attrelid = c.oid
WHERE
c.relkind = 'r'
AND n.nspname NOT IN ('pg_catalog', 'pg_toast')
AND pg_catalog.pg_table_is_visible(c.oid)
ORDER BY
n.nspname,
c.relname,
a.attnum;
请注意,这些查询可能需要根据您的特定需求进行调整。
评论已关闭