コマンドラインを使用してPostgreSQLポートを変更する

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

以前にこのソリューションを見ました: https://stackoverflow.com/questions/187438/want-to-change-pgsql-port

次を実行してみましたコマンドが失敗しました:

 postgres --p 5431  

ポートの変更方法を教えてもらえますかコマンドラインを使用する場合はどうなりますか?

回答

「Windowsを使用していて、おそらくPostgreSQLをWindowsサービスとして開始しているので」 postgresql.conf(データディレクトリ内)を編集して新しいポートを設定し、[サービス]コントロールパネルまたは(管理者として)net serviceコマンド。

これを自動化する必要がある場合は、プログラムによるテキスト編集ツールを使用してpostgresql.confを変更できます。 Linux / UNIXボックスでは、sedawkなどのツールを使用しますが、WindowsではVBSを使用すると思います。 、powershell、またはPerlなどのアドオンツール。

新しいポートを使用するには、PgAdmin-IIIなどのツールで接続設定を変更する必要があります。

pg_ctlを使用してPostgreSQLを手動で起動している場合は、PGPORT環境変数を設定するか、コマンドライン。これは、Windowsサービスとして起動する場合は機能しません。

コメント

  • I ' m "スイスファイルナイフ"を使用してWindowsのテキストファイルを置換します。
  • @a_horse_with_no_name ' fileutils / coreutils / etcがない場合に便利なツール。ヒントをありがとう。
  • だから私は'コマンドラインを使用してWindowsのpgsqlポートを変更しませんか?
  • @NickHungはい、上記で説明したように、テキストプロセッサを使用して構成ファイルを変更するか、' PostgreSQLをWindowsサービスとして実行せず、代わりに

回答

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

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

回答

これを行うソリューションテキストの置換や同様の手法を必要としないのは、別の設定ファイルで別のポートを設定してから、postgresql.confファイルにincludeディレクティブを追加することです。

eg

 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で行われたポート構成はすべてカスタム構成ファイルの構成で上書きされます。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です