Windows で postgresql をコマンドラインで操作する場合、インストールすると一緒についてくる SQL Shell を使用することがある。そのときサーバー・データベース名・ポート・ユーザ名・クライアントエンコーディングなどを入力する必要がある。
こんな感じ。
ただし、デフォルト表示されている内容で問題なければ Enter キーを押下していくだけで良い。
デフォルトの値を変更する方法は以下の記事を参考に。
下図の場合、 Enter を押せば、赤線で示した内容を入力したことになる。
だけど、最後の「ユーザ xx のパスワード:」と表示されている部分で、パスワードだけは入力しないといけない。これがメンドイ。
パスワードを入力しなくてすむように設定する
ソフトウェアのバージョンは次のとおり。
OS : Windows7
Postgresql : 9.5.3
一言で言えば「パスワードファイル」を作成して、所定の場所に置いておくだけだ。
このサイトの内容をわかりやすくまとめたい。
https://www.postgresql.jp/document/9.4/html/libpq-pgpass.html
パスワードファイルを置く場所
先ほどのサイトから引用。
Microsoft Windowsでは、このファイルの名前は%APPDATA%\postgresql\pgpass.conf(ここで%APPDATA%はユーザのプロファイル内のアプリケーションデータディレクトリ)です。
[%APPDATA%]ってどこ?って人は、コマンドプロンプトで [ set APPDATA ] と打ってみる。
私の場合、[ C:\Users\yyama\AppData\Roaming ]がそのフォルダにあたる。この下に[ postgresql ]というフォルダを作成する。
パスワードファイルの名前
さきほどの引用にもあるが Windows の場合、[ pgpass.conf ]というファイル名になる。 Linux の場合は「ユーザのホームディレクトリの.pgpassまたはPGPASSFILEで設定されるファイル」となっている。
ファイルの内容
ホスト名・ポート・データベース名・ユーザ名・パスワードをコロンで区切って書き込んでおく。
こんな感じ。最初に#がある行は、コメントとして無視される。
#hostname:port:database:username:password localhost:5432:postgres:postgres:postgres
複数ユーザのパスワードも管理する
パスワードファイルには複数行書き込むことができる。他のユーザや、postgresql内のほかのデータベースのパスワードも管理できる。
まずは[ new_user ]というユーザを作った。
そして、[ pgpass.conf ]ファイルに1行追記し、以下のように修正した。
#hostname:port:database:username:password localhost:5432:postgres:postgres:postgres localhost:5432:postgres:new_user:pass1
そうすると[ new_user ]でログインする際にも、パスワードの入力は不要になった。
ワイルドカードも使えるよ!
例えば、先ほど追加したユーザ[ new_user ]のパスワードがユーザ[ postgres ]と同じ[ postgres ]だったとする。その場合、ユーザにかかわらずパスワードは[ postgres ]で良いことになる。
その際には、[ pgpass.conf ]ファイルのユーザ名のところに[ * ]をセットすれば、1行で書いても OK だ。
#hostname:port:database:username:password localhost:5432:postgres:*:postgres
以上、開発時、パスワード入力のひと手間を不要にする方法をメモした。当たり前だが、本番環境でこのような設定を行ってはいけません!
内部構造から学ぶPostgreSQL 設計・運用計画の鉄則 (Software Design plus)
- 作者: 勝俣智成,佐伯昌樹,原田登志
- 出版社/メーカー: 技術評論社
- 発売日: 2014/09/04
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (2件) を見る
- 作者: 鈴木啓修
- 出版社/メーカー: 技術評論社
- 発売日: 2012/11/16
- メディア: 単行本(ソフトカバー)
- 購入: 2人 クリック: 14回
- この商品を含むブログ (5件) を見る
- 作者: 笠原辰仁,北川俊広,坂井潔,坂本昌彦,佐藤友章,石井達夫
- 出版社/メーカー: 翔泳社
- 発売日: 2011/02/02
- メディア: 大型本
- 購入: 3人 クリック: 28回
- この商品を含むブログ (6件) を見る