PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Connexion PostgreSQL à distance avec pgAdmin

Tout d'abord, testez si vous pouvez vous connecter à la base de données via psql :

psql -h ip_address -d name_of_the_database -U username

Si vous obtenez une erreur de connexion refusée, vous devez configurer quelque chose de mal et vérifier Que dois-je vérifier si la connexion à distance à PostgreSQL ne fonctionne pas ?

psql: could not connect to server: Connection refused Is the server running on host ip_address

Que dois-je vérifier si la connexion à distance à PostgreSQL ne fonctionne pas ?

  1. Vérifiez la configuration de l'authentification dans pg_hba.conf

    Généralement situé sur Linux - /etc/postgresql/version/main/pg_hba.conf .Vous devez autoriser l'authentification pour le client pour une adresse IP spécifique à partir de toutes les adresses IP :

    # Database administrative login by Unix domain socket
    local     all            postgres        peer
    
    # TYPE  DATABASE        USER            ADDRESS                 METHOD
    
    # "local" is for Unix domain socket connections only
    local     all            all             peer
    # IPv4 local connections:
    host     all             all             0.0.0.0/0               md5
    # IPv6 local connections:
    host     all             all             ::0/0                   md5
    #all ips
    host     all             all             all                     md5
    

    Plus d'informations sur la configuration de pg_hba.conf vous pouvez trouver dans la documentation .

  2. Ensuite, vous devez configurer l'écoute sur un port spécifique.

    Vous devez trouver le postgresql.conf . Généralement situé /etc/postgresql/9.1/main/postgresql.conf ) fichier et changez la ligne avec listen_address de :

    #listen_address = ''
    

    à (n'oubliez pas de supprimer # qui signifie commentaire) :

    listen_address = '*'
    
  3. Après chaque étape, vous devez redémarrer le service Postgresql :

    sudo service postgresql restart
    
  4. Après l'étape 2, vous devriez voir le port 5432 (ou 5433) dans l'adresse d'écoute après la commande netstat :

    netstat -ntlp
    
  5. Après cela, vous devez ouvrir le port pour PostgreSQL dans le pare-feu :

    sudo ufw allow 5432
    

    Vous pouvez vérifier les paramètres du pare-feu avec (vous devriez voir 5432 dans la liste) :

    sudo ufw status
    
  6. Si l'une des étapes précédentes ne fonctionne pas, vous devez vérifier si PostgreSQL ne s'exécute pas sur un port différent (généralement 5433) et répéter les étapes précédentes.

    Cela se produit très souvent lorsque vous avez plusieurs versions de PostgreSQL en cours d'exécution ou que vous mettez à niveau la base de données et que vous avez oublié d'arrêter la version précédente de PostgreSQL.

Si vous avez des problèmes pour trouver les fichiers de configuration, vous pouvez vérifier ce fil Où sont mes fichiers postgres *.conf ? .