Despejar bancos de dados Postgres por meio de SSH

Às vezes, você pode querer importar um banco de dados remoto do postgres para o seu banco de dados local. Você poderia usar alguns arquivos intermediários, mas há uma maneira muito mais agradável de fazer isso:

ssh <host> "pg_dump --clean -Z 9 -U <postgres username> <remote database>" | zcat | psql <local database>

Você executa o ssh no host remoto, cria um dump que será enviado para a saída padrão em sua máquina local. Lá você descompacta e importa para o banco de dados local.

É tão fácil assim …

Um nó importante : --cleaneliminará suas tabelas locais, isso pode não ser o que você deseja – mas eu fiz.