POSTGRES - psql: FATAL: L'authentification entre homologues a échoué pour l'utilisateur “root”

1

J'essaie de configurer l'authentification d'homologue pour root sous Postgres v9.5. Mon objectif est de permettre aux tâches cron d'exécuter pgdump pour créer des sauvegardes.

Mon fichier pg_hba.conf se présente comme suit:

local   all             postgres                      md5
local   all             root                          peer  map=mymap

Mon fichier pg_ident.conf se présente comme suit:

# MAPNAME       SYSTEM-USERNAME         PG-USERNAME

mymap           root                        dbadmin

L'erreur lors de l'exécution de psql pour tester en tant qu'utilisateur root est la suivante:

psql: FATAL: L'authentification entre homologues a échoué pour l'utilisateur "root"

J'ai vu des choses comme celle-ci ici, mais ils suggèrent les réglages que j'essaye déjà, mais ça ne marche pas. Est-ce que quelqu'un peut aider ou conseiller sur une solution différente?

J'ai essayé de créer un utilisateur 'de sauvegarde' avec les commandes ci-dessous sur postgres:

CREATE ROLE backup WITH LOGIN PASSWORD 'backuppasswd';
GRANT CONNECT ON DATABASE mydb To backup;

GRANT USAGE ON SCHEMA public TO backup;
GRANT SELECT ON ALL TABLES IN SCHEMA public TO backup;
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON TABLES TO backup;

J'ai ensuite couru ci-dessous:

export PGPASSWORD="backuppasswd"

J'ai ensuite créé une crontask avec l'entrée ci-dessous:

14 11 * * * pg_dump -U backup -h localhost mydb > /<mypath>

Si j'exécute " pg_dump -U backup -h localhost mydb > /<mypath>"depuis la ligne de commande, la sauvegarde est créée, mais si je laisse le travail cron s'exécuter, un fichier vide est créé.

Quelqu'un peut aider?

RLBChrisBriant
la source

Réponses:

1

Vous n'essayez pas de vous connecter en tant rootque dbadmin. Votre entrée dans pg_hba.confdevrait ressembler à ceci:

local all dbadmin peer map=mymap

alors vous devez exécuter psql avec l'utilisateur aswell: # psql -U dbadmin

volée
la source
Le
message d'
Cela fonctionne pour moi lorsque j'utilise ces entrées exactes. Avez-vous d'autres entrées pg_hba.confavant celles que vous avez postées? Postgres ne vérifie que la première entrée correspondant à la connexion. Par conséquent, s’il existe une entrée différente qui ne vous permet pas de vous connecter, elle s’arrête là et refuse l’accès.
flwd
Il a la ligne "local tout homologue postgres", avant.
RLBChrisBriant
Hm, cette ligne est censée être là. Je suis à court d'idées, désolé.
flwd
J'ai essayé quelque chose de nouveau, mais je n'arrive toujours pas à le faire fonctionner. J'ai ajouté à mon message original, quelqu'un peut-il aider?
RLBChrisBriant le