在PostgreSQL中显示表(来自MySQL)的等价物是什么?
当前回答
要查看psql中的外部表,请运行\dE
其他回答
请注意,仅\dt将列出您正在使用的数据库的公共模式中的表。我喜欢将表保存在单独的模式中,因此接受的答案对我来说不起作用。
要列出特定模式中的所有表,我需要:
1) 连接到所需的数据库:
psql mydb
2) 指定要在\dt命令后查看表的架构名称,如下所示:
\dt myschema.*
这显示了我感兴趣的结果:
List of relations
Schema | Name | Type | Owner
----------+-----------------+-------+----------
myschema | users | table | postgres
myschema | activity | table | postgres
myschema | roles | table | postgres
首次以postgres用户身份登录:sudo su-后期连接到所需的数据库:psql-d databaseName\dt将返回连接到的数据库中所有表的列表。
在登录后的PostgreSQL命令行界面中,键入以下命令以连接到所需的数据库。\c[数据库名称]
然后您将看到以下消息:您现在已连接到数据库“[database_name]”
键入以下命令以列出所有表。\时间
使用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
从psql命令行界面,
首先,选择数据库
\c database_name
然后,这将显示当前模式中的所有表:
\dt
编程(当然也可以从psql接口):
SELECT * FROM pg_catalog.pg_tables;
系统表位于pg_catalog数据库中。
推荐文章
- 查询JSON类型内的数组元素
- 获得PostgreSQL数据库中当前连接数的正确查询
- 纬度和经度的数据类型是什么?
- 如何在PostgreSQL中临时禁用触发器?
- 输入文件似乎是一个文本格式转储。请使用psql
- 使用LIMIT/OFFSET运行查询,还可以获得总行数
- 当恢复sql时,psql无效命令\N
- 货币应该使用哪种数据类型?
- 如何添加列,如果不存在PostgreSQL?
- 如何在Postgres中获得两个字段的MIN() ?
- 截断Postgres数据库中的所有表
- 如何连接列在Postgres选择?
- 将varchar字段的类型更改为整数:"不能自动转换为整数类型"
- PostgreSQL可以索引数组列吗?
- PostgreSQL:角色不允许登录