linuxのpostgresqlの設定ファイル
アクセス設定などのファイルの位置を忘れがちなため、メモしておく。
以下の設定ファイルは、環境によってパスが異なるため、注意すること。
動作環境
RHEL6.5
psql (PostgreSQL) 8.4.5
pg_hba.conf
パス:/var/lib/data/pg_hba.conf
DBへのアクセス制限を設定するファイル。
# TYPE DATABASE USER CIDR-ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all trust
# IPv4 local connections:
host all all 127.0.0.1/32 trust
host all all 192.168.0.1/24 password
# IPv6 local connections:
host all all ::1/128 trust
- CIDR-ADDRESS:IPとサブネットを指定できる。
- METHOD:認証方式を設定できる。
- trust/reject 無条件で許可/拒否
- scram-sha-256 SCRAM暗号化でパスワード認証(10以降)
- md5 MD5暗号化でパスワード認証
- password 平文でパスワード認証(非推奨)
- ident/peer OSとデータベースユーザ名との一致で認証
- cert SSLクライアント証明書で認証
.pgpass
パス:~/.pgpass
DBへアクセスする際のロールとパスワードを予め設定するファイル。
ホスト毎に設定可能。
接続先のDBにパスワードでのアクセス制御が設定されている場合、設定しておくこと。
設定していないと、シェルスクリプトを実行した際に、パスワードを確認されてシェルが止まってしまう。
192.168.0.1:5432:*:postgres:パスワード
192.168.0.2:5432:*:postgres:パスワード
設定の反映方法
上記の設定ファイルを編集した場合、設定の反映を忘れないこと。
RHEL6.X~の場合、以下の操作で設定を反映する。
/etc/init.d/postgresql reload
RHEL7.X~の場合、以下の操作で設定を反映する。
systemctl reload postgresql.service
検索の方法
どこにあるか分からない場合、findで検索する。
find / -name pg_hba.conf 2> /dev/null