Como configurar o PostgreSQL para aceitar todas as conexões de entrada

106

Eu tenho um banco de dados PostgreSQL que gostaria de configurar para aceitar todas as conexões de entrada, independentemente do endereço IP de origem. Como isso pode ser configurado no arquivo pg_hba.conf? Estou usando o postgreSQL versão 8.4.

Fergal
fonte

Respostas:

215

Basta usar 0.0.0.0/0.

host    all             all             0.0.0.0/0            md5

Certifique-se de que listen_addressesin postgresql.conf(ou ALTER SYSTEM SET) permite conexões de entrada em todas as interfaces IP disponíveis.

listen_addresses = '*'

Após as alterações, você deve recarregar a configuração. Uma maneira de fazer isso é executá-lo SELECTcomo superusuário.

SELECT pg_reload_conf();
Frank Heikens
fonte
isso realmente funciona com tipo md5? Achei que seria necessário usar tipo trust...
Dan LaRocque
5
"trust" permite que todos os usuários se conectem sem nenhuma senha. Isso é algo que eu não usaria, uma senha é o mínimo que você deve sempre usar. Até no seu próprio computador.
Frank Heikens
1
ah, eu li a pergunta de forma diferente - achei que ele quisesse dizer aceitar conexões de todos os clientes incondicionalmente (para alguns testes sem importância, talvez). eu vejo o que você quer chegar agora.
Dan LaRocque
6
NOTA : Se sua rede for IPv6, você precisará usar ::/0ao invés de 0.0.0.0/0ao modificar o arquivo pg_hba.conf.
Aron Boyette
2
Certifique-se de que postgrespossui uma senha forte: sudo -u postgres psql, \password.
Adobe de
47

0.0.0.0/0 para todos os endereços IPv4

::0/0 para todos os endereços IPv6

all para corresponder a qualquer endereço IP

samehost para corresponder a qualquer um dos próprios endereços IP do servidor

samenet para corresponder a qualquer endereço em qualquer sub-rede à qual o servidor está conectado diretamente.

por exemplo

host    all             all             0.0.0.0/0            md5
Owen Pauling
fonte
0

Configuração de todos os arquivos com postgres 12 em centos:

etapa 1: pesquisar e editar o arquivo

sudo vi /var/lib/pgsql/12/data/pg_hba.conf

pressione "i" e na linha altere IPv4

host    all             all             0.0.0.0/0            md5

etapa 2: pesquisar e editar o arquivo postgresql.conf

sudo vi /var/lib/pgsql/12/data/postgresql.conf

adicione a última linha: listen_addresses = '*': wq! (salvar arquivo) - etapa 3: reiniciar

systemctl restart postgresql-12.service
Trithucsv
fonte
-6

Adicione esta linha a pg_hba.conf da pasta postgres

host    all    all    all    trust

"trust" permite que todos os usuários se conectem sem nenhuma senha.

Convidado
fonte
Você pode adicionar algum comentário ao código? Onde colocar e como funciona?
Alistra de
4
Embora este trecho de código seja bem-vindo e possa fornecer alguma ajuda, seria muito melhor se incluísse uma explicação de como e por que isso resolve o problema. Lembre-se de que você está respondendo às perguntas para os leitores no futuro, não apenas para a pessoa que está perguntando agora! Por favor edite sua resposta para adicionar explicação, e dar uma indicação do que limitações e premissas se aplicam.
Toby Speight de
permitir conexões de todos os ips é realmente inseguro
sandes