Impossible de se connecter à une base de données Postgresql

Bonjour à tous,
Je développe actuellement sur mac et n'arrive pas en php à me connecter à ma BDD
Le message d'erreur est le suivant :

Warning: pg_connect(): Unable to connect to PostgreSQL server: could not connect to server: Connection refused Is the server running on host "localhost" (::1) and accepting TCP/IP connections on port 5432? could not connect to server: Connection refused Is the server running on host "localhost" (127.0.0.1) and accepting TCP/IP connections on port 5432?

Alors j'ai tout essayé (modifier les fichiers postgresql.conf et pg_hba.conf et redémarré le serveur postgresql) et fait plusieurs manips trouvées sur internet...

Je vous mets également mon script php au cas où :

<?php
$db = pg_connect("host=localhost port=5432 dbname=bd***** user=postgres password=******");
if(!$db){
echo "Error : Unable to open database\n";
} else {
echo "Opened database successfully\n";
}
?>

Merci à ceux qui essaieront de me débloquer !

14 réponses

  • Votes
  • Date
  • Date décroissante
  1. Salut,

    Je ne connais pas trop sur MAC, mais es-ce que postgresql est actif ?

    dans un terminal, si tu tape:

    psql


    tu obtiens quoi ?
    1. Alors pour lancer postgresql j'utilise dans le terminal :

      brew services start postgresql


      Et il me renvoie qu'il est déjà démarré :

      Service `postgresql` already started, use `brew services restart postgresql` to restart.
      1. il me retourne ça :

        tcp6       0      0  localhost.postgresql   localhost.60419        ESTABLISHED
        tcp6 0 0 localhost.60419 localhost.postgresql ESTABLISHED
        tcp6 0 0 localhost.postgresql localhost.60402 ESTABLISHED
        tcp6 0 0 localhost.60402 localhost.postgresql ESTABLISHED
        tcp4 0 0 *.postgresql *.* LISTEN
        tcp6 0 0 *.postgresql *.* LISTEN
        1. Salut,

          bon j'espérais voir autre autre chose dans netstat, mais il semblerait que tu as des connexions qui sont se font, tu as des autres applications qui utilisent postgresql de lancées ?

          Tu as modifié quoi dans les fichiers postgresql.conf et pg_hba.conf ?

          Postgresql a déjà fonctionné sur cet ordinateur ?

          A+
          1. Salut,

            Alors le plus étrange c'est que j'ai PGAdmin 4 d'ouvert et celui-ci fonctionne très bien en localhost puisque je peux créer des BDD, etc

            J'ai vérifié dans postgresql.conf et j'avais bien ces deux lignes qui n'étaient pas commentées

            listen_addresses = '*'	

            port = 5432


            Et dans le fichier pg_hba.conf voici ce qui ressort (j'ai juste mit trust partout pour la méthode)

            # TYPE  DATABASE        USER            ADDRESS                 METHOD

            # "local" is for Unix domain socket connections only
            local all all trust
            # IPv4 local connections:
            host all all 127.0.0.1/32 trust
            # IPv6 local connections:
            host all all ::1/128 trust
            # Allow replication connections from localhost, by a user with the
            # replication privilege.
            local replication all trust
            host replication all 127.0.0.1/32 trust
            host replication all ::1/128 trust


            Sachant qu'effectivement je n'ai jamais réussit par le passé sur cet ordinateur à faire la connexion
            1. Si ça peut aider j'ai mis ce code :

              pg_ctl -D /usr/local/var/postgres start


              et j'ai obtenu le résultat suivant :

              waiting for server to start....2020-07-31 14:28:06.174 CEST [31379] LOG:  starting PostgreSQL 12.3 on x86_64-apple-darwin19.4.0, compiled by Apple clang version 11.0.3 (clang-1103.0.32.59), 64-bit
              2020-07-31 14:28:06.175 CEST [31379] LOG: could not bind IPv6 address "::1": Address already in use
              2020-07-31 14:28:06.175 CEST [31379] HINT: Is another postmaster already running on port 5432? If not, wait a few seconds and retry.
              2020-07-31 14:28:06.175 CEST [31379] LOG: could not bind IPv4 address "127.0.0.1": Address already in use
              2020-07-31 14:28:06.175 CEST [31379] HINT: Is another postmaster already running on port 5432? If not, wait a few seconds and retry.
              2020-07-31 14:28:06.175 CEST [31379] WARNING: could not create listen socket for "localhost"
              2020-07-31 14:28:06.175 CEST [31379] FATAL: could not create any TCP/IP sockets
              2020-07-31 14:28:06.175 CEST [31379] LOG: database system is shut down
              stopped waiting
              pg_ctl: could not start server
              Examine the log output.
              1. Tu as peut être 2 postgres en fonction ?

                Sa donne quoi ça :

                ps -aux | grep -i postgresql

                1. Alors je pense qu'il y a un problème puisqu'il me renvoie

                  ps: No user named 'x'
                  1. c'est peut-être différent sur mac

                    ps -ef | grep -i postgresql 

                    1. Effectivement

                        503  9793     1   0  3:49   ??         0:01.00 /Library/PostgreSQL/12/bin/postmaster -D/Library/PostgreSQL/12/data
                      501 32915 32589 0 3:10 ttys001 0:00.01 grep -i postgresql
                      1. J'ai cherché une correspondance pour mac mais j'ai pas trouvé il m'as renvoyé ça

                        netstat: lnt: unknown or uninstrumented protocol
                        1. re,

                          on va bien finir par trouver une solution ...

                          tu arrive à te connecter depuis un terminal ?

                          - stop PGAdmin
                          - redémarre postgresql
                          - essai de te connecter depuis un terminal

                          psql -d tabase -h localhost -p 5432 -U postgres


                          - essais de voir ce qui se passe dans les log, chez c'est dans
                           var -> log -> postgresql -> postgresql-12-main.log


                          Je n'ai pas mis le chemin des logs avec des / car le forum bloque mon message.

                          Puis essais de nouveau en te connectant avec PHP et vérifie de nouveau les logs

                          Discussions similaires

                          503 Service Unavailable

                          1 réponse