Come configurare PostgreSQL per accettare tutte le connessioni in entrata


106

Ho un database PostgreSQL che vorrei configurare per accettare tutte le connessioni in entrata indipendentemente dall'indirizzo IP di origine. Come può essere configurato nel file pg_hba.conf? Sto usando la versione 8.4 di postgreSQL.

Risposte:


216

Basta usare 0.0.0.0/0.

host    all             all             0.0.0.0/0            md5

Assicurati che listen_addressesin postgresql.conf(o ALTER SYSTEM SET) consenta le connessioni in entrata su tutte le interfacce IP disponibili.

listen_addresses = '*'

Dopo le modifiche è necessario ricaricare la configurazione. Un modo per farlo è eseguirlo SELECTcome superutente.

SELECT pg_reload_conf();

funziona davvero con il tipo md5? Ho pensato che sarebbe stato necessario usare il tipo trust...
Dan LaRocque

5
"trust" consente a tutti gli utenti di connettersi senza alcuna password. È qualcosa che non userei, una password è il minimo indispensabile che dovresti sempre usare. Anche sul tuo computer.
Frank Heikens

1
ah, ho letto la domanda in modo diverso - pensavo che intendesse accettare incondizionatamente le connessioni da tutti i clienti (per qualche banco di prova non importante, forse). vedo cosa stai ottenendo adesso.
Dan LaRocque

6
NOTA : se la rete è IPv6, è necessario utilizzare ::/0al contrario di 0.0.0.0/0quando si modifica il file pg_hba.conf.
Aron Boyette

2
Assicurati di postgresavere una password complessa: sudo -u postgres psql, \password.
Adobe

47

0.0.0.0/0 per tutti gli indirizzi IPv4

::0/0 per tutti gli indirizzi IPv6

all per abbinare qualsiasi indirizzo IP

samehost per abbinare uno qualsiasi degli indirizzi IP del server

samenet per abbinare qualsiasi indirizzo in qualsiasi sottorete a cui il server è direttamente connesso.

per esempio

host    all             all             0.0.0.0/0            md5


0

Configurazione di tutti i file con postgres 12 su centos:

passaggio 1: cerca e modifica il file

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

premere "i" e alla riga IPv4 cambiare

host    all             all             0.0.0.0/0            md5

passo 2: cerca e modifica il file postgresql.conf

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

aggiungi l'ultima riga: listen_addresses = '*': wq! (salva file) - passaggio 3: riavvia

systemctl restart postgresql-12.service

-6

Aggiungi questa riga a pg_hba.conf della cartella postgres

host    all    all    all    trust

"trust" consente a tutti gli utenti di connettersi senza alcuna password.


Puoi forse aggiungere qualche commento al codice? Dove metterlo e come funziona?
Alistra

4
Sebbene questo frammento di codice sia il benvenuto e possa fornire un aiuto, sarebbe notevolmente migliorato se includesse una spiegazione di come e perché questo risolve il problema. Ricorda che stai rispondendo alla domanda per i lettori in futuro, non solo alla persona che lo chiede ora! Si prega di modificare la risposta di aggiungere una spiegazione, e dare un'indicazione di ciò si applicano le limitazioni e le assunzioni.
Toby Speight

consentire connessioni da tutti ips è davvero insicuro
sandes
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.