PostgreSQLのポート変更に関するトラブルシューティング
PostgreSQLのポート変更について
postgresql.confファイルを編集
- PostgreSQLを停止します。
- テキストエディタで
/etc/postgresql/14/main/postgresql.conf
ファイルを開きます。 port
という項目を見つけます。デフォルトでは5432になっています。- ポート番号を希望の番号に変更します。
- ファイルを保存して閉じます。
PostgreSQLを再起動
コマンド例
sudo service postgresql restart
クライアントの設定変更
PostgreSQLクライアントツール(psqlなど)を使用している場合は、ポート番号の設定を変更する必要があります。
psqlの場合
psql -h localhost -p 5432 -U postgres
上記のコマンド例では、-p
オプションでポート番号を指定しています。
ファイアウォールを使用している場合は、新しいポートを開放する必要があります。
iptablesの場合
sudo iptables -A INPUT -p tcp --dport 5432 -j ACCEPT
上記のコマンド例では、-A INPUT
オプションでINPUTチェーンにルールを追加し、-p tcp --dport 5432
オプションでTCPポート5432を開放しています。
注意事項
- ポート番号を変更する前に、他のアプリケーションがそのポートを使用していないことを確認してください。
- ポート番号を変更すると、接続できなくなる可能性がありますので、すべてのクライアントの設定を変更する必要があります。
- セキュリティ上の理由から、ファイアウォールでポートを開放する場合は、必要最小限の範囲に限定してください。
- 上記の手順はPostgreSQL 14の場合です。他のバージョンでは手順が異なる場合があります。
- 不安な場合は、専門家に相談することをお勧めします。
postgresql.confファイル
# ポート番号
port = 5432
psqlコマンド
psql -h localhost -p 5432 -U postgres
iptablesコマンド
sudo iptables -A INPUT -p tcp --dport 5432 -j ACCEPT
PostgreSQLのポート変更のその他の方法
postgresql-conf.shファイルを使用する
/etc/init.d/postgresql
ファイルにPGPORT
という変数があり、ポート番号を設定することができます。
例
PGPORT=5432
この方法を使用する場合は、postgresql.conf
ファイルのport
設定は無視されます。
systemdを使用している場合は、/etc/systemd/system/postgresql.service
ファイルのPort
設定を変更することができます。
[Service]
Port=5432
PostgreSQLを再インストールする際に、ポート番号を指定することができます。
sudo apt install postgresql-14 postgresql-client-14 -y --install-option="--port=5432"
この方法を使用する場合は、既存のデータは保持されます。
注意事項
- 上記の方法を使用する場合は、それぞれの方法の注意事項を確認してください。
postgresql