Configure o Postgres no Servidor A para pg_restore no Servidor B (exigindo autenticação de certificado)

Configure o Postgres no Servidor A para pg_restore no Servidor B (exigindo autenticação de certificado)

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_Ana 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 scprefazer 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_Aque faça tudo).

informação relacionada