Odpowiedzi:
Po prostu użyj 0.0.0.0/0
.
host all all 0.0.0.0/0 md5
Upewnij się, że listen_addresses
in postgresql.conf
(lub ALTER SYSTEM SET
) zezwala na połączenia przychodzące na wszystkich dostępnych interfejsach IP.
listen_addresses = '*'
Po zmianach musisz ponownie załadować konfigurację. Jednym ze sposobów jest wykonanie tego SELECT
jako superużytkownik.
SELECT pg_reload_conf();
::/0
a nie 0.0.0.0/0
podczas modyfikowania pliku pg_hba.conf.
postgres
masz silne hasło: sudo -u postgres psql
, \password
.
0.0.0.0/0
dla wszystkich adresów IPv4
::0/0
dla wszystkich adresów IPv6
all
aby dopasować dowolny adres IP
samehost
aby dopasować dowolny z własnych adresów IP serwera
samenet
aby dopasować dowolny adres w dowolnej podsieci, z którą serwer jest bezpośrednio połączony.
na przykład
host all all 0.0.0.0/0 md5
Oprócz powyższych świetnych odpowiedzi, jeśli chcesz, aby jakiś zakres adresów IP był autoryzowany, możesz edytować /var/lib/pgsql/{VERSION}/data
plik i wstawić coś takiego
host all all 172.0.0.0/8 trust
Będzie akceptować połączenia przychodzące z dowolnego hosta z powyższego zakresu. Źródło: http://www.linuxtopia.org/online_books/database_guides/Practical_PostgreSQL_database/c15679_002.htm
Konfiguracja wszystkich plików z postgres 12 na centos:
Krok 1: wyszukaj i edytuj plik
sudo vi /var/lib/pgsql/12/data/pg_hba.conf
naciśnij "i", a na linii zmień IPv4
host all all 0.0.0.0/0 md5
krok 2: wyszukaj i edytuj plik postgresql.conf
sudo vi /var/lib/pgsql/12/data/postgresql.conf
dodaj ostatnią linię: Listen_addresses = '*': wq! (zapisz plik) - krok 3: restart
systemctl restart postgresql-12.service
Dodaj tę linię do pg_hba.conf folderu postgres
host all all all trust
„zaufanie” umożliwia wszystkim użytkownikom łączenie się bez hasła.
md5
? Pomyślałem, że konieczne będzie użycie typutrust
...