ねもぷらす

ふぁいんでぃんぐねもの日記。プログラミングとか育児とか

師匠、すんませんでした

$PGDATA/pg_hba.conf
こいつの設定で

host    all   all         192.168.12.10     255.255.255.255   passwd

となっている場合、psqlによる接続時には絶対にパスワード入力が必要、という認識でした。
本来なら設計段階で気付いていなければいけない内容であり、実機環境が与えられた段階で判断できる項目であったハズなのに…
何が不足していたのか…「そんなに大変ではない」という先入観が設計段階で手抜きしてしまいました。
DB周りはまだまだ弱いですorz精進せねば…

ちなみに「絶対パスワードが必要」と思い込んでいましたが、そんなこともなかったようです(汗
師匠から解決方法を伝授していただきましたm(_ _)m
方法は2通り。環境変数PGPASSWORD を設定するか、パスワードファイル~/.pgpass を作成するか。

1.環境変数PGPASSWORD

export PGPASSWORD=接続したいDBのパスワード


2.~/.pgpass

$ cd
$ echo "hostname:port:database:username:password" > .pgpass
$ chmod  0600 .pgpass

接続するDBとパスワードを関連付けるファイル。
http://www.postgresql.jp/document/pg746doc/html/libpq-pgpass.html


上記1か2を行うことで、psql接続時にパスワードを入力しなくて済みます。
高いセキュリティを目指すならさらに md5 とかを使うほうが良いのでしょうが、内部ネットワークでの接続なら十分なのかな??と思います。