PostgreSQL 17 : リモート接続の設定2025/11/25 |
|
PostgreSQL デフォルトではこちらに記載の通り、ローカルホストからのみの接続許可となっていますが、 他ホストからも接続したい場合は以下のように設定します。 |
|
| [1] | 認証方式は多々ありますが、当例では SCRAM-SHA-256 パスワードによる認証方式を設定します。 |
|
www:~ #
vi /var/lib/pgsql/data/postgresql.conf # 60行目 : コメント解除して変更 # IPv4 のみをリスンする場合は '0.0.0.0' を指定 listen_addresses = ' * '
www:~ #
vi /var/lib/pgsql/data/pg_hba.conf # 最終行に追記 # TYPE DATABASE USER ADDRESS METHOD # "local" is for Unix domain socket connections only local all all peer # IPv4 local connections: host all all 127.0.0.1/32 ident # IPv6 local connections: host all all ::1/128 ident # Allow replication connections from localhost, by a user with the # replication privilege. local replication all peer host replication all 127.0.0.1/32 ident host replication all ::1/128 ident # [ADDRESS] には接続を許可するネットワークを指定 # 全て許可する場合は [0.0.0.0/0] # [DATABASE], [USER] 列で接続許可するデータベースやユーザーも限定可 host all all 10.0.0.0/24 scram-sha-256www:~ # systemctl restart postgresql |
| [2] | Firewalld を有効にしている場合は、サービスの許可が必要です。 |
|
www:~ # firewall-cmd --add-service=postgresql success www:~ # firewall-cmd --runtime-to-permanent success |
| [3] | 任意の PostgreSQL ユーザーでパスワード認証でデータベースへ接続するために、パスワードをセットしておきます。 |
|
# 自身が所有するデータベースに接続 suse@www:~> psql -d testdb psql (17.6) Type "help" for help. # 自身のパスワードを設定/変更 testdb=> \password Enter new password for user "suse": Enter it again: testdb=> \q # PostgreSQL 管理ユーザーから任意のユーザーのパスワードを設定/変更する場合は以下 postgres@www:~> psql -c "alter user cent with password 'password';" ALTER ROLE |
| [4] | 設定が完了したら、PostgreSQL でアクセス許可を設定したネットワーク内の任意のホストから接続確認をしておきます。 |
|
node01:~ # psql -h www.srv.world -d testdb -U suse Password for user suse: # 設定したパスワード psql (17.6) Type "help" for help. testdb=> # 接続できた |
| Sponsored Link |
|
|