- 1. 概要
- 2. 設定
- 3. 反映
- 4. ずるずる
- 5. 参考サイト
1. 概要
外部からの接続設定を行う際は。
pg_hba.conf
を編集します。
2. 設定
下記は、「FreeBSD」の「PostgreSQL 16.8_1」のデフォルトの状態です。
# TYPE DATABASE USER 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
# IPv6 local connections:
host all all ::1/128 trust
# Allow replication connections from localhost, by a user with the
# replication privilege.
local replication all trust
host replication all 127.0.0.1/32 trust
host replication all ::1/128 trust
編集の際は、「FreeBSD」では「postgres」ユーザ権限で編集しないと後で権限の問題が発生しますので、
sudo -u postgres vim /var/db/postgres/data16/pg_hba.conf
で編集します。
「Windows」は、適当な、テキストエディタあれば、かまわないかとおもいます。
データベースをどこの誰からでも参照可能にするには、1カラム目のコメント用「#」をはずすだけですが、これでは危険極まりないので、許可するアドレスを下記の要領で設定します。
TYPE |
localは UNIX のドメインソケット使用の接続を示し host は TCP/IP を使用した接続を示します。 |
DATABASE | データベース名を記述します all を指定すると全データベースを指定することになります
| USER | ロール名を指定します
| CIDR-ADDRESS |
標準のドット区切り10進表記でのIPアドレスとCIDRマスクの長さを指定します |
METHOD | ユーザ認証を行う方法を指定します
ident | ident(RFC1413)による認証を行う |
trust | 認証処理を行わず、スルーでパスさせる |
reject | 接続を拒否する |
password [password_file] | パスワードファイルによる認証を行う |
crypt | PostgreSQL のシステムテーブル pg_shadow による認証を行う |
md5 | MD5 暗号化パスワードによる認証を行う |
kbr4/kbr5 | Kerberos V4/V5 による認証を行う |
|
「pg_hba.conf」は、上から順に見ていき、条件にマッチした行が見つかると、それが適用されます。
3. 反映
設定を変更した際は、サービスを再起動します。
再起動は、必須と思っていたのですが、「Windows」では、変更して再起動しないままに、反映されました?
4. ずるずる
セキュリティが確保された状態では、すべての接続を許可するには、下記の設定が可能です。
host all all 127.0.0.1/32 trust
セキュリティ的に、ずるずるなので、お勧めはできません。
5. 参考サイト
本ページは、下記のサイトを参考にさせていただきました。
「pg_hba.conf ファイル」
「PostgreSQL #2 PostgreSQL に外部から接続する」
|
|