Estou tentando configurar uma instância do PostgreSQL em execução no SERVER_A para conectar-se a outra instância do PostgreSQL no SERVER_B. Estou executando um script de shell em SERVER_A que precisa conectar e executar um pg_restore em um banco de dados que reside em SERVER_B.
SERVER_B está no AWS da Amazon. Normalmente, para fazer ssh na máquina, eu executaria os seguintes comandos:
# ssh -i .ssh/server-dev.pem [email protected]
[root@dev]# ssh -i .ssh/dev1mac 0.0.0.0
...Com a instância do Postgres residindo em 0.0.0.0
Alguém pode me ajudar a explicar como eu usaria as informações acima para configurar o Postgres no SERVER_A? Tenho pesquisado o pg_hba.conf, mas, francamente, nunca fiz isso antes e pela documentação não está claro para mim como alcançar o resultado desejado. Existe talvez uma maneira mais fácil que me permita pular completamente a configuração do Postgres e, em vez disso, apenas executar uma série de comandos do meu script de shell para obter a restauração?
Eu apreciaria qualquer ajuda, obrigado!
Responder1
Se tudo o que você deseja fazer é pg_restore um arquivo de despejo atualmente SERVER_A
na instância de banco de dados em execução SERVER_B
, é fácil:
SERVER_A # cat dump_file | ssh SERVER_B pg_restore
(Inclua todas as opções necessárias para pg_restore, mas não especifique um nome de arquivo. Poro manual do postgres, If [filename is] not specified, the standard input is used.
)
(Você também pode scp
refazer o arquivo de despejo e executar a restauração usando o arquivo on SERVER_B
, mas o acima parece estar mais alinhado com seu objetivo de executar um script SERVER_A
que faça tudo).