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.
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();
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
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