主にPaaS(Azure Databae for PostgreSQL Flexible Server)との違いをチェックするために使うのだけど、あまりしょっちゅうやることではないので忘れる。毎回「どうして5432/tcpにアクセスできないんだ。。。」ってなるので、メモ。RHELに入れるパターンなので、Ubuntuの場合は適宜読み替えのこと。
- パッケージインストール
sudo dnf -y install postgresql-server - データベースの初期化
sudo su
su – postgres
initdb - PostgreSQLのpg_hba.conf (/var/lib/pgsql/data/pg_hba.conf) に以下の行を追加
host all all your_ip/32 trust - PostgreSQLのpostgresql.conf (/var/lib/pgsql/data/postgresql.conf) を編集(これを忘れがち…)
listen_addresses = '*' - rootに戻って、postgresqlを再起動後、再度postgresユーザーに
exit
systemctl restart postgresql
su - postgres - psqlで接続し、ロールにパスワードを設定
psql
ALTER ROLE postgres WITH PASSWORD 'your_password' - rootに戻って、ファイアウォールルールを変更
exit
firewall-cmd --add-service=postgresql --zone=public --permanent
firewall-cmd --reload - Azure PortalでVMのネットワーク設定から、InboundルールにPostgreSQLを追加
最後のネットワーク設定は、Just-In-Timeでテスト中だけ5432/tcpを開ける方がセキュア。