PostgreSQLにネットワーク経由で接続可能にする!(Rocky Linux 9)

Rocky Linux 9上で稼働するPostgreSQLにネットワーク経由で接続可能に設定します。

PostgreSQLがリッスンするアドレスを設定する!

PostgreSQLがリッスンするアドレスを設定します。デフォルトでは「127.0.0.1」なので、ネットワーク経由で接続可能にするためには、「0.0.0.0」あるいはサーバのアドレスを指定します。

# vi /var/lib/pgsql/data/postgresql.conf
...
listen_addresses = '0.0.0.0'		# what IP address(es) to listen on;
...

PostgreSQLのクライアントから接続を許可するアドレスを設定する!

PostgreSQLのクライアントからの接続を許可するアドレスを設定します。今回は、IPアドレスに接続するアドレスに制限のない「0.0.0.0/0」、認証方法は「pam」に設定しました。

# vi /var/lib/pgsql/data/pg_hba.conf
...
# IPv4 local connections:
#host    all             all             127.0.0.1/32            ident
host    all             all             0.0.0.0/0            pam
...

接続するユーザのパスワードを設定する!

pam認証にしたので、接続するユーザのパスワードを設定します。今回は、「postgres」のパスワードを設定します。

# echo postgres | passwd --stdin postgres
Changing password for user postgres.
passwd: all authentication tokens updated successfully.

PostgreSQLを再起動します。

PostgreSQLを再起動して設定を有効化します。

# systemctl restart postgresql.service 

「0.0.0.0」でリッスンしていることを確認します。

# ss -lt4np
State      Recv-Q     Send-Q         Local Address:Port         Peer Address:Port    Process                            
LISTEN     0          128                  0.0.0.0:22                0.0.0.0:*        users:(("sshd",pid=748,fd=3))     
LISTEN     0          244                  0.0.0.0:5432              0.0.0.0:*        users:(("postmaster",pid=5731,fd=6))

FirewalldでPostgreSQLの通信許可設定を行います。

FirewalldでPostgreSQLの通信を許可します。

# sudo firewall-cmd --add-port=5432/tcp --zone=public --permanent
success
[root@vmsrdb11 data]# sudo firewall-cmd --reload
success

おわりに

PostgreSQLはデフォルトでネットワーク接続不可の設定となっているため、PostgreSQLがリッスンするアドレスと接続を許可する設定を行いました。

参考情報

関連記事