Creating a pgAgent Job

pgAgentは、ジョブを実行および管理するスケジューリングエージェントです。各ジョブはステップとスケジュールで構成されます。

ジョブを作成または管理するには、pgAdminツリーコントロールを使用して、pgAgentデータベースオブジェクトが作成されたサーバーを参照します。ツリーコントロールには pgAgentJobs ノードが表示され、その下に、現在定義されているジョブが表示されます。新しいジョブを追加するには、 pgAgentJobs ノードを右クリックし、コンテキストメニューから CreatepgAgentJob... を選択します。

pgAgentダイアログが開いたら、 pgAgentJob ダイアログのタブを使用して、pgAgentジョブを構成するステップとスケジュールを定義します。

pgAgentダイアログの[全般]タブ

General タブのフィールドを使用して、ジョブに関する一般的な情報を提供します。

  • Name フィールドにジョブの名前を入力します。

  • ジョブを有効にするには Enabled スイッチを Yes の位置に移動し、ジョブを無効にするには No 。

  • JobClass ドロップダウンを使用して、クラスを選択しますジョブ分類用。

  • HostAgent フィールドを使用して、pgAgentを実行しているマシンの名前を指定して、そのマシンのみがジョブを実行できることを示します。フィールドを空白のままにして、任意のマシンがジョブを実行できることを指定します。

    注釈

    ジョブステップのターゲットを特定のマシンに設定するためにホストエージェントにどの値を指定するかは、必ずしも明らかではありません。必要なマシンでpgAgentを実行し、スケジューラーデータベースに接続すると、次のクエリを使用して、各エージェントによって報告されたホスト名を表示できます。

    SELECT jagstation FROM pgagent.pga_jobagent
    

    [ホストエージェント]フィールドのクエリーで報告されたホスト名を正確に使用します。

  • Comment フィールドを使用して、ジョブに関するメモを保存します。

pgAgentのダイアログステップタブ

Steps タブを使用して、ジョブが実行するステップを定義および管理します。Addアイコン+をクリックして、新しいステップを追加します。次に、作成アイコンヘッダーの左側にありますをクリックして、ステップ定義ダイアログを開きます。

pgAgentダイアログ定義タブ

ステップ定義ダイアログのフィールドを使用して、ステップを定義します。

  • Name フィールドにステップの名前を入力します。手順は名前の英数字オーダー実行されることに注意してください。

  • Enabled スイッチを使用して、ジョブの実行時にステップを含める True か、ステップを無効にします False 。

  • Use the Kind switch to indicate if the job step invokes SQL code (SQL) or a batch script (Batch).

    • If you select SQL, use the Code tab to provide SQL code for the step.

    • Batch を選択した場合、 Code タブを使用して、ステップ中に実行されるバッチスクリプトを提供します。

注釈

The fields Connection type, Database and Connection string are only applicable when SQL is selected because Batch cannot be run on remote servers.

  • Connectiontype スイッチを使用して、ステップがローカルサーバー Local で実行されるか、リモートホスト Remote で実行されるかを示します。ステップにリモート接続を使用するように指定すると、 接続文字列 フィールドが有効になり、libpqスタイルの接続文字列を提供する必要があります。

  • Server ドロップダウンを使用して、ジョブステップを実行するデータベースを選択します。

  • Connectionstring フィールドを使用して、ステップが実行されるリモートサーバーへのlibpqスタイルの接続文字列を指定します。接続文字列の書き込みの詳細については、 PostgreSQL documentation を参照してください。

  • Onerror ドロップダウンを使用して、ステップの実行中にエラーが発生した場合のpgAgentの動作を指定します。以下から選択してください

    • Fail -このステップの処理中にエラーが発生した場合、ジョブを停止します。

    • Success -ステップを正常に完了したものとしてマークし、続行します。

    • Ignore -エラーを無視して、続行します。

  • Comment フィールドを使用して、ステップに関するコメントを入力します。

pgAgentダイアログステップ定義コードタブ

Use the context-sensitive field on the step definition dialog's Code tab to provide the SQL code or batch script that will be executed during the step:

  • If the step invokes SQL code, provide one or more SQL statements in the SQL query field.

  • ステップがバッチスクリプトを実行する場合、 Script フィールドにスクリプトを提供します。IfyouarerunningonaWindowsserver,standardbatchfilesyntaxmustbeused.Linuxサーバーで実行されている場合、最初の行 #!/bin/sh など、適切なインタープリターが指定されている限り、任意のシェルスクリプトを使用できます。

ステップに必要な情報をすべて提供したら、作成アイコンをクリックしてステップ定義ダイアログを閉じます。追加アイコン+をクリックして各追加ステップを追加するか、 Schedules タブを選択してジョブスケジュールを定義します。

pgAgentダイアログのスケジュールタブ

[追加]アイコン+をクリックして、ジョブのスケジュールを追加します。次に、作成アイコンヘッダーの左側にありますをクリックして、スケジュール定義ダイアログを開きます。

pgAgentダイアログのスケジュール定義タブ

スケジュール定義タブのフィールドを使用して、ジョブを実行する日と時刻を指定します。

  • Name フィールドにスケジュールの名前を入力します。

  • Enabled スイッチを使用して、pgAgentがスケジュールを使用する必要があることを示す Yes か、スケジュールを無効にします No 。

  • Start フィールドのカレンダーセレクターを使用して、スケジュールの開始日時を指定します。

  • End フィールドのカレンダーセレクターを使用して、スケジュールの終了日時を指定します。

  • Comment フィールドを使用して、スケジュールに関するコメントを入力します。

Repeat タブを選択して、スケジュールを実行日を定義します。

pgAgentダイアログのスケジュール繰り返しタブ

[ Repeat ]タブのフィールドを使用して、cronスタイルの形式でスケジュールに関する詳細を指定します。ジョブは、[ 繰り返し ]タブで選択された各日付または時刻要素に実行されます。

フィールド内をクリックして、そのフィールドの有効な値のリストを開きます。特定の値をクリックして、その値をフィールドで選択した値のリストに追加します。フィールドから値をクリアするには、フィールドの右側にあるXをクリックします。

Days ボックス内のフィールドを使用して、ジョブを実行日を指定します。

  • WeekDays フィールドを使用して、ジョブを実行日を選択します。

  • MonthDays フィールドを使用して、ジョブを実行する数値日を選択します。 LastDay を指定して、日付に関係なく、月の最終日にジョブを実行する必要があることを示します。

  • Months フィールドを使用して、ジョブを実行する月を選択します。

Times ボックス内のフィールドを使用して、ジョブを実行する時間を指定します。

  • Hours フィールドを使用して、ジョブを実行する時間を選択します。

  • Minutes フィールドを使用して、ジョブを実行する分を選択します。

[ Exceptions ]タブを選択して、スケジュールが not を実行日を指定します。

pgAgentダイアログのスケジュール例外タブ

[ Exceptions ]タブのフィールドを使用して、ジョブを実行しない日を指定します。たとえば、ジョブを祝日に実行したくない場合があります。

Addアイコン+をクリックして例外テーブルに行を追加し、次のことを行います。

  • Date 列内をクリックしてカレンダーセレクターを開き、ジョブを実行しない日付を選択します。 Date 列に <Any> を指定して、選択した日の時間にジョブを実行しないことを示します。

  • Time 列内をクリックして時間セレクターを開き、ジョブを実行しない時間を指定します。 Time 列に <Any> を指定して、選択した日のどの時点でもジョブを実行しないことを示します。

When you've finished defining the schedule, you can use the SQL tab to review the code that will create or modify your job.

pgAgentダイアログSQLタブ

Save ボタンをクリックしてジョブ定義を保存するか、 Close をクリックして保存せずにジョブを終了します。 Reset ボタンを使用して、ダイアログから未保存のエントリを削除します。

ジョブを保存すると、ジョブは、定義されたサーバーのpgAdminツリーコントロールの pgAgentJobs ノードの下にリストされます。pgAdminメインウィンドウの プロパティ タブには、選択したジョブの高レベルの概要が表示され、 統計 タブには、ジョブの各実行の詳細が表示されます。

pgAgentオブジェクトプロパティ

既存のジョブを変更するか、ジョブに関する詳細情報を確認するには、ジョブ名を右クリックし、コンテキストメニューから プロパティ を選択します。