Estou tentando executar um site enviado para mim, mas depois de fazer isso, esse erro apareceu
conectar ao servidor PostgreSQL: FATAL: nenhuma entrada pg_hba.conf para o host "4X.XXX.XX.XXX", usuário "userXXX", banco de dados "dbXXX", SSL desativado em C:\xampp\htdocs\xmastool\index.php ativado linha 37
Encontrei esta resposta que diz que só preciso adicionar uma entrada no pg_hba.conf
arquivo para esse usuário específico.
Este é o meu pg_hba.conf
arquivo.
# TYPE DATABASE USER ADDRESS METHOD
# IPv4 local connections:
local dbXXX userXXX md5
host dbXXX userXXX XX.XXX.XXX.XXX md5
host all all 127.0.0.1/32 md5
# IPv6 local connections:
host all all ::1/128 md5
# Allow replication connections from localhost, by a user with the
# replication privilege.
#host replication postgres 127.0.0.1/32 md5
#host replication postgres ::1/128 md5
mas depois de fazer isso, o erro ainda persiste. Reiniciei meu servidor XAMPP várias vezes, mas nada muda.
O que preciso mudar pg_hba.conf
?
Adicione ou edite a seguinte linha no seu
postgresql.conf
:Adicione a seguinte linha como a primeira linha de
pg_hba.conf
. Ele permite o acesso a todos os bancos de dados para todos os usuários com uma senha criptografada:Reinicie o Postgresql depois de adicionar isso com
service postgresql restart
ou o comando equivalente para sua configuração. Para cerveja,brew services restart postgresql
Esta solução funciona para IPv4 / IPv6:
Editar arquivo pga_hba.conf
Abra o
pga_hba.conf
arquivo em seu editor favorito:Anexar ao arquivo pga_hba.conf
Anexe as seguintes linhas ao final do
pga_hba.conf
arquivo:Saia e salve o editor de sua preferência.
Reiniciar serviço
Reinicie o
postgresql
serviço com o seguinte comando:A forma como resolvi isso foi:
Adicionada a linha como abaixo em
pg_hba.conf
:e isso foi modificado em
postgresql.conf
, conforme mostrado:Eu tinha essa instância em execução em um Centos 7.3 e Postgres 9.5 em uma VM no Azure , já que era um POC (prova de conceito) que você não deseja conectar sem SSL em seu ambiente de produção real.
Para me conectar à instância, eu estava usando o pgAdmin 4 no macOS Sierra .
Nova instalação do Postgres 9.5, Ubuntu.
A chave era o tipo de conexão local , já que o psql usa conexão de soquete de domínio.
pg_hba.conf
Instruções para usuários Debian.
Faça login como usuário posgres:
Obtenha a localização de pg_hba.conf consultando o banco de dados:
Abra pg_hba.conf:
Adicione a configuração onde diz "Coloque sua configuração real aqui":
Faça logout do seu usuário:
Reinicie seu servidor postgres para que as alterações entrem em vigor:
Adicione a seguinte linha na parte inferior de
pg_hba.conf
:hostnossl all all 0.0.0.0/0 md5
Adicione/modifique a linha em
postgresql.conf
:listen_addresses = '*'
CERTIFIQUE-SE DE QUE o usuário que está se conectando tenha uma senha: (Exemplo conectar usuário chamado
postgres
)uma. Execute o seguinte
psql
comando com apostgres
conta de usuário:sudo -u postgres psql postgres
b. Defina a senha:
# \password postgres
Isso abaixo funcionou para mim: (pg_hba.conf)
consulte para mais aqui
Eu tive o mesmo erro quando tentei me conectar a um banco de dados local usando um túnel SSH. Eu resolvi isso alterando o nome do host de
localhost
para127.0.0.1
.No meu caso, encontrei isso em que não tinha acesso para editar nenhum arquivo conf no servidor (.NET conectando-se a um banco de dados gerenciado no DigitalOcean), então as outras respostas não eram uma opção.
O host me forneceu um
postgresql://
URL de conexão que tinha uma?sslmode=
opção no final. Eu recebi exatamente o mesmo erro até adicionar ao meu connectionString .NET"SSL Mode=Prefer;Trust Server Certificate=true;"
traduzido .Essa pode não ser a solução ideal para mim ou para você, mas gostaria de salientar que é possível que este seja um problema com a string de conexão e não com a configuração do servidor.
No meu caso, tive que adicionar a linha exata sugerida pelas informações do erro. Não é possível ignorá-lo adicionando "todos" os usuários com todos os IPs como regra. Agora é como:
PosgreSQL 10.5 no CentOS 7.