在PostgreSQL中显示表(来自MySQL)的等价物是什么?
当前回答
首先,您可以使用mac上的postgre.app或postico连接postgres数据库。运行以下命令:
psql -h localhost -p port_number -d database_name -U user_name -W
然后输入密码,这应该可以访问数据库
其他回答
请注意,仅\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
首先使用以下命令连接数据库
\c database_name
您将看到以下消息:您现在已连接到数据库database_name。然后运行以下命令
SELECT * FROM table_name;
在database_name和table_name中,只需更新数据库和表名
您可以使用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
以超级用户身份登录,以便您可以检查所有数据库及其架构:-
sudo su - postgres
然后,我们可以使用以下命令进入postgresqlshell:-
psql
现在可以使用以下命令检查所有数据库列表:-
\l
如果您想检查数据库的大小,请使用:-
\l+
按q返回。
找到数据库后,现在可以使用以下命令连接到该数据库:-
\c database_name
连接后,您可以通过以下方式检查数据库表或架构:-
\d
现在返回shell使用:-
q
现在,要进一步了解某个表的使用细节:-
\d table_name
要返回postgresql_shell,请按\q。
要返回终端,请按退出。
运行带有-E标志的psql将响应内部用于实现的查询\dt和类似:
sudo -u postgres psql -E
postgres=# \dt
********* QUERY **********
SELECT n.nspname as "Schema",
c.relname as "Name",
CASE c.relkind WHEN 'r' THEN 'table' WHEN 'v' THEN 'view' WHEN 'i' THEN 'index' WHEN 'S' THEN 'sequence' WHEN 's' THEN 'special' END as "Type",
pg_catalog.pg_get_userbyid(c.relowner) as "Owner"
FROM pg_catalog.pg_class c
LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace
WHERE c.relkind IN ('r','')
AND n.nspname <> 'pg_catalog'
AND n.nspname <> 'information_schema'
AND n.nspname !~ '^pg_toast'
AND pg_catalog.pg_table_is_visible(c.oid)
ORDER BY 1,2;
**************************
推荐文章
- 查询JSON类型内的数组元素
- 获得PostgreSQL数据库中当前连接数的正确查询
- 纬度和经度的数据类型是什么?
- 如何在PostgreSQL中临时禁用触发器?
- 输入文件似乎是一个文本格式转储。请使用psql
- 使用LIMIT/OFFSET运行查询,还可以获得总行数
- 当恢复sql时,psql无效命令\N
- 货币应该使用哪种数据类型?
- 如何添加列,如果不存在PostgreSQL?
- 如何在Postgres中获得两个字段的MIN() ?
- 截断Postgres数据库中的所有表
- 如何连接列在Postgres选择?
- 将varchar字段的类型更改为整数:"不能自动转换为整数类型"
- PostgreSQL可以索引数组列吗?
- PostgreSQL:角色不允许登录