我正在尝试学习 PostgreSQL 管理并开始学习如何使用psql
命令行工具。
当我使用 登录时psql --username=postgres
,如何列出所有数据库和表?
我试过了\d
,d
但dS+
没有列出任何内容。我已经使用 pgAdmin III 创建了两个数据库和一些表,所以我知道它们应该被列出。
我正在尝试学习 PostgreSQL 管理并开始学习如何使用psql
命令行工具。
当我使用 登录时psql --username=postgres
,如何列出所有数据库和表?
我试过了\d
,d
但dS+
没有列出任何内容。我已经使用 pgAdmin III 创建了两个数据库和一些表,所以我知道它们应该被列出。
请注意以下命令:
\list
或\l
:列出所有数据库\c <db name>
: 连接到某个数据库\dt
: 使用你的列出当前数据库中的所有表search_path
\dt *.
: 列出当前数据库中的所有表,不管你的search_path
您永远不会在其他数据库中看到表,这些表是不可见的。您必须连接到正确的数据库才能查看其表(和其他对象)。
切换数据库:
\connect database_name
或者\c database_name
请参阅有关psql的手册。
这列出了数据库:
这列出了当前数据库中的表
在 Postgresql 中,这些终端命令列出了可用的数据库
或者命令更简单地说:
这些命令在终端上打印:
这些是可用的数据库。
在 PSQL 中,这些命令列出了可用的表
您必须先指定一个数据库,然后才能列出该数据库中的表。
这会将您带到 psql 终端:
使用命令
\d
含义显示所有表、视图和序列这打印:
然后,要退出 psql 终端,键入
\q
并按 enter。或者Ctrl-D
做同样的事情。这些是该数据库中的表。\l
也是 . 的简写\list
。有很多斜杠命令,您可以在 psql 中使用\?
.要获得有关数据库和表列表的更多信息,您可以执行以下操作:
\l+
列出数据库和
\d+
列出当前数据库中当前 search_path 模式中的所有表。在 pg_Admin 中,您只需在当前数据库上运行以下命令,它将获取指定模式的所有表:
这将为您提供所有永久表的列表(通常是您要查找的表)。如果将
*
通配符更改为仅table_name
.table_schema
除非您的管理员设置了新架构,否则公共是大多数数据库的默认架构。有可能您已将表插入到不在搜索路径中的模式中,或者默认模式(即公共)中,因此表不会使用 \dt 显示。如果您使用称为数据的模式,则可以通过运行来解决此问题,
alter database <databasename> set search_path=data, public;
退出并重新输入 psql,现在 \dt 也会显示模式数据中的表。