Если вы не можете даже "открыть" базы данных, вы не сможете их сравнить. Существуют инструменты, которые работают с дампами, но им нужно, чтобы дампы были в ожидаемом формате, и самый простой способ сделать это - загрузить сервер и сделать дамп.
Сначала вы должны иметь возможность запустить сервер базы данных для каждой базы данных. Единственный способ прочитать базу данных PostgreSQL - через сервер базы данных PostgreSQL.
Не ясно, в какой форме находятся базы данных, вы не указали это.
Если это дампы, просто установите достаточно новый PostgreSQL для дампов и восстановите их до новой установки. Используйте отдельную машину или просто установите новый Pg вместе со старым. Вы не упомянули свою платформу, ОС / версию и т.д., Поэтому я не могу помочь в этом.
Если они являются копиями самого каталога данных PostgreSQL и были правильно взяты с остановленного сервера, вы должны получить ту же версию (не более новую, не более старую) для той же ОС и архитектуры и запустить сервер из базы данных. Так что, если база данных, скажем, из 32-битной Windows PostgreSQL 9.2, вам понадобится 32-битная версия PostgreSQL 9.2 для Windows, чтобы загрузить базу данных, больше ничего не поделаешь. Запустите сервер с помощью pg_ctl
.
Как только вы сможете подключиться к обоим серверам, вы сможете использовать существующие инструменты для сравнения двух БД. Когда дело доходит до отображения структуры БД, я считаю SchemaSpy весьма полезным. Для сравнения рассмотрим apgdiff ; это будет работать с дампами, но требует, чтобы дампы были в правильном формате.