web-dev-qa-db-fra.com

Comment autoriser l'accès à distance à la base de données PostgreSQL

PostgreSQL 9.2 est installé sur Windows 7 et Windows XP est installé sur la machine virtuelle. Comment puis-je connecter ces deux bases de données et autoriser l'accès distant pour ajouter/modifier la base de données à partir des deux systèmes?

24
Ali4356

Pour accéder à distance à une base de données PostgreSQL, vous devez définir les deux fichiers de configuration principaux de PostgreSQL:

postgresql.conf
pg_hba.conf

Voici une brève description de la manière de les configurer (notez que la description suivante est purement indicative: pour configurer une machine en toute sécurité, vous devez connaître tous les paramètres et leur signification.)

Tout d’abord, configurez le service PostgreSQL pour qu’il écoute sur le port 5432 sur toutes les interfaces réseau de la machine Windows 7:
ouvre le fichier postgresql.conf (généralement situé dans C:\Program Files\PostgreSQL\9.2\data) et définit le paramètre

listen_addresses = '*'

Vérifiez l'adresse réseau de la machine virtuelle Windows XP et définissez les paramètres dans le fichier pg_hba.conf (situé dans le même répertoire que postgresql.conf) afin que postgresql puisse accepter les connexions des hôtes de machine virtuelle.
Par exemple, si la machine avec Windows XP a une adresse IP 192.168.56.2, ajoutez le fichier pg_hba.conf:

Host all all 192.168.56.1/24 md5

de cette façon, PostgreSQL acceptera les connexions de tous les hôtes du réseau 192.168.1.XXX.

Redémarrez le service PostgreSQL dans Windows 7 (Services-> PosgreSQL 9.2: clic droit et redémarrez le service). Installez pgAdmin sur la machine Windows XP et essayez de vous connecter à PostgreSQL.

52
AndreaBoc

Si vous utilisez PostgreSql 9.5.1, veuillez suivre la configuration ci-dessous:

  1. Ouvrez le fichier hg_hba.conf dans pgAdmin  pgAdmin
  2. Sélectionnez votre chemin et ouvrez-le, puis ajoutez un paramètre  pg_hba.conf
  3. Redémarrer le service postgresql
6
176coding

Après avoir défini listen_addresses = '*' dans postgresql.conf

Editez le fichier hba_file.conf Et ajoutez l'entrée suivante à la toute fin du fichier:

Host    all             all              0.0.0.0/0                       md5
Host    all             all              ::/0                            md5

Pour trouver les fichiers de configurationce lien pourrait vous aider.

3

Vous devez ajouter ceci à votre pg_hba.conf et redémarrer votre PostgreSQL.

Tout héberger 192.168.56.1/24 md5

Cela fonctionne avec VirtualBox et l'adaptateur pour hôte uniquement activé. Si vous n'utilisez pas Virtualbox, vous devez remplacer l'adresse IP.

2
Jonathan Egerton

En plus des réponses ci-dessus suggérant la modification des fichiers de configuration pg_hba.conf et postgresql.conf et le redémarrage du service PostGreSQL, sur certains ordinateurs Windows 7, il pourrait également être nécessaire d'activer le port (par exemple 5432) pour TCP trafic que le serveur PostGreSQL peut recevoir.

Si cela est nécessaire sur votre ordinateur, veuillez ouvrir le Pare-feu Windows et ajouter une règle entrante pour le port (par exemple 5432). Essayez maintenant de vous connecter à nouveau à partir de pgAdmin sur l’ordinateur client.

1
Jim C