DBとかよく分からないんですけど・・・(´・ω・` )
これ最近知ったのでメモしておきます。
postgresに接続するときに、パスワードを設定しているとこうなります。
pgsqlユーザでtestというデータベースに接続。
# /usr/local/pgsql/bin/psql -U pgsql test
Password for user pgsql: ←パスワード入力
で、今回のメモは .pgpass で接続の度に入力するパスワード入力を
省略しちゃおうぜっていう話です。
今回の場合は、pgsqlユーザでDBに接続するので
まずはユーザのホームディレクトリへいきます。
# cd /home/pgsql
ここで、 .pgpass という隠しファイルを作成して
中に必要な情報を書きます。
例)
# vi .pgpass
localhost:5432:test:pgsql:hoge
各情報は
hostname:port:database:username:password
こんな感じでコロンで区切ります。
意味的には
localhost(接続先)の5432ポートであがってるpostgresの
testというデータベースにpgsqlユーザで
hogeというパスワード使って接続するよ!
ということなので、
もし接続先、ポート、データベースをどれでも接続可能にしたいという場合は
「*」を使います。
*:*:*:pgsql:hoge
ちなみにこの隠しファイルは権限を600にしないといけないようです。
全部設定が終わったら、もう1度接続して確認してみましょー
# /usr/local/pgsql/bin/psql -U pgsql test
Welcome to psql 8.3.5, the PostgreSQL interactive terminal.
test=>
test=>
test=>
とぅえーい( ・∀・)ノ
でもこれって、パスワード省略はいいけど
.pgpassには平文でパスワード書かれてるからなんか微妙ですよね。。