在PostgreSQL中显示表(来自MySQL)的等价物是什么?


当前回答

可以使用\dt列出当前数据库中的表。

Fwiw,\d tablename将显示给定表的详细信息,类似于显示MySQL中tablename中的列,但提供了更多信息。

其他回答

该SQL查询适用于大多数PostgreSQL版本,非常简单。

select table_name from information_schema.tables where table_schema='public' ;

可以使用\dt列出当前数据库中的表。

Fwiw,\d tablename将显示给定表的详细信息,类似于显示MySQL中tablename中的列,但提供了更多信息。

根据我的口味,在命令行列出所有表的最直接方法是:

psql -a -U <user> -p <port> -h <server> -c "\dt"

对于给定的数据库,只需添加数据库名称:

psql -a -U <user> -p <port> -h <server> -c "\dt" <database_name>

它可以在Linux和Windows上运行。

如果您只想查看已创建的表列表,可以只说:

\dt

但我们也有PATTERN,它将帮助您定制要显示的表。要显示包括pg_catalog架构在内的所有架构,可以添加*。

\时间*

如果您这样做:\?

\dt[S+][PATTERN]列表表

以超级用户身份登录,以便您可以检查所有数据库及其架构:-

sudo su - postgres

然后,我们可以使用以下命令进入postgresqlshell:-

psql

现在可以使用以下命令检查所有数据库列表:-

\l

如果您想检查数据库的大小,请使用:-

\l+

按q返回。

找到数据库后,现在可以使用以下命令连接到该数据库:-

\c database_name

连接后,您可以通过以下方式检查数据库表或架构:-

\d

现在返回shell使用:-

q

现在,要进一步了解某个表的使用细节:-

\d table_name

要返回postgresql_shell,请按\q。

要返回终端,请按退出。