Как найти все базы данных и связанные схемы в кластере Postgres? - PullRequest
0 голосов
/ 20 марта 2019

Я хочу перечислить все базы данных и схемы в кластере 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 голосов
/ 20 марта 2019

Базы данных (логически) строго разделены в PostgreSQL;вы не можете получить информацию об объектах в одной базе данных (например, схемах) с запросами в другой базе данных.

Вам придется по очереди подключаться ко всем базам данных и запрашивать каждую из них для ее схем.

...