在PostgreSQL中显示表(来自MySQL)的等价物是什么?
当前回答
使用仅查看表格
=> \dt
如果要查看架构表
=>\dt+
如果要查看特定的架构表
=>\dt schema_name.*
其他回答
使用仅查看表格
=> \dt
如果要查看架构表
=>\dt+
如果要查看特定的架构表
=>\dt schema_name.*
首先,您必须连接数据库
我的数据库是ubuntu
使用此命令连接
\c ubuntu
此消息将显示
您现在以用户“postgres”的身份连接到数据库“ubuntu”
Now
运行此命令以显示其中的所有表
\d+
使用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
\dt(不需要*)--将列出您已连接到的现有数据库的所有表。还需要注意:
\d[table_name]--将显示给定表的所有列,包括类型信息、引用和键约束。
作为一个快速的oneliner
# just list all the postgres tables sorted in the terminal
db='my_db_name'
clear;psql -d $db -t -c '\dt'|cut -c 11-|perl -ne 's/^([a-z_0-9]*)( )(.*)/$1/; print'
或者如果您更喜欢更清晰的json输出多行:
IFS='' read -r -d '' sql_code <<"EOF_CODE"
select array_to_json(array_agg(row_to_json(t))) from (
SELECT table_catalog,table_schema,table_name
FROM information_schema.tables
ORDER BY table_schema,table_name ) t
EOF_CODE
psql -d postgres -t -q -c "$sql_code"|jq
推荐文章
- 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数据库中创建单个表的备份?