Impossible de se connecter à une base de données Postgresql
coco_1084
Messages postés
8
Statut
Membre
-
Utilisateur anonyme -
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 !
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
-
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 ?
-
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.
-
-
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 -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
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+
-
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 -
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. -
Tu as peut être 2 postgres en fonction ?
Sa donne quoi ça :
ps -aux | grep -i postgresql
-
Alors je pense qu'il y a un problème puisqu'il me renvoie
ps: No user named 'x'
-
-
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 -
-
J'ai cherché une correspondance pour mac mais j'ai pas trouvé il m'as renvoyé ça
netstat: lnt: unknown or uninstrumented protocol
-
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 dansvar -> 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