web-dev-qa-db-fra.com

Comment configurer PostgreSQL pour accepter toutes les connexions entrantes

Je souhaite configurer une base de données PostgreSQL pour accepter toutes les connexions entrantes, quelle que soit l'adresse IP source. Comment cela peut-il être configuré dans le fichier pg_hba.conf? J'utilise la version 8.4 de PostgreSQL.

90
Fergal

Il suffit d'utiliser 0.0.0.0/0.

Host    all             all             0.0.0.0/0            md5

Assurez-vous que le listen_addresses dans postgresql.conf (ou ALTER SYSTEM SET ) autorise les connexions entrantes sur toutes les interfaces IP disponibles.

listen_addresses = '*'

Après les modifications, vous devez recharger la configuration. Une façon de faire est d’exécuter SELECT en tant que superutilisateur.

SELECT pg_reload_conf();
177
Frank Heikens

0.0.0.0/0 pour toutes les adresses IPv4

::0/0 pour toutes les adresses IPv6

all pour correspondre à n'importe quelle adresse IP

samehost pour correspondre à l'une des adresses IP du serveur

samenet pour correspondre à toute adresse d'un sous-réseau auquel le serveur est directement connecté.

par exemple.

Host    all             all             0.0.0.0/0            md5
38
Owen Pauling

Outre les excellentes réponses ci-dessus, si vous souhaitez qu'une plage d'adresses IP soit autorisée, vous pouvez éditer /var/lib/pgsql/{VERSION}/data fichier et mettre quelque chose comme

Host all all 172.0.0.0/8 trust

Il acceptera les connexions entrantes de tout hôte de la gamme ci-dessus. Source: http://www.linuxtopia.org/online_books/database_guides/Practical_PostgreSQL_database/c15679_002.htm

4
vvs14