在PostgreSQL中显示表(来自MySQL)的等价物是什么?
当前回答
根据我的口味,在命令行列出所有表的最直接方法是:
psql -a -U <user> -p <port> -h <server> -c "\dt"
对于给定的数据库,只需添加数据库名称:
psql -a -U <user> -p <port> -h <server> -c "\dt" <database_name>
它可以在Linux和Windows上运行。
其他回答
使用psql:\dt
Or:
SELECT c.relname AS Tables_in FROM pg_catalog.pg_class c
LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace
WHERE pg_catalog.pg_table_is_visible(c.oid)
AND c.relkind = 'r'
AND relname NOT LIKE 'pg_%'
ORDER BY 1
首先,您必须连接数据库
我的数据库是ubuntu
使用此命令连接
\c ubuntu
此消息将显示
您现在以用户“postgres”的身份连接到数据库“ubuntu”
Now
运行此命令以显示其中的所有表
\d+
首次以postgres用户身份登录:sudo su-后期连接到所需的数据库:psql-d databaseName\dt将返回连接到的数据库中所有表的列表。
如果您只想查看已创建的表列表,可以只说:
\dt
但我们也有PATTERN,它将帮助您定制要显示的表。要显示包括pg_catalog架构在内的所有架构,可以添加*。
\时间*
如果您这样做:\?
\dt[S+][PATTERN]列表表
如果您在PostgreSQL中使用pgAdmin4,可以使用它来显示数据库中的表:
select * from information_schema.tables where table_schema='public';
推荐文章
- Postgres唯一约束与索引
- 使用电子邮件地址为主键?
- 选择postgres中字段的数据类型
- 如何在PostgreSQL中查看视图的CREATE VIEW代码?
- 错误:没有唯一的约束匹配给定的键引用表"bar"
- 如何使用新的PostgreSQL JSON数据类型中的字段进行查询?
- 如何彻底清除和重新安装postgresql在ubuntu?
- 分组限制在PostgreSQL:显示每组的前N行?
- IN与PostgreSQL中的ANY运算符
- PSQLException:当前事务被中止,命令被忽略,直到事务块结束
- 添加布尔列到表集默认
- 库未加载:/usr/local/opt/readline/lib/libreadline.6.2.dylib
- 为什么我们需要像RabbitMQ这样的消息代理而不是像PostgreSQL这样的数据库?
- 在PostgreSQL表已经创建后,我可以添加UNIQUE约束吗?
- 如何在postgres数据库中创建单个表的备份?