八月 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
输出:
要获取有关表的更多信息,可以使用\dt+
命令。它将在输出中添加size
和description
列:
postgres=# \dt+
使用 pg_catalog 模式显示表
在 PostgreSQL 中显示表的另一种方法是使用SELECT
语句从 PostgreSQL 系统表中查询数据,如下所示:
SELECT *
FROM pg_catalog.pg_tables
WHERE schemaname != 'pg_catalog' AND
schemaname != 'information_schema';
在此查询中,我们在WHERE
子句中使用条件来过滤系统表。如果省略该WHERE
子句,您将获得许多表,包括系统表。
概括
-
在
psql
中使用\dt
或\dt+
命令显示特定数据库中的表。 -
使用
SELECT
语句从pg_catalog.pg_tables
系统视图中查询表信息。