如何在Postgres集群上找到所有数据库和相关架构?

时间:2019-03-20 20:11:06

标签: database postgresql schema database-cluster

我想列出Postgres集群中的所有数据库和模式,如何获得该列表?

我在以下查询中运行(我正在使用pgAdmin)

SELECT * FROM pg_database; --This lists all the databases in the cluster

SELECT distinct table_catalog, table_schema
FROM information_schema.tables
ORDER BY table_schema; --This lists all the schemas in the current database I am in.

我试图将它们组合在一起(在查询下面),但是它只是给出information_schema的结果,并且仅限于一个数据库。

select distinct db.datname, t.table_schema from pg_database db
inner join information_schema.tables t on db.datname = t.table_catalog
order by db.datname, t.table_schema

1 个答案:

答案 0 :(得分:0)

数据库(在逻辑上)在PostgreSQL中严格分开;您无法通过另一个数据库中的查询获得有关一个​​数据库(例如模式)中对象的信息。

您必须依次连接到所有数据库并查询每个数据库的模式。