Installing pgAgent#

pgAgentは、Unixシステムではデーモンとして、 Windowsシステムではサービスとして実行されます。ほとんどの場合、データベースサーバー自分自身で実行されます。このため、pgAdminのインストール時にpgAgentは自動的に構成されません。ただし、場合によっては、複数のシステムで同じデータベースに対してpgAgentを実行することが望ましい場合があります。個々のジョブは特定のホストをターゲットとするか、任意のホストによって実行されるように残すことができます。ロックにより、複数のホストによるジョブの同じインスタンスの実行が防止されます。

データベースのセットアップ#

pgAdminを使用してpgAgentを管理する前に、pgAdminに登録したメンテナンスデータベースにpgAgent拡張機能を作成する必要があります。 PostgreSQLホストにpgAgentをインストールするには、 * postgres * データベースに接続し、 * Tools * メニューからQueryツールを開きます。 サーバーバージョン9.1以降、およびpgAgent 3.4.0以降の場合、クエリウィンドウに次のコマンドを入力し、 * Execute * アイコンをクリックします。

CREATE EXTENSION pgagent;

このコマンドは、'pgagent'と呼ばれるスキーマに多数のテーブルとその他のオブジェクトを作成します。

データベースには、 pl/pgsqlプロシージャー言語もインストールする必要があります。必要に応じて、 PostgreSQL CREATE LANGUAGEコマンドを使用して pl/pgsqlをインストールします。 pl/pgsqlをインストールするには、クエリウィンドウに次のコマンドを入力し、 * Execute* アイコンをクリックします。

CREATE LANGUAGE plpgsql;

Unixでのデーモンのインストール#

注釈

pgAgentは、Linuxユーザー向けのDebian/UbuntuDEBおよびRedhat/FedoraRPMパッケージ、およびソースコードで入手できます。 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)>

接続文字列は、標準のPostgreSQL libpq接続文字列です。詳細については、 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

次に、 net start pgAgent を使用してコマンドラインで、または Services コントロールパネルアプレットからサービスをスタートできます。ログ出力またはエラーは、アプリケーションイベントログに報告されます。 DEBUGモードは、コマンドプロンプトからpgAgentを実行するために使用できます。この方法で実行すると、ログメッセージがコマンドウィンドウに出力されます。