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

1

Estou tentando configurar uma instância do PostgreSQL em execução no SERVER_A para conectar-se a outra instância do PostgreSQL em SERVER_B. Estou executando um script de shell no SERVER_A que, em última análise, precisa se conectar e executar um pg_restore em um banco de dados que reside em SERVER_B.

O SERVER_B está no AWS da Amazon. Normalmente, para 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 em SERVER_A? Eu estive olhando para o pg_hba.conf, mas francamente eu 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 permitiria ignorar a configuração do Postgres e, em vez disso, apenas executar uma série de comandos do meu shell script para obter a restauração?

Gostaria de receber ajuda, obrigado!

    
por littleK 23.08.2012 / 17:40

1 resposta

3

Se tudo o que você deseja fazer é pg_restore, um arquivo de despejo atualmente em SERVER_A para a instância do banco de dados em execução em SERVER_B é fácil:

SERVER_A # cat dump_file | ssh SERVER_B pg_restore

(Inclua quaisquer opções necessárias no pg_restore, mas não especifique um nome de arquivo. Por o postgres manual , If [filename is] not specified, the standard input is used. )

(Você também pode scp o arquivo de despejo e executar a restauração usando o arquivo em SERVER_B , mas o acima parece estar mais de acordo com seu objetivo de executar um script em SERVER_A que faz tudo ).

    
por 23.08.2012 / 18:00