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


当前回答

在PostgreSQL 13.3和Windows 10中,这些步骤对我有效

打开cmd并键入psql-a-U[用户名]-p[端口]-h[服务器]键入\c[database]以连接到数据库键入\dt或\d以显示所有表格

其他回答

您可以使用PostgreSQL的交互式终端Psql来显示PostgreSQL中的表。

1.启动Psql

通常,您可以运行以下命令进入psql:

psql DBNAME USERNAME

例如,psql template1 postgres

您可能遇到的一种情况是:假设您以root用户身份登录,但不记得数据库名称。您可以通过运行以下命令首先进入Psql:

sudo -u postgres psql

在某些系统中,sudo命令不可用,您可以运行以下任一命令:

psql -U postgres
psql --username=postgres

2.显示表格

现在在Psql中,您可以运行以下命令:

\? 列出所有命令\l列出数据库\conninfo显示有关当前连接的信息\c[DBNAME]连接到新数据库,例如\c template1\公共模式的dt列表表\dt<schema name>.*列出特定架构的表,例如\dt public*\dt*.*列出所有模式的表然后可以运行SQL语句,例如SELECT*FROM my_table;(注意:语句必须以分号结尾;)\q退出psql

首先,您必须连接数据库

我的数据库是ubuntu

使用此命令连接

 \c ubuntu

此消息将显示

您现在以用户“postgres”的身份连接到数据库“ubuntu”

Now

运行此命令以显示其中的所有表

\d+

以超级用户身份登录:

sudo -u postgres psql

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

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

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

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(不需要*)--将列出您已连接到的现有数据库的所有表。还需要注意:

\d[table_name]--将显示给定表的所有列,包括类型信息、引用和键约束。