我想列出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
答案 0 :(得分:0)
数据库(在逻辑上)在PostgreSQL中严格分开;您无法通过另一个数据库中的查询获得有关一个数据库(例如模式)中对象的信息。
您必须依次连接到所有数据库并查询每个数据库的模式。