16

しばらくの間、Windowsサービスとして実行する方法がわからないため、コマンドウィンドウでデータベースを実行しています。

zipファイルのバージョンをダウンロードしているので。pg_ctlコマンドをWindowsサービスとして登録するにはどうすればよいですか?

ちなみに、次の行を使用してサーバーを起動します。

"D:/Program Files/PostgreSQL/9.0.4/bin/pg_ctl.exe" -D "D:/Program Files/PostgreSQL/9.0.4/db_data" -l logfile start

前もって感謝します。

4

2 に答える 2

30

registerプログラムのパラメータを使用しますpg_ctl

データディレクトリはに保存しないでください。たとえばProgram Files、の場所は%ProgramData%適切な選択です。

pg_ctl.exe register -N PostgreSQL -U some_windows_username -P windows_password -D "%ProgramData%/ db_data" .. ..

Postgresの新しいバージョンでは、個別のWindowsアカウントは不要になったため、以下も十分です。

pg_ctl.exe register -N PostgreSQL -D "%ProgramData%/db_data"..。

詳細はマニュアルにあります:http ://www.postgresql.org/docs/current/static/app-pg-ctl.html

ディレクトリに、フラグD:/Program Files/PostgreSQL/9.0.4/db_dataで指定したWindowsユーザーに対する正しい権限があることを確認する必要があります。-U

ところで:プログラムデータをに保存するのは悪い考えProgram Filesです。通常のユーザーには非常に制限されているProgram Filesため、データディレクトリを外部に移動する必要があります。これには非常に理由があります。Program Files

于 2013-01-23T16:57:00.757 に答える
18

Windows管理者として「コマンドプロンプト」を実行し、次のコマンドを実行するだけです。

pg_ctl.exe register -N PostgreSQL -D "D:/Program Files/PostgreSQL/9.0.4/db_data"

以前の回答が示唆しているように、ユーザーとパスワードを指定する必要はありません。

于 2015-07-02T15:23:35.103 に答える