Installing pgAgent¶
pgAgentは、Unixシステムではデーモンとして、Windowsシステムではサービスとして実行されます。ほとんどの場合、データベースサーバ自分自身で実行されます-このため、pgAdminのインストール時にpgAgentは自動的に構成されません。ただし、場合によっては、同じデータベースに対して複数のシステムでpgAgentを実行する方が好ましい場合があります。個々のジョブは特定のホストをターゲットにすることも、任意のホストに実行させておくこともできます。ロックにより、複数のホストによるジョブの同じインスタンスの実行が防止されます。
データベース設定¶
pgAdminを使用してpgAgentを管理する前に、pgAdminに登録したメンテナンスデータベースにpgAgent拡張機能を作成する必要があります。PostgreSQLホストにpgAgentをインストールするには、 postgres データベースに接続し、 Tools メニューからクエリツールを開きます。サーバーバージョン9.1以降、およびpgAgent3.4.0以降の場合、クエリウィンドウに次のコマンドを入力し、 実行 アイコンをクリックします。
CREATE EXTENSION pgagent;
このコマンドは、「pgagent」と呼ばれるスキーマに多数のテーブルとその他のオブジェクトを作成します。
データベースには、pl/pgsql手続き言語もインストールする必要があります。必要に応じて、PostgreSQLのCREATELANGUAGEコマンドを使用してpl/pgsqlをインストールします。pl/pgsqlをインストールするには、クエリウィンドウに次のコマンドを入力し、 実行 アイコンをクリックします。
CREATE LANGUAGE plpgsql;
Unixでのデーモンのインストール¶
注釈
pgAgentは、Linuxユーザー向けのDebian/Ubuntu(DEB)およびRedhat/Fedora(RPM)パッケージ、およびソースコードで入手できます。 pgAdmin Website を参照してください。詳細については。
UnixシステムにpgAgentデーモンをインストールするには、通常、システム起動スクリプトを変更するためのroot権限が必要です。システム起動スクリプトの変更は非常にシステム固有であるため、詳細についてはシステムのドキュメントを参照してください。
プログラム自分自身はいくつかのコマンドラインオプションを取り、そのほとんどはデバッグまたは特殊な構成にのみ必要です:
Usage:
/path/to/pgagent [options] <connect-string>
options:
-f run in the foreground (do not detach from the terminal)
-t <poll time interval in seconds (default 10)>
-r <retry period after connection abort in seconds (>=10, default 30)>
-s <log file (messages are logged to STDOUT if not specified)>
-l <logging verbosity (ERROR=0, WARNING=1, DEBUG=2, default 0)>
接続文字列は、標準のPostgreSQLlibpq接続文字列です(詳細については、 PostgreSQL documentation on the connection string を参照してください)。たとえば、次のコマンドラインは、ローカルホストでリッスンしているサーバーに対してpgAgentを実行し、「pgadmin」というデータベースを使用し、ユーザー「postgres」として接続します。
/path/to/pgagent hostaddr=127.0.0.1 dbname=postgres user=postgres
Windowsでのサービスのインストール¶
注釈
EnterpriseDB's PostgreSQL Installers を使用する場合、pgAgentはビルド済みインストーラーで利用できます。StackBuilderアプリケーションを使用して、ダウンロードしてインストールします。この方法でインストールすると、サービスが自動的に作成されるため、以下の指示は無視できます。
pgAgentは、Windowsシステムに自分自身をサービスとしてインストールできます。使用可能なコマンドラインオプションはUnixシステムのものと似ていますが、サービスに何をするかを指示する追加のパラメーターが含まれています:
Usage:
pgAgent REMOVE <serviceName>
pgAgent INSTALL <serviceName> [options] <connect-string>
pgAgent DEBUG [options] <connect-string>
options:
-u <user or DOMAIN\user>
-p <password>
-d <displayname>
-t <poll time interval in seconds (default 10)>
-r <retry period after connection abort in seconds (>=10, default 30)>
-l <logging verbosity (ERROR=0, WARNING=1, DEBUG=2, default 0)>
サービスは、次のようにコマンドラインから非常に簡単にインストールできます(必要に応じてパスを調整します)。
"C:\Program Files\pgAgent\bin\pgAgent" INSTALL pgAgent -u postgres -p secret hostaddr=127.0.0.1 dbname=postgres user=postgres
次に、 netstartpgAgent を使用してコマンドラインで、または サービス コントロールパネルアプレットからサービスを開始できます。ログ出力またはエラーは、アプリケーションイベントログに報告されます。DEBUGモードを使用して、コマンドプロンプトからpgAgentを実行できます。この方法で実行すると、ログメッセージがコマンドウィンドウに出力されます。