Problema de acesso com o usuário postgres

1. Problema de acesso com o usuário postgres

Leandro Cruz Ferreira
leandrocruzti

(usa Outra)

Enviado em 06/04/2020 - 08:44h

Amigos, bom dia.

Estou com um problema e gostaria que vocês me ajudassem a solucioná-lo. Tenho um Windows Server que está rodando o Ubuntu 16.04 em uma VM do VirtualBox. Nesta máquina está instalado o PostgreSQL 10 que estava funcionando perfeitamente, porém ao realizar o acesso hoje o usuário padrão postgres não está conseguindo acessar. Ao usar o comando psql -U postgres -h localhost insiro o usuário e senha. Logo depois obtenho este retorno:

psql: could not connect to server: Connection refused
Is the server running on host "localhost" (:::1) and accepting TCP/IP connections on port 5432?
could not connect to server: Connection refused
Is the server running on host "localhost" (127.0.0.1) and accepting TCP/IP connections on port 5432?

Eu já realizei os seguintes procedimentos:

1 - Utilizei o iptables para liberar a porta 5432:
iptables -A INPUT -p tcp --dport 5432 -j ACCEPT

2 - Alterei as configurações do arquivo pg_hba.conf de forma a liberar conexões acessos:
host all all 127.0.0.1/32 md5
host all all 0.0.0.0/0 md5


3. Alterei o arquivo postgresql.conf também para liberar conexões:
listen_address = '*'
porte = 5432


Em todos os comandos eu reiniciei o serviço do Postgres e nada adiantou. O que mais eu posso fazer? Quem já passou por esta situação que poderia me ajudar?


  


2. Re: Problema de acesso com o usuário postgres

Afonso T Freitas
atf

(usa openSUSE)

Enviado em 06/04/2020 - 09:22h

Essa mensagem, "connection refused", geralmente tem como causa a ausência do serviço "postgre' no servidor.
Explica melhor a situação porque, se você roda o "postgres" numa maquina virtual e você está acessando de sua máquina real, o endereço não será "127.0.0.1". Esse seria o caso se você estivesse acessando da máquina virtual "ubuntu'.

LinuxUser#142898


3. Re: Problema de acesso com o usuário postgres

Leandro Cruz Ferreira
leandrocruzti

(usa Outra)

Enviado em 07/04/2020 - 15:47h

atf escreveu:

Essa mensagem, "connection refused", geralmente tem como causa a ausência do serviço "postgre' no servidor.
Explica melhor a situação porque, se você roda o "postgres" numa maquina virtual e você está acessando de sua máquina real, o endereço não será "127.0.0.1". Esse seria o caso se você estivesse acessando da máquina virtual "ubuntu'.

LinuxUser#142898


Eu consegui resolver o problema acessando uma segunda VM que eu tinha e copiei as configurações do pg_hba.conf desta para a que estava com problemas. Eu acabei identificando que o problema estava relacionado a uma das configurações. No caso, eu deixei habilitada apenas as seguintes opções:

# IPv4 local connections:
host all all 127.0.0.1/32 md5
# IPv4 local connections:
host all all ::1/128 md5

Com isto o usuário local postgres dentro da VM conseguiu se conectar. Agora estou com um segundo problema:

Tenho uma máquina física (não é o host da VM) que está na mesma rede porém não está conseguindo se conectar ao banco de dados através do PGAdmin. Ao inserir as informações de conexões estou obtendo a seguinte mensagem:

Unable to connect to server:

could not connect to server: Connection refused (0x0000274D/10061)
Is the server running on host "192.168.0.236" and accepting
TCP/IP connections on port 5432?

Isto seria um bloqueio por parte do Ubuntu ou do VirtualBox?


4. Re: Problema de acesso com o usuário postgres

Leandro Silva
LSSilva

(usa Outra)

Enviado em 07/04/2020 - 15:59h

Eu acho que o erro antes, era relacionado à isto:

listen_address = '*'
porte = 5432


Este "porte", seria "port".

Para liberar acesso à rede interna (no seu caso é 192.168.0.0/24), terá que fazer a seguinte configuração:

-Acessar o arquivo "pg_hba.conf"

E adicionar a seguinte entrada:

host all all 192.168.0.0/24 trust

Se o firewall não estiver bloqueando irá dar certo.

Se estiver vai ter que adicionar a network na source da zone que está configurado (não sei se é firewalld) e também a porta do postgres (ou serviço).




5. Re: Problema de acesso com o usuário postgres

Leandro Cruz Ferreira
leandrocruzti

(usa Outra)

Enviado em 07/04/2020 - 16:00h

Para informação: eu tenho 5 servidores com Ubuntu, sendo 3 são virtuais. Nos servidores físicos eu consigo realizar a conexão com o banco de dados através do PGAdmin sem problemas, mas nenhuma máquina virtual eu consigo fazer o mesmo, me levando a crer que o problema esteja relacionado ao VirtualBox.

As três máquinas estão configuradas como Bridge pois preciso estar no mesmo range de IPs dos outros computadores. Todos eles estão visíveis pela rede ao dar o comando PING, portanto o problema está na porta, que parece que o VirtualBox acaba bloqueando.


6. Re: Problema de acesso com o usuário postgres

Leandro Cruz Ferreira
leandrocruzti

(usa Outra)

Enviado em 07/04/2020 - 16:12h

LSSilva escreveu:

Eu acho que o erro antes, era relacionado à isto:

listen_address = '*'
porte = 5432


Este "porte", seria "port".

Para liberar acesso à rede interna (no seu caso é 192.168.0.0/24), terá que fazer a seguinte configuração:

-Acessar o arquivo "pg_hba.conf"

E adicionar a seguinte entrada:

host all all 192.168.0.0/24 trust

Se o firewall não estiver bloqueando irá dar certo.

Se estiver vai ter que adicionar a network na source da zone que está configurado (não sei se é firewalld) e também a porta do postgres (ou serviço).



Sobre o "porte", eu digitei errado pois não consegui copiar as informações do arquivo diretamente para o fórum. Me desculpe.

Eu fiz como sugerido e coloquei a faixa de IP no final do arquivo pg_hba.conf. Também acessei as regras de firewall do Windows Server e criei a entrada e saída para a porta 5432. Por último reiniciei o serviço do Postgres mas mesmo assim o PGAdmin não consegue se conectar ao banco.


7. Re: Problema de acesso com o usuário postgres

Rodrigo
omag0

(usa Debian)

Enviado em 07/04/2020 - 20:43h

É obrigatório o uso de VM? Se não for, use docker


8. Re: Problema de acesso com o usuário postgres

Leandro Silva
LSSilva

(usa Outra)

Enviado em 08/04/2020 - 09:44h

leandrocruzti escreveu:

LSSilva escreveu:

Eu acho que o erro antes, era relacionado à isto:

listen_address = '*'
porte = 5432


Este "porte", seria "port".

Para liberar acesso à rede interna (no seu caso é 192.168.0.0/24), terá que fazer a seguinte configuração:

-Acessar o arquivo "pg_hba.conf"

E adicionar a seguinte entrada:

host all all 192.168.0.0/24 trust

Se o firewall não estiver bloqueando irá dar certo.

Se estiver vai ter que adicionar a network na source da zone que está configurado (não sei se é firewalld) e também a porta do postgres (ou serviço).



Sobre o "porte", eu digitei errado pois não consegui copiar as informações do arquivo diretamente para o fórum. Me desculpe.

Eu fiz como sugerido e coloquei a faixa de IP no final do arquivo pg_hba.conf. Também acessei as regras de firewall do Windows Server e criei a entrada e saída para a porta 5432. Por último reiniciei o serviço do Postgres mas mesmo assim o PGAdmin não consegue se conectar ao banco.


Não precisa pedir desculpas por isto. É porque se realmente estivesse errado, acredito que ele apresentaria erro e não iniciaria o serviço (que, salvo engano, parecia ser sintoma inicial).

Realmente, deve ser o VirtualBox mesmo. Mas pelo que o pessoal tá falando aqui, bridge deveria servir (https://forums.virtualbox.org/viewtopic.php?f=8&t=83322).
Muito estranho.

Pode ser que o virtualbox esteja tentando usar a conexão interna dele para fazer comunicação entre vm's (ou eu estou viajando), mas se for o caso, se você adicionar:

host all all 0.0.0.0/0 trust

No lugar desta última que te enviei, que é: "host all all 192.168.0.0/24 trust", deve funcionar.




9. Re: Problema de acesso com o usuário postgres

Leandro Cruz Ferreira
leandrocruzti

(usa Outra)

Enviado em 09/04/2020 - 09:26h

omag0 escreveu:

É obrigatório o uso de VM? Se não for, use docker


Como não tenho experiência com docker e foi algo feita de emergência, as VMs foi a única solução que possuía.


10. Re: Problema de acesso com o usuário postgres

Leandro Cruz Ferreira
leandrocruzti

(usa Outra)

Enviado em 09/04/2020 - 10:00h

LSSilva escreveu:

leandrocruzti escreveu:

LSSilva escreveu:

Eu acho que o erro antes, era relacionado à isto:

listen_address = '*'
porte = 5432


Este "porte", seria "port".

Para liberar acesso à rede interna (no seu caso é 192.168.0.0/24), terá que fazer a seguinte configuração:

-Acessar o arquivo "pg_hba.conf"

E adicionar a seguinte entrada:

host all all 192.168.0.0/24 trust

Se o firewall não estiver bloqueando irá dar certo.

Se estiver vai ter que adicionar a network na source da zone que está configurado (não sei se é firewalld) e também a porta do postgres (ou serviço).



Sobre o "porte", eu digitei errado pois não consegui copiar as informações do arquivo diretamente para o fórum. Me desculpe.

Eu fiz como sugerido e coloquei a faixa de IP no final do arquivo pg_hba.conf. Também acessei as regras de firewall do Windows Server e criei a entrada e saída para a porta 5432. Por último reiniciei o serviço do Postgres mas mesmo assim o PGAdmin não consegue se conectar ao banco.


Não precisa pedir desculpas por isto. É porque se realmente estivesse errado, acredito que ele apresentaria erro e não iniciaria o serviço (que, salvo engano, parecia ser sintoma inicial).

Realmente, deve ser o VirtualBox mesmo. Mas pelo que o pessoal tá falando aqui, bridge deveria servir (https://forums.virtualbox.org/viewtopic.php?f=8&t=83322).
Muito estranho.

Pode ser que o virtualbox esteja tentando usar a conexão interna dele para fazer comunicação entre vm's (ou eu estou viajando), mas se for o caso, se você adicionar:

host all all 0.0.0.0/0 trust

No lugar desta última que te enviei, que é: "host all all 192.168.0.0/24 trust", deve funcionar.



Realizei a alteração sugerida e mesmo assim não surtiu efeito. Estou achando realmente não deve haver solução senão colocar em modo NAT conforme vi em outros fóruns, sendo que neste caso a VM não vai estar no mesmo range de IPs que preciso.

Alguém mais tem alguma solução que eu não consigo enxergar?


11. Problema de acesso com o usuário postgres

Afonso T Freitas
atf

(usa openSUSE)

Enviado em 10/04/2020 - 09:15h

Já verificou se a porta 5432 está bloqueada pelo firewall?

LinuxUser#142898


12. Re: Problema de acesso com o usuário postgres

Leandro Cruz Ferreira
leandrocruzti

(usa Outra)

Enviado em 13/04/2020 - 11:38h

atf escreveu:

Já verificou se a porta 5432 está bloqueada pelo firewall?

LinuxUser#142898


Sim, além de configurar no iptables a sua liberação, no próprio firewall do Windows eu fiz a liberação.



01 02



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts