Vous n'êtes pas identifié(e).
Bonjour à tous,
je rencontre un petit problème avec PostgreSQL
--> J’ai malheureusement plus le mdp pour me connecter au user en local (la db a été installée il y a longtemps)
Et je ne peux plus me connecter via terminal
Ce problème est en local sur mon mac version 10.15.4
L’autre problème que je rencontre (qui peut peut être en dire plus sur l’origine):
- quand j’entre dans l’app PostgreSQL12
J’ai une erreur de ce type
Port 5432 is already
Sauf que quand je lance la commande
lsof -i TCP:5432
je n’ai aucun process sur ce port
Lorsque j'ouvre mon fichier pg_hba.conf je me retrouve face à ça :
# "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
Voilà ce que j'obtiens quand j'ouvre les log
2020-04-28 19:28:52.579 CEST [12186] LOG: starting PostgreSQL 12.2 on x86_64-apple-darwin19.4.0, compiled by Apple clang version 11.0.3 (clang-1103.0.32.59), 64-bit
2020-04-28 19:28:52.626 CEST [12186] LOG: could not bind IPv6 address "::1": Address already in use
2020-04-28 19:28:52.626 CEST [12186] HINT: Is another postmaster already running on port 5432? If not, wait a few seconds and retry.
2020-04-28 19:28:52.626 CEST [12186] LOG: could not bind IPv4 address "127.0.0.1": Address already in use
2020-04-28 19:28:52.626 CEST [12186] HINT: Is another postmaster already running on port 5432? If not, wait a few seconds and retry.
2020-04-28 19:28:52.626 CEST [12186] WARNING: could not create listen socket for "localhost"
2020-04-28 19:28:52.626 CEST [12186] FATAL: could not create any TCP/IP sockets
2020-04-28 19:28:52.649 CEST [12186] LOG: database system is shut down
J'ai potentiellement un conflit entre le pq du mac et le pg de homebrew
brew list | grep postgre
te renvoie
postgresql
j'ai l'impression d'avoir deux dossier qui peuvent être :
usr/local/Cellar/postgresql/12.2_1/
et
/Library/PostgreSQL/12/
Mais je n'ai pas de manière claire pour tout reset
A votre écoute
Hors ligne
Ça part dans tous les sens et il faudrait déjà essayé de rendre les choses dans l'ordre. PostgreSQL est-il démarré ? notamment que donne un "ps -ef | grep postgres" (ou l'équivalent sous mac os) ?
Guillaume.
Hors ligne
Merci gleu !
Effectivement je suis parti dans plusieurs pistes car j'ai identifié deux problèmes
voilà ce que j'ai en retour :
ps -ef | grep postgres
502 302 134 0 Ven06 ?? 0:00.02 postgres: logger
502 304 134 0 Ven06 ?? 0:00.12 postgres: checkpointer
502 305 134 0 Ven06 ?? 0:01.47 postgres: background writer
502 306 134 0 Ven06 ?? 0:01.35 postgres: walwriter
502 307 134 0 Ven06 ?? 0:01.98 postgres: autovacuum launcher
502 308 134 0 Ven06 ?? 0:03.04 postgres: stats collector
502 309 134 0 Ven06 ?? 0:00.22 postgres: logical replication launcher
501 66601 66467 0 5:26 ttys000 0:00.01 grep --color=auto --exclude-dir=.bzr --exclude-dir=CVS --exclude-dir=.git --exclude-dir=.hg --exclude-dir=.svn postgres
Hors ligne
Donc PostgreSQL est lancé. Il manque le père des processus mais je suppose que vous le récupérez avec un "ps -ef | grep postmaster" ?
Guillaume.
Hors ligne
Et voici la réponse :
ps -ef | grep postmaster
502 134 1 0 Ven06 ?? 0:00.94 /Library/PostgreSQL/12/bin/postmaster -D/Library/PostgreSQL/12/data
501 67182 66467 0 5:53 ttys000 0:00.01 grep --color=auto --exclude-dir=.bzr --exclude-dir=CVS --exclude-dir=.git --exclude-dir=.hg --exclude-dir=.svn postmaster
Hors ligne
Si lsof -i TCP:5432 ne renvoie rien alors que que le port est en écoute, c'est peut-être un problème de droits.
Je n'ai pas de mac sous la main pour tester, mais sous linux c'est le cas.
Exécuter la commande avec sudo donnerait peut-être un résultat plus fiable.
D'après le résultat de ps il y a bien un postgres qui tourne et vous pouvez vraisemblablement vous connecter avec l'exécutable /Library/PostgreSQL/12/bin/psql
@DanielVerite
http://blog-postgresql.verite.pro/
Hors ligne
Merci beaucoup.
Effectivement, la commande ne renvoie rien. Et la commande psql, elle fonctionne correctement.
Donc j'en viens à mon premier problème qui est celui du mot de passe.
Par défaut le user est celui de mon mac, et j'ai aussi essayé en utilisant le sudo qui me demande le mot de passe pour le user root pour lancer psql.
Seulement, je ne me souviens plus du mot de passe que j'y avais mis.
C'est à ce moment que j'avais tenté de reconfigurer le fichier pg_hba.conf
Hors ligne
Si vous ne connaissez plus le mot de passer pour vous connecter à PostgreSQL, le mieux est de modifier la méthode d'authentification par trust dans le fichier pg_hba.conf, puis de demander à PostgreSQL de recharger la configuration. Ceci fait, vous pourrez vous connecter, changer le mot de passe, puis remettre l'ancienne configuration du fichier pg_hba.conf.
Guillaume.
Hors ligne
Effectivement en faisant
lsof -i TCP:5432
j'obtiens
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
postgres 134 postgres 4u IPv6 0x32019573ca7c8c71 0t0 TCP *:postgresql (LISTEN)
postgres 134 postgres 5u IPv4 0x32019573ca1db921 0t0 TCP *:postgresql (LISTEN)
Concernant les paramètres set à "trust" c'est la cas (cf mon premier post ou je partage le fichier pg_hba.conf)
Et quand je restart le service avec
pg_ctl -D /usr/local/var/postgres stop
pg_ctl -D /usr/local/var/postgres start
Voilà ce que j'obtiens
apres le stop
pg_ctl: PID file "/usr/local/var/postgres/postmaster.pid" does not exist
Is server running?
Après le start
waiting for server to start....2020-05-06 12:33:23.971 CEST [74586] LOG: starting PostgreSQL 12.2 on x86_64-apple-darwin19.4.0, compiled by Apple clang version 11.0.3 (clang-1103.0.32.59), 64-bit
2020-05-06 12:33:23.972 CEST [74586] LOG: could not bind IPv4 address "127.0.0.1": Address already in use
2020-05-06 12:33:23.972 CEST [74586] HINT: Is another postmaster already running on port 5432? If not, wait a few seconds and retry.
2020-05-06 12:33:23.972 CEST [74586] LOG: could not bind IPv6 address "::1": Address already in use
2020-05-06 12:33:23.972 CEST [74586] HINT: Is another postmaster already running on port 5432? If not, wait a few seconds and retry.
2020-05-06 12:33:23.972 CEST [74586] WARNING: could not create listen socket for "localhost"
2020-05-06 12:33:23.972 CEST [74586] FATAL: could not create any TCP/IP sockets
2020-05-06 12:33:23.972 CEST [74586] LOG: database system is shut down
stopped waiting
pg_ctl: could not start server
Examine the log output.
Hors ligne
Clairement vous avez deux PostgreSQL avec deux PGDATA indépendants installés:
- un dans /usr/local/var/postgres (typiquement c'est brew qui s'installe là) qui n'est pas démarré
- un dans /Library/PostgreSQL/12/data qui est démarré (typiquement c'est EDB qui s'installe là)
cf https://wiki.postgresql.org/wiki/Installers/Mac_OS_X qui est un peu datée mais donne une idée des installeurs sur mac.
Le pg_hba.conf à modifier devrait être dans /Library/PostgreSQL/12/data/pg_hba.conf
Actuellement vous modifiez probablement celui sous /usr/local/...., qui ne sert pas puisque l'instance PG configurée sur ce répertoire ne tourne pas.
@DanielVerite
http://blog-postgresql.verite.pro/
Hors ligne