如何用psql列出所有数据库和表?

我正在努力学习PostgreSQL管理,并开始学习如何使用psql命令行工具。

当我用psql --username=postgres登录时,我怎样才能列出所有的数据库和表?

我试过dddS+,但都没有列出。我已经用pgAdmin III创建了两个数据库和几个表,所以我知道它们应该被列出。

解决办法

请注意以下命令。

  • listl:列出所有数据库
  • dt:列出当前数据库中的所有表

你永远不会看到其他数据库的表,这些表是不可见的。你必须连接到正确的数据库才能看到它的表(和其他对象)。

要切换数据库。

connect database_namec database_name

参见关于psql的手册。

评论(8)

这里列出了数据库。

SELECT datname FROM pg_database
WHERE datistemplate = false;

此处列出了当前数据库中的表

SELECT table_schema,table_name
FROM information_schema.tables
ORDER BY table_schema,table_name;
评论(6)

l'也是list'的缩写。有相当多的斜线命令,你可以通过使用\?在psql中列出它们。

评论(0)