
Preciso acessar um banco de dados postgresql de uma máquina remota em um VPS na DigitalOcean rodando 12.10 e postgresql 9.1.
Como eu faço isso? Percebi que a porta 5432 está fechada, como faço para abrir isso?
Responder1
Para abrir a porta 5432 edite /etc/postgresql/9.1/main/postgresql.conf
e altere
listen_addresses='localhost'
para
listen_addresses='*'
e reinicie seu DBMS
invoke-rc.d postgresql restart
agora você pode se conectar com
$ psql -h hostname -U username -d database
se você não conseguir se autenticar, precisará conceder ao seu usuário direitos de acesso ao seu banco de dados
Edite seu
/etc/postgresql/9.1/main/pg_hba.conf
e adicione
host all all all md5
(Isto é para um acesso totalmente aberto. Para um controle mais rigoroso, consulte oDocumentação pg_hba.confe ajuste de acordo com suas necessidades).
A partir de agora você também precisará recarregar
invoke-rc.d postgresql reload
Não preciso falar que esta é uma configuração básica, agora você deve pensar em modificar seu firewall e melhorar a segurança do seu SGBD.
Responder2
Isso não funciona mais, se é que alguma vez funcionou:
hospedar todos todos * md5
As possíveis linhas corretas para isso são:
hospedar todos os 0.0.0.0/0 md5 # intervalo ipv4
hospedar todos todos ::0/0 md5 #intervalo ipv6
hospedar todos todos todos md5 #all ip
Responder3
Para a mensagem "servidor não escuta", o que aconteceu comigo foi que eu não apago # no arquivo postgresql.conf quero dizer:
#listen_addresses='localhost'
para:
listen_addresses='*'
(Desculpe pelo meu Inglês).
Responder4
Após a configuração, você precisa definir:
Em/etc/postgresql/10/main/postgresql.conf
# Connection Settings -
listen_addresses = '*' # what IP address(es) to listen on;
Em/etc/postgresql/10/main/pg_hba.conf
# IPv4 local connections:
host all all 0.0.0.0/0 md5
Reinicie seu servidor:
sudo /etc/init.d/postgresql restart