Se você não conseguir nem "abrir" os bancos de dados, não poderá compará-los. Existem ferramentas que funcionam nos dumps, mas elas precisam que os dumps estejam no formato esperado, e a maneira mais fácil de fazer isso é carregar o servidor e fazer um dump.
Você deve primeiro poder iniciar um servidor de banco de dados para cada banco de dados. A única maneira de ler um banco de dados PostgreSQL é através de um servidor de banco de dados PostgreSQL.
Não está claro em que formato os bancos de dados estão, você não especificou isso.
Se eles são lixões, basta instalar um PostgreSQL novo o suficiente para os lixões e restaurá-los para a nova instalação. Use uma máquina separada ou apenas instale a nova Pg ao lado da antiga. Você não mencionou sua plataforma, SO / versão, etc, então não posso ajudar mais lá.
Se eles são cópias do diretório de dados do PostgreSQL e foram tiradas corretamente de um servidor parado, você deve obter a versão mesmo (não mais recente, não mais antiga) no mesmo SO e arquitetura e inicie um servidor a partir do banco de dados. Portanto, se o banco de dados for do (digamos) Windows PostgreSQL 9.2 de 32 bits, você precisará do PostgreSQL 9.2 de 32 bits no Windows para carregar o banco de dados, nada mais fará. Inicie o servidor com pg_ctl
.
Depois de se conectar a ambos os servidores, você está em condições de usar as ferramentas existentes para comparar os dois bancos de dados. Quando se trata de mapear a estrutura do banco de dados, eu acho o SchemaSpy bastante útil. Para comparação, considere apgdiff ; isso funcionará nos dumps, mas exige que os dumps estejam no formato correto.