postgreSQLで接続パスワード自動設定

1ヶ月ぶりの更新す。
最近忙しくてネタ書く暇がなかった。。。。

postgreSQLでバックアップを取ろうとする場合、あらかじめバッチを仕込んでおいてパスワードを自動入力したいな〜なんて際にDosコマンドのリダイレクトを使おうとして失敗。。。

db_backup.bat

pg_dump -h localhost -U hoge hogeDB < input.txt

input.txt(パスワードを記述したファイル)

hogehoge

リダイレクト入力でうまくいくと思ったが、パスワードの入力を促してるところでずっと進まない。

調べてみると、postgreSQLにはパスワードを自動入力するためのファイルが準備されているとな。
パスワードファイル -- postgreSQL --

ドキュメントによると、実行するユーザのホームディレクトリに「.pgpass」ファイルを準備して、パスワードの設定を記述してあげればよいとのこと。
Windowsの場合は%APPDATA%\postgresql\pgpass.conf)

今使っている僕の環境はWindowsなんで「C:\Documents and Settings\Administrator\Application Data\postgresql\pgpass.conf」に以下の記述をしてあげる。

localhost:5432:*:hoge:hogehoge

う〜む、リダイレクト入力を使いたいけど、とりあえずpg_dumpの場合はこれでやるしかないいですな。