PostgreSQL 教程: 显示表

八月 17, 2023

摘要:在本教程中,您将学习如何使用psql工具和pg_catalog模式在 PostgreSQL 中显示表。

如果您来自 MySQL,您可能希望使用流行的SHOW TABLES语句来显示特定数据库中的所有表。

PostgreSQL 不直接支持SHOW TABLES语句,但为您提供了替代方案。

使用 psql 显示 PostgreSQL 中的表

首先,使用 psql 工具连接到 PostgreSQL。

$ psql -U postgres -W

-U标志代表用户,-W选项要求您提供密码。在此命令中,您使用postgres用户登录 PostgreSQL 数据库服务器。

其次,输入postgres用户的密码并按Enter键:

Password for user postgres:
postgres=#

第三步,切换到数据库,例如dvdrental

postgres=# \c dvdrental
You are now connected to database "dvdrental" as user "postgres".

请注意,当您登录 PostgreSQL 数据库服务器时,您可以连接到特定数据库:

$ psql -U postgres -d dvdrental

在此命令中,-d标志表示数据库。在此命令中,您使用postgres用户连接到dvdrental数据库。

第四步,使用 PostgreSQL 命令提示符中的\dt命令显示dvdrental数据库中的表:

postgres=# \dt

输出:

img

要获取有关表的更多信息,可以使用\dt+命令。它将在输出中添加sizedescription列:

postgres=# \dt+

img

使用 pg_catalog 模式显示表

在 PostgreSQL 中显示表的另一种方法是使用SELECT语句从 PostgreSQL 系统表中查询数据,如下所示:

SELECT *
FROM pg_catalog.pg_tables
WHERE schemaname != 'pg_catalog' AND 
    schemaname != 'information_schema';

img

在此查询中,我们在WHERE子句中使用条件来过滤系统表。如果省略该WHERE子句,您将获得许多表,包括系统表。

概括

  • psql中使用\dt\dt+命令显示特定数据库中的表。

  • 使用SELECT语句从pg_catalog.pg_tables系统视图中查询表信息。