PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

Vous n'êtes pas identifié(e).

#1 22/10/2018 14:34:12

dznet
Membre

Erreur : "FATAL: authentification peer échouée pour l'utilisateur"

Bonjour,

J'utilise postgres depuis peu, je suis habitué à MySQL ou MariaDB.

J'ai fait l'installation de postgresql 10 sur CentOS 7

Pas de soucis lors de l'installation, tout vas bien, j'arrive à me connecter avec l'utilisateur postgres, mais en passant par sa cession

[root@bdds ~]# su postgres
bash-4.2$ psql
could not change directory to "/root": Permission non accordée
psql (10.5)
Type "help" for help.

postgres=# 

Mais impossible de me connecter directement via une autre session, et cela que ce soit avec

psql -U postgres

ou

psql -U postgres -h localhost
psql -U postgres -D postgres -h localhost

J'ai l'erreur :

psql: FATAL:  authentification Ident échouée pour l'utilisateur « postgres »

J'ai créer un autre utilisateur toto avec la commande suivante

CREATE ROLE toto LOGIN CREATEDB CREATEROLE INHERIT;

Mais en pareil en me connectant avec "psql -U toto" j'ai le même message d'erreur.

Merci de votre aide et explication.

Dz

Hors ligne

#2 22/10/2018 15:17:47

ruizsebastien
Membre

Re : Erreur : "FATAL: authentification peer échouée pour l'utilisateur"

bonjour,

si vous faisiez "su - postgres" au lieu de "su postgres" vous vous placeriez avec l'environnement du user postgres et non pas celui de root.


Cordialement,

Sébastien.

Hors ligne

#3 22/10/2018 15:24:48

dznet
Membre

Re : Erreur : "FATAL: authentification peer échouée pour l'utilisateur"

ruizsebastien a écrit :

bonjour,

si vous faisiez "su - postgres" au lieu de "su postgres" vous vous placeriez avec l'environnement du user postgres et non pas celui de root.

Oui, je sais, mais ce n'est pas le prolème.
Le problème c'est pour se connecter à la base en faisant : psql -U postgres

Hors ligne

#4 22/10/2018 15:38:29

ruizsebastien
Membre

Re : Erreur : "FATAL: authentification peer échouée pour l'utilisateur"

pouvez-vous nous poster votre pg_hba.conf (sans les lignes commentées) ?


Cordialement,

Sébastien.

Hors ligne

#5 22/10/2018 15:47:40

dznet
Membre

Re : Erreur : "FATAL: authentification peer échouée pour l'utilisateur"

Voici le fichier

# TYPE  DATABASE        USER            ADDRESS                 METHOD

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

Hors ligne

#6 22/10/2018 16:12:37

ruizsebastien
Membre

Re : Erreur : "FATAL: authentification peer échouée pour l'utilisateur"

le user postgres a t'il été créé dans l'instance ?

Pour faire une connexion peer (en local) ou ident (à distance), il faut être sûr de 2 choses :
- le user postgres existe dans l'instance
- vous êtes connecté à l'OS en tant que postgres

il faut que les 2 users matchent exactement.


Cordialement,

Sébastien.

Hors ligne

#7 22/10/2018 18:17:48

dverite
Membre

Re : Erreur : "FATAL: authentification peer échouée pour l'utilisateur"

Le pg_hba.conf par défaut est fait pour avoir un niveau de sécurité raisonnable par défaut.
C'est pourquoi il faut être utilisateur postgres sous Unix pour se connecter sans mot de passe en tant qu'utilisateur de BDD du même nom.

Si vous voulez que n'importe quel utilisateur Unix puisse se connecter avec psql -U postgres
sans mot de passe, remplacer le champ METHOD (le plus à droite) sur cette règle:

local   all             all                                     peer

par celle-là:

local   all             all                                     trust

Si vous voulez la même chose mais avec un mot de passe, utiliser comme méthode md5 et non trust.


Pour les connexions via -h localhost, c'est la ligne d'après qui est à modifier:

host    all             all             127.0.0.1/32            ident

Toutes les lignes du pg_hba.conf sont interprétées dans l'ordre comme si c'était un IF ligne1 ... ELSIF ligne2.. ELSIF ligne3.. ELSIF..

Il faut aussi faire un reload du service pour que les changements de pg_hba.conf soient pris en compte.

Hors ligne

#8 25/10/2018 10:20:46

dznet
Membre

Re : Erreur : "FATAL: authentification peer échouée pour l'utilisateur"

Bonjour,

désolé pour le retard de ma réponse.

Effectivement avec les modifications données par dverite, j'arrive maintenant à me connecter depuis un autre user avec psql -U toto

Question,

faut-il pour chaque utilisateur sa base pour se connecter ? même si il a des privilèges LOGIN CREATEDB CREATEROLE INHERIT

Merci

Hors ligne

#9 25/10/2018 11:17:54

dverite
Membre

Re : Erreur : "FATAL: authentification peer échouée pour l'utilisateur"

faut-il pour chaque utilisateur sa base pour se connecter

Non pas spécialement. Quand on lance psql sans l'option -d pour désigner une base, il utilise par défaut le nom de l'utilisateur Unix comme nom de base. Pareil pour -U d'ailleurs. C'est le seul lien entre nom d'utilisateur et nom de base.

Hors ligne

Pied de page des forums