私のPostgreSQLのデフォルトポートは5432ですが、コマンドラインを使用してデフォルトのポートを変更したいと思います(Windows 7の場合)。
私は以前にこの解決策を見ました:https : //stackoverflow.com/questions/187438/want-to-change-pgsql-port
次のコマンドを実行しようとしましたが、失敗しました:
postgres --p 5431
コマンドラインを使用してポートを変更する方法を誰かに教えてもらえますか?
私のPostgreSQLのデフォルトポートは5432ですが、コマンドラインを使用してデフォルトのポートを変更したいと思います(Windows 7の場合)。
私は以前にこの解決策を見ました:https : //stackoverflow.com/questions/187438/want-to-change-pgsql-port
次のコマンドを実行しようとしましたが、失敗しました:
postgres --p 5431
コマンドラインを使用してポートを変更する方法を誰かに教えてもらえますか?
回答:
Windowsを使用していて、おそらくPostgreSQLをWindowsサービスとして開始しているので、postgresql.conf(データディレクトリ内で)編集してそこに新しいポートを設定し、[サービス]コントロールパネルまたは(管理者として)を使用してpostgresqlサービスを再起動する必要があります。)net serviceコマンド。
postgresql.confこれを自動化する必要がある場合は、プログラムによるテキスト編集ツールを使用して変更できます。Linux / unixボックスでは、sedまたはのようなツールを使用しますawkが、Windowsでは、VBS、powershell、またはPerlなどのアドオンツールを使用すると思います。
PgAdmin-III新しいポートを使用するには、ツールで接続設定を変更する必要があります。
PostgreSQLを手動で起動しているpg_ctl場合は、PGPORT環境変数を設定するか、コマンドラインで構成オプションを渡すことができます。これは、Windowsサービスとして起動する場合は機能しません。
pg_ctlます。
パラメータが設定されているかどうかは、クエリツールで確認できます。show portクエリを実行するだけです。現在のポート番号が表示されます。pgAdminを使用してdbに接続している場合は、接続設定でポート番号を変更したことを確認してください。
テキストの置換や同様の手法を必要としないソリューションは、別の構成ファイルで異なるポートを構成してから、postgresql.confファイルにincludeディレクティブを追加することです。
例えば
echo port = 5431 > \path\to\datadir\custom.conf
echo include custom.conf>> \path\to\datadir\postgresql.conf
(もちろん\path\to\datadir\、正しいパスに置き換える必要があります)
最初のechoコマンドは、ポート構成のみを含む新しいファイルを作成します。2つ目は、既存のpostgres構成ファイルにincludeディレクティブを追加します。「後の」設定はファイルの「前の」設定をpostgresql.conf上書きするため、で行われたすべてのポート設定は、カスタム設定ファイルの設定で上書きされます。