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"
次に、以下のエントリでcronタスクを作成しました。
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