POSTGRES-psql:严重:用户“root”的对等身份验证失败

POSTGRES-psql:严重:用户“root”的对等身份验证失败

我正在尝试在 Postgres v9.5 上为 root 配置对等身份验证。我的目标是允许 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

以root用户身份运行psql测试时出错:

psql:严重:用户“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 作业运行那么它会创建一个空文件。

有人可以帮忙吗?

答案1

您不是尝试以 连接,root而是以 连接dbadmin。您的输入pg_hba.conf应如下所示:

local all dbadmin peer map=mymap

那么您也需要以该用户身份运行 psql: # psql -U dbadmin

相关内容