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?
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.
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.
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.
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.