我正在努力学习PostgreSQL管理,并开始学习如何使用psql
命令行工具。
当我用psql --username=postgres
登录时,我怎样才能列出所有的数据库和表?
我试过d
、d
和dS+
,但都没有列出。我已经用pgAdmin III创建了两个数据库和几个表,所以我知道它们应该被列出。
请注意以下命令。
list
或l
:列出所有数据库dt
:列出当前数据库中的所有表你永远不会看到其他数据库的表,这些表是不可见的。你必须连接到正确的数据库才能看到它的表(和其他对象)。
要切换数据库。
connect database_name
或c database_name
。
参见关于psql的手册。
这里列出了数据库。
SELECT datname FROM pg_database
WHERE datistemplate = false;
此处列出了当前数据库中的表
SELECT table_schema,table_name
FROM information_schema.tables
ORDER BY table_schema,table_name;