| ファイル名(絶対パス) |
概 略 |
| /var/lib/pgsql/data/postgresql.conf |
PostgreSQL環境設定ファイル |
| /var/lib/pgsql/data/pg_hba.conf |
認証方法設定ファイル |
| /var/lib/pgsql/data/pg_ident.conf |
ident認証ファイル |
(1)PostgreSQL環境設定ファイル
環境設定ファイルでは接続に関する項目を設定します。
PostgreSQLへの接続にはUnixドメイン接続(内部接続)と
TCP/IP接続(外部接続)の2種類があります。
環境設定ファイル
postgresql.conf |
項目(デフォルト) |
説明 |
|
TCP/IP経由の接続許可 |
#tipip_socket = false |
tcpip_socket = true
とすると外部からのTCP/IP接続を
有効にします。(デフォルトは無効) |
|
TCP/IP経由のポート番号 |
#port = 5432 |
TCP/IP接続する場合のポート番号を
設定します。(デフォルトは5432) |
|
同時接続の最大数 |
max_connections = 100 |
データベースサーバへの同時接続の
最大数を決定します。(デフォルトは100) |
|
パスワード保存時の暗号化 |
#password_encryption = true |
パスワードの暗号化を有効にします。
(デフォルトは有効) |
※主に使用する項目のみ抜粋
先頭に”#”がついてコメントになっている場合はデフォルトが適用されます。 |
(2)認証方法設定ファイル
/var/lib/pgsql/data/pg_hba.confに内部/外部接続の認証方法を指定します。
|
内部接続の記述例 |
local all all ident
sameuser |
|
外部接続の記述例 |
host all all
192.168.11.0 255.255.255.0 trust |
記述に関する各項目の書式と解説は以下のようになっています。
|
項目 |
書式 |
解説 |
|
TYPE |
local |
サーバ自身の接続に対応します。 |
|
host |
外部PCからのTCP/IP接続に対応します。 |
|
DATABASE |
データベース名 |
認証する任意のデータベースを指定します。 |
|
all |
すべてのデータベースに対応することを指定します。 |
|
USER |
Postgresユーザー名 |
認証する任意のPostgresユーザーを指定します。 |
|
all |
すべてのユーザーに対応することを指定します。 |
|
IP-ADDRESS |
IPアドレス |
外部接続を許可するIPアドレスを指定します。
※TYPEがhostの場合のみ適用されます。 |
|
IP-MASK |
IPマスク |
IPアドレスのマスク(適用範囲)を指定します。
※TYPEがhostの場合のみ適用されます。 |
|
METHOD |
trust |
無条件で接続許可する場合に指定します。 |
|
md5 |
認証時にMD5(暗号化)パスワードを要求する場合に
指定します。 |
|
crypt |
認証時にパスワードを要求する場合に指定します。
※この暗号化はバージョン7.2以前をサポートする場合に
使用します。 |
|
password |
認証時にパスワードを要求する場合に指定します。
※パスワード送信時に暗号化を行いません。 |
|
ident |
ident認証する場合に指定します。 |
|
OPTION |
マップ名 |
ident認証する任意のマップ名を指定します。 |
|
sameuser |
無条件で接続されます。 |
(3)ident認証ファイル
(2)認証方法設定ファイルでident認証を使い、OPTION設定項目が
マップ名(sameuser以外)の場合、ident認証ファイル内に書かれているマップ名と
ログインしているLinuxユーザー名(IDENT-USERNAME)に対応する
PostgreSQLユーザー名(PG-USERNAME)として接続できます。
具体的な記述例:
Linuxユーザー”asakusa”でログインしていて、認証方法にidentマップ認証を指定している場合
|
設定ファイル名 |
設定の記述内容 |
解説 |
|
pg_hba.conf |
local all all ident
hogemap |
マップ名”hogemap”としてident認証を指定。 |
|
pg_ident.conf |
hogemap asakusa ueno |
この記述内容の書式は
・MAPNAME →hogemap
・IDENT-USERNAME→asakusa
・PG-USERNAME →ueno
となります。
Linuxユーザー”asakusa”でログインしている場合、
postgresユーザー”ueno”としてデータベースに
接続されます。 |
※Linuxユーザー”asakusa”としてログインしている場合はPostgreSQLに接続できますが、
それ以外のユーザーとしてログインしていた場合は接続失敗となります。 |
記述に関する各項目の書式と解説は以下のようになります。
|
項目 |
書式 |
解説 |
|
MAPNAME |
local all all trust |
無条件で接続されます。 |
|
IDENT-USERNAME |
local all all ident sameuser |
Linux上のユーザーとPostgreSQL上のユーザーが
一致した場合に接続できます。 |
|
PG-USERNAME |
local all all md5 |
パスワードを暗号化して認証します。 |