Назад | Перейти на главную страницу

POSTGRES - psql: FATAL: ошибка аутентификации однорангового узла для пользователя «root»

Я пытаюсь настроить одноранговую аутентификацию для root на Postgres v9.5. Моя цель - разрешить заданиям cron запускать pgdump для создания резервных копий.

Мой файл pg_hba.conf выглядит следующим образом:

local   all             postgres                      md5
local   all             root                          peer  map=mymap

Мой файл pg_ident.conf выглядит так:

# MAPNAME       SYSTEM-USERNAME         PG-USERNAME

mymap           root                        dbadmin

Ошибка при запуске psql для тестирования от имени пользователя root:

psql: FATAL: ошибка аутентификации однорангового узла для пользователя «root»

Я видел здесь такие вещи, но они предлагают настройки, которые я уже пробую, но это не работает. Может ли кто-нибудь помочь или посоветовать другое решение?

Я попытался создать «резервного» пользователя с помощью следующих команд в 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;

Затем я пробежал ниже:

export PGPASSWORD="backuppasswd"

Затем я создал crontask со следующей записью:

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

Если я сбегу "pg_dump -U backup -h localhost mydb > /<mypath>" из командной строки он создает резервную копию, но если я разрешаю запускать задание cron, он создает пустой файл.

Может кто поможет?

Вы не пытаетесь подключиться как root но, как dbadmin. Ваша запись в pg_hba.conf должно выглядеть так:

local all dbadmin peer map=mymap

тогда вам нужно запустить psql с пользователем: # psql -U dbadmin