Antes de tudo, precisamos verificar a versão do PostGreSQL utilizando o seguinte comando:
psql –version
Exemplo:
root@vps [~]# psql –version psql (PostgreSQL) 8.1.23 contains support for command-line editing root@vps [~]#
Se for a versão PostgreSQL 7.4.26, é necessário realizar as seguintes alterações:
Edite o arquivo /var/lib/pgsql/data/postgresql.conf;
De:
#tcpip_socket = false
Para:
tcpip_socket = true
De:
#port = 5432
Para:
port = 5432
Se for a versão PostgreSQL 8.1.15 ou superior, é necessário realizar as seguintes alterações:
Edite o arquivo /var/lib/pgsql/data/postgresql.conf;
De:
#listen_addresses = ‘localhost’
Para:
listen_addresses = ‘*’
De:
#port = 5432
Para:
port = 5432
Logo após, seguimos com o procedimento abaixo para as duas versões do PostGreSQL:
Edite o arquivo /var/lib/pgsql/data/pg_hba.conf;
Adicione a linha abaixo:
host NOMEDOBANCO NOMEDOUSERPGSQL HOST md5
- Em HOST, deve ser especificado o IP do cliente, caso seja fixo. Se o cliente quiser liberar para todos os IPS (equivalente ao % do MySQL), utilize 0.0.0.0/0.
Reinicie o PostGreSQL:
/scripts/restartsrv_postgresql
- Não esquecer de verificar se a porta 5432 está adicionada no TCP_IN em /etc/csf/csf.conf, ou verificar em:
root@vps [~]# iptables -nL | grep 5432 ACCEPT tcp – 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:5432 root@vps [~]#
Realize o teste de acesso remoto ao banco de dados em questão:
Acesse um outro servidor via SSH;
Digite o comando no seguinte formato:
psql -h hostname_do_servidor nome_do_banco nome_do_userpgsql
Se a configuração estiver correta, basta digitar a senha quando solicitado e o terminal do banco de dados será mostrado.
Para garantir que a conexão com o banco de dados PostgreSQL seja bem-sucedida, é necessário verificar se a porta 5432 está aberta no TCP_OUT da configuração do CSF no servidor de origem da conexão e no TCP_IN do servidor que hospeda o banco de dados.