Configurando o arquivo pg_hba.conf para permitir acesso de outros servidores ao banco de dados

15

Eu tenho um banco de dados postgres em um servidor e preciso acessá-lo de outro servidor.

Eu preciso editar o arquivo pg_hba.conf, mas agora tenho a ideia de quais são as etapas para editar este arquivo. Servidor Centos

Eu preciso adicionar a seguinte linha no arquivo

host    all         all         10.0.2.12         255.255.255.255   trust

Eu o localizei em var/lib/pgsql/data/

Agora basicamente não sei quais são as etapas corretas para fazer isso

    
por Roland 01.09.2009 / 14:44

2 respostas

14

Primeiro, pegue uma cópia de backup do arquivo pg_hba.conf

sudo tar cvf /var/tmp/mybackup_pg_hba_conf.tar /var/lib/pgsql/data/pg_hba.conf

Dessa forma, você tem a versão mais antiga pronta se você errar. Um bom recurso do arquivo tar é que preserva permissões e diretórios. Então, quando o pg_hba.conf é quebrado além do reconhecimento. Você pode:

cd /
sudo tar xvf /var/tmp/mybackup_pg_hba_conf.tar

Isso restaurará o backup pg_hba.conf do arquivo que você criou anteriormente.

Quanto à inserção real da linha:

sudo su -c 'echo "host    all         all         10.0.2.12         255.255.255.255   trust" >> /var/lib/pgsql/data/pg_hba.conf'

(NOTA: Comando editado. Obrigado bortzmeyer!)

Deve fazer isso. Note que isso apenas acrescenta a linha ao pg_hba.conf. Se você precisar alterá-lo, precisará usar um editor real. Como vi. Sua curva de aprendizado pode ser um pouco íngreme, mas depois de ter aprendido, pelo menos, o básico, você deve estar bem seguro em quase todos os ambientes unix que encontrar.

Agora que estou de volta na pista, você deve tentar reiniciar o banco de dados do postgresql. Em uma máquina de Centos isso eu acredito que é feito por:

sudo service postgresql restart

ou você pode recarregar a configuração sem reiniciar:

su - postgres
pg_ctl reload

Agora você deve poder acessar seu banco de dados postrgresql Centos-machines de 10.0.2.12

    
por 01.09.2009 / 15:29
13

Não se esqueça de editar o postgresql.conf e alterar / adicionar linha

listen_addresses = '*'

Postgresql por padrão escuta no localhost

    
por 01.09.2009 / 17:00