协慌网

登录 贡献 社区

在 PostgreSQL 中显示表格

什么相当于在 PostgreSQL 中show tables (来自 MySQL)?

答案

psql命令行界面,它显示当前架构中的所有表:

\dt

以编程方式(当然也可以从psql界面):

SELECT * FROM pg_catalog.pg_tables;

系统表位于 pg_catalog 数据库中。

以超级用户身份登录:

sudo -u postgres psql

您可以通过\l命令列出所有数据库和用户,(通过\?列出其他命令)。

现在,如果要查看其他数据库,可以通过\c命令更改用户 / 数据库,如\c template1\c postgres postgres并使用\d\dt\dS查看表 / 视图 / 等。

(完整性)

您还可以查询(SQL 标准) 信息架构

SELECT
    table_schema || '.' || table_name
FROM
    information_schema.tables
WHERE
    table_type = 'BASE TABLE'
AND
    table_schema NOT IN ('pg_catalog', 'information_schema');