コマンドラインを使用したPostgreSQLポートの変更


10

私のPostgreSQLのデフォルトポートは5432ですが、コマンドラインを使用してデフォルトのポートを変更したいと思います(Windows 7の場合)。

私は以前にこの解決策を見ました:https : //stackoverflow.com/questions/187438/want-to-change-pgsql-port

次のコマンドを実行しようとしましたが、失敗しました:

postgres --p 5431

コマンドラインを使用してポートを変更する方法を誰かに教えてもらえますか?

回答:


9

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サービスとして起動する場合は機能しません。


「スイスファイルナイフ」を使用して、Windowsのテキストファイルを置き換えています。
a_horse_with_no_name 2013年

@a_horse_with_no_name fileutils / coreutils / etcがない場合に役立つツール。先端をありがとう。
クレイグリンガー2013年

Windowsでpgsqlのポートを変更するためにコマンドラインを使用できないのですか?
Nick Hung 2013年

@NickHungはい、できます。上で説明したように、テキストプロセッサを使用して構成ファイルを変更するか、PostgreSQLをWindowsサービスとして実行せずに、で起動しpg_ctlます。
クレイグリンガー2013年

7
  • .. \ PostgreSQL \ 9.0 \ dataに移動し、テキストエディター/メモ帳でファイルpostgresql.confを開きます
  • ポートパラメータ.egを検索:ポート= 5433
  • これをポート番号に編集します。
  • タイプservices.mscを実行し、postgresqlサービスを再起動します。

パラメータが設定されているかどうかは、クエリツールで確認できます。show portクエリを実行するだけです。現在のポート番号が表示されます。pgAdminを使用してdbに接続している場合は、接続設定でポート番号を変更したことを確認してください。


0

テキストの置換や同様の手法を必要としないソリューションは、別の構成ファイルで異なるポートを構成してから、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上書きするため、で行われたすべてのポート設定は、カスタム設定ファイルの設定で上書きされます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.