1. ホーム
  2. bash

[解決済み] pg_dump にパスワードを渡すには?

2022-03-23 09:52:37

質問

何か致命的なことが起こる前に、毎晩データベースをバックアップするためのcronjobを作成しようとしています。このコマンドは私のニーズを満たしているように見えます。

0 3 * * * pg_dump dbname | gzip > ~/backup/db/$(date +%Y-%m-%d).psql.gz

ただし、これを実行した後、パスワードを入力するように要求されます。cronから実行すると、それができないんです。どうすれば自動的にパスワードを入力できるのでしょうか?

解決方法は?

を作成します。 .pgpass を実行するアカウントのホームディレクトリにある pg_dump として実行されます。

という形式になっています。

hostname:port:database:username:password

そして、ファイルのモードを 0600 . そうでない場合は無視されます。

chmod 600 ~/.pgpass

Postgresqlのドキュメントを参照 libpq-pgpass をご覧ください。