はじめに
ときどき実施が必要な PostgreSQL の vacuum。定期的にタスクスケジューラで以下のようなバッチを起動するよう設定していましたが、動作していないことがわかりました。
REM バッチファイル vacuumdb -U foo -a -w > "vacuum.log"
バックアップのために pg_dumpall もタスクスケジューラから定期的に実行していますが、こちらも同様に失敗しています。
パスワードファイルを用意する
パスワードファイルがないことが原因かと思い、作成しました。
Windows の場合、それは %APPDATA%postgresql\pgpass.conf
です。
作成しましたが、しかしまだ成功しません。
パスワードファイルへのパスを設定する
パスワードファイルは上記の場所へ置けばいいだけのはずですが、念のため環境変数でフルパスを指示します。
REM バッチファイル set PGPASSWORD="C:\Users\foo\AppData\Roaming\postgresql\pgpass.conf" vacuumdb -U foo -a -w > "vacuum.log"
これでやっと上手くいきました。
pg_dumpall も同じ方法で成功しました。
pg_hba.conf による方法
host all foo 127.0.0.1/32 trust host all foo ::1/128 trust
こちらの方法では上手くいきませんでした。
参考
後になってから見つけました。
顧客対応サポートシステム desknet's CAMSマニュアル
ネットの情報は Linux が多く、また PostgreSQL の書籍をじっくり読むなどしてちゃんと学んだこともないのですが、こういうところで躓きますね。
[改訂新版]内部構造から学ぶPostgreSQL 設計・運用計画の鉄則 (Software Design plus)
- 作者: 勝俣智成,佐伯昌樹,原田登志
- 出版社/メーカー: 技術評論社
- 発売日: 2018/09/14
- メディア: 単行本(ソフトカバー)
- この商品を含むブログを見る