Impossible de se connecter PostgreSQL base de données distante en utilisant pgAdmin

StackOverflow https://stackoverflow.com/questions/1287067

  •  18-09-2019
  •  | 
  •  

Question

J'ai installé PostgreSQL sur mon serveur local (Ubuntu) avec IP 192.168.1.10. Maintenant, je suis en train d'accéder à la base de données de mon ordinateur client (Ubuntu) avec 192.168.1.11 IP avec pgAdmin.

Je sais que je dois faire des changements dans postgresql.conf et pg_hba.conf pour permettre au client de se connecter. Pourriez-vous s'il vous plaît me guider?

Était-ce utile?

La solution

Il est en fait un processus en 3 étapes pour se connecter à un serveur PostgreSQL à distance via pgAdmin3.

  

Note: J'utilise Ubuntu 11.04 et PostgreSQL 8.4.

  1. Vous devez faire PostgreSQL l'écoute des connexions TCP entrantes à distance parce que les paramètres par défaut permettent d'écouter uniquement les connexions sur l'interface loopback. Pour être en mesure d'atteindre le serveur que vous devez ajouter à distance la ligne suivante dans le fichier /etc/postgresql/8.4/main/postgresql.conf:

    listen_addresses = '*'

  2. PostgreSQL par défaut refuse toutes les connexions qu'il reçoit de toute adresse distante, vous devez assouplir ces règles en ajoutant cette ligne à /etc/postgresql/8.4/main/pg_hba.conf:

    hôte tous les 0.0.0.0/0 md5

    Ceci est une règle de contrôle d'accès qui laissez personne vous connecter à partir de toute adresse s'il peut fournir un mot de passe valide (le mot-clé md5). Vous pouvez utiliser le réseau nécessaire / masque au lieu de 0.0.0.0/0.

  3. Lorsque vous avez appliqué ces modifications à vos fichiers de configuration, vous devez redémarrer le serveur PostgreSQL. Maintenant, il est possible de connecter à distance votre serveur, en utilisant le nom d'utilisateur et mot de passe.

Autres conseils

Si vous utilisez PostgreSQL 8 ou au-dessus, vous devrez peut-être modifier la mise en listen_addresses /etc/postgresql/8.4/main/postgresql.conf.

Essayez d'ajouter la ligne:

listen_addresses = *

qui dira PostgreSQL pour écouter les connexions sur toutes les interfaces réseau.

Si pas explicitement définie, ce paramètre par défaut pour localhost ce qui signifie qu'il acceptera uniquement les connexions à partir de la même machine.

Je ne devais pas changer mon fichier prostgresql.conf mais je ne dois faire ce qui suit en fonction de ma psql via la ligne de commande se connectait et pgAdmin ne se connecte pas sur RDS avec AWS.

J'ai eu mon RDS mis à disposition du public. Je me suis assuré mon ACL et les groupes de sécurité ont été ouverts et toujours problème, je l'ai fait ce qui suit: sudo find . -name *.conf puis sudo nano ./data/pg_hba.conf puis ajouté en haut des directives dans le fichier pg_hba.conf host all all 0.0.0.0/0 md5 et pgAdmin me connecté automatiquement.

Cela a également travaillé dans le fichier pg_hba.conf host all all md5 sans adresse IP et cela a fonctionné aussi avec mon adresse IP host all all <myip>/32 md5

Comme une note de côté, mon RDS était dans mon défaut VPC. J'ai eu une instance RDS identique dans mon VPC non par défaut avec le groupe de sécurité identique, ACL et les paramètres du groupe de sécurité à mon défaut VPC et je ne pouvais pas le faire fonctionner. Je ne sais pas pourquoi, mais, ce sera pour un autre jour.

Dans terminal Linux, essayez ceci:

  • sudo service postgresql start: pour démarrer le serveur
  • sudo service postgresql stop: pour te arrêter le serveur
  • sudo service postgresql status: pour vérifier l'état du serveur

Pour linux redhat

sudo vi /var/lib/pgsql9/data/postgresql.conf 

pgsql9 est le dossier pour la version postgres installée, peut être différent pour les autres

changé listen_addresses = '*' de listen_addresses = « localhost » puis

sudo /etc/init.d/postgresql stop
sudo /etc/init.d/postgresql start

Vérifiez votre pare-feu. Lorsque vous désactivez, vous pouvez vous connecter. Si vous souhaitez / ne peut pas désactiver le pare-feu, ajouter une règle pour votre connexion à distance.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top