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

coco_1084 Messages postés 8 Statut Membre -  
 Utilisateur anonyme -
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

  1. Utilisateur anonyme
     
    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 ?
    0
  2. coco_1084 Messages postés 8 Statut Membre
     
    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.
    0
  3. Utilisateur anonyme
     
    ok et que retourne

    netstat -a | grep -i postgresql

    0
  4. coco_1084 Messages postés 8 Statut Membre
     
    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
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Utilisateur anonyme
     
    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+
    0
  7. coco_1084 Messages postés 8 Statut Membre
     
    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
    0
  8. coco_1084 Messages postés 8 Statut Membre
     
    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.
    0
  9. Utilisateur anonyme
     
    Tu as peut être 2 postgres en fonction ?

    Sa donne quoi ça :

    ps -aux | grep -i postgresql

    0
  10. coco_1084 Messages postés 8 Statut Membre
     
    Alors je pense qu'il y a un problème puisqu'il me renvoie

    ps: No user named 'x'
    0
  11. Utilisateur anonyme
     
    c'est peut-être différent sur mac

    ps -ef | grep -i postgresql 

    0
  12. coco_1084 Messages postés 8 Statut Membre
     
    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
    0
  13. Utilisateur anonyme
     
    ok toujours pour debugger

    netstat -plnt

    0
  14. coco_1084 Messages postés 8 Statut Membre
     
    J'ai cherché une correspondance pour mac mais j'ai pas trouvé il m'as renvoyé ça

    netstat: lnt: unknown or uninstrumented protocol
    0
  15. Utilisateur anonyme
     
    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
    0