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?
la source
pg_hba.conf
avant 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.