PostgreSQL 16 : リモート接続の設定2024/05/30 |
PostgreSQL デフォルトではこちらに記載の通り、ローカルホストからのみの接続許可となっていますが、 他ホストからも接続したい場合は以下のように設定します。 |
|
[1] | 認証方式は多々ありますが、当例では scram-sha-256 パスワードによる認証方式を設定します。 |
root@www:~#
vi /etc/postgresql/15/main/postgresql.conf # 60行目 : コメント解除して変更 listen_addresses = ' * '
root@www:~#
vi /etc/postgresql/15/main/pg_hba.conf # 最終行に追記 # [ADDRESS] には接続を許可するネットワークを指定 # 全て許可する場合は [0.0.0.0/0] # [DATABASE], [USER] 列で接続許可するデータベースやユーザーも限定可 host all all 10.0.0.0/24 scram-sha-256root@www:~# systemctl restart postgresql |
[2] | 任意の PostgreSQL ユーザーでパスワード認証でデータベースへ接続するために、パスワードをセットしておきます。 |
# 自身が所有するデータベースに接続 ubuntu@www:~$ psql -d testdb psql (16.2 (Ubuntu 16.2-1ubuntu4)) Type "help" for help. # 自身のパスワードを設定/変更 testdb=> \password Enter new password: Enter it again: testdb=> \q # PostgreSQL 管理ユーザーから任意のユーザーのパスワードを設定/変更する場合は以下 postgres@dlp:~$ psql -c "alter user ubuntu with password 'password';" ALTER ROLE |
[3] | 設定が完了したら、PostgreSQL でアクセス許可を設定したネットワーク内の任意のホストから接続確認をしておきます。 scram-sha-256 認証での接続は自動的に TLS による暗号化通信となります。 |
root@node1:~# psql -h www.srv.world -d testdb -U ubuntu Password for user ubuntu: # 設定したパスワード psql (16.2 (Ubuntu 16.2-1ubuntu4)) SSL connection (protocol: TLSv1.3, cipher: TLS_AES_256_GCM_SHA384, compression: off) Type "help" for help. testdb=> # 接続できた |
Sponsored Link |