Creating a pgAgent Job#
pgAgentは、ジョブを実行および管理するスケジューリングエージェントです。各ジョブはステップとスケジュールで構成されます。
ジョブを作成または管理するには、 pgAdminツリーコントロールを使用して、pgAgentデータベースオブジェクトが作成されたサーバーを参照します。ツリーコントロールには pgAgent Jobs ノードが表示され、その下に、現在定義されているジョブが表示されます。新しいジョブを追加するには、 pgAgent Jobs ノードを右クリックし、コンテキストメニューから Create pgAgent Job... を選択します。
pgAgentダイアログが開いたら、 pgAgent Job ダイアログのタブを使用して、pgAgentジョブを構成するステップとスケジュールを定義します。
Use the fields on the General tab to provide general information about a job:
Name フィールドにジョブの名前を入力します。
ジョブを有効にするには * Enabled * スイッチを * Yes* の位置に移動し、ジョブを無効にするには * No* 。
Job Class ドロップダウンを使用して、クラスを選択しますジョブ分類用。
Host Agent フィールドを使用して、pgAgentを実行しているマシンの名前を指定して、そのマシンのみがジョブを実行できることを示します。 フィールドを空白のままにして、任意のマシンがジョブを実行できることを指定します。
注釈
ジョブステップのターゲットを特定のマシンに設定するためにホストエージェントにどの値を指定するかは、必ずしも明らかではありません。必要なマシンでpgAgentを実行し、スケジューラーデータベースに接続すると、次のクエリを使用して、各エージェントによって報告されたホスト名を表示できます。
SELECT jagstation FROM pgagent.pga_jobagent
[ホストエージェント]フィールドのクエリーで報告されたホスト名を正確に使用します。
Comment フィールドを使用して、ジョブに関するメモを保存します。
Steps タブを使用して、ジョブが実行するステップを定義および管理します。 Addアイコン+をクリックして、新しいステップを追加します。次に、作成アイコンヘッダーの左側にありますをクリックして、ステップ定義ダイアログを開きます。
ステップ定義ダイアログのフィールドを使用して、ステップを定義します。
Name フィールドにステップの名前を入力します。手順は名前の英数字オーダー実行されることに注意してください。
Enabled スイッチを使用して、ジョブの実行時にステップを含める True か、ステップを無効にします False 。
Kind スイッチを使用して、ジョブステップがSQLコード * SQL* を呼び出すか、バッチスクリプト Batch を呼び出すかを示します。
If you select SQL, use the Code tab to provide SQL code for the step.
Batch を選択した場合、 Code タブを使用して、ステップ中に実行されるバッチスクリプトを提供します。
注釈
Batch はリモートサーバーで実行できないため、フィールド Connection type 、 Database 、および Connection string は、 * SQL* が選択された場合にのみ適用されます。
Connection type スイッチを使用して、ステップがローカルサーバー Local で実行されるか、リモートホスト Remote で実行されるかを示します。 ステップにリモート接続を使用するように指定すると、 接続文字列 フィールドが有効になり、libpqスタイルの接続文字列を提供する必要があります。
Server ドロップダウンを使用して、ジョブステップを実行するデータベースを選択します。
Connection string フィールドを使用して、ステップが実行されるリモートサーバーへのlibpqスタイルの接続文字列を指定します。接続文字列の書き込みの詳細については、 PostgreSQL documentation を参照してください。
On error ドロップダウンを使用して、ステップの実行中にエラーが発生した場合のpgAgentの動作を指定します。 以下から選択してください
Fail - このステップの処理中にエラーが発生した場合、ジョブを停止します。
Success - ステップを正常に完了したものとしてマークし、続行します。
Ignore - エラーを無視して、続行します。
Comment フィールドを使用して、ステップに関するコメントを入力します。
ステップ定義ダイアログの コード タブの状況依存フィールドを使用して、ステップ中に実行されるSQLコードまたはバッチスクリプトを提供します。
ステップがSQLコードを呼び出す場合、 * SQL query* フィールドに1つ以上のSQLステートメントを提供します。
ステップがバッチスクリプトを実行する場合、 Script フィールドにスクリプトを提供します。 Windowsサーバーで実行している場合、標準のバッチファイル構文を使用する必要があります。 Linuxサーバーで実行されている場合、最初の行 #!/bin/sh など、適切なインタープリターが指定されている限り、任意のシェルスクリプトを使用できます。
ステップに必要な情報をすべて提供したら、作成アイコンをクリックしてステップ定義ダイアログを閉じます。 追加アイコン+をクリックして各追加ステップを追加するか、 Schedules タブを選択してジョブスケジュールを定義します。
[追加]アイコン+をクリックして、ジョブのスケジュールを追加します。次に、作成アイコンヘッダーの左側にありますをクリックして、スケジュール定義ダイアログを開きます。
スケジュール定義タブのフィールドを使用して、ジョブを実行する日と時刻を指定します。
Name フィールドにスケジュールの名前を入力します。
Enabled スイッチを使用して、pgAgentがスケジュールを使用する必要があることを示す Yes か、スケジュールを無効にします No 。
Start フィールドのカレンダーセレクターを使用して、スケジュールの開始日時を指定します。
End フィールドのカレンダーセレクターを使用して、スケジュールの終了日時を指定します。
Comment フィールドを使用して、スケジュールに関するコメントを入力します。
Repeat タブを選択して、スケジュールを実行日を定義します。
[ Repeat ]タブのフィールドを使用して、cronスタイルの形式でスケジュールに関する詳細を指定します。 ジョブは、[ 繰り返し ]タブで選択された各日付または時刻要素に実行されます。
フィールド内をクリックして、そのフィールドの有効な値のリストを開きます。特定の値をクリックして、その値をフィールドで選択した値のリストに追加します。フィールドから値をクリアするには、フィールドの右側にあるXをクリックします。
Days ボックス内のフィールドを使用して、ジョブを実行日を指定します。
Week Days フィールドを使用して、ジョブを実行日を選択します。
Month Days フィールドを使用して、ジョブを実行する数値日を選択します。 Last Day を指定して、日付に関係なく、月の最終日にジョブを実行する必要があることを示します。
Months フィールドを使用して、ジョブを実行する月を選択します。
Times ボックス内のフィールドを使用して、ジョブを実行する時間を指定します。
Hours フィールドを使用して、ジョブを実行する時間を選択します。
Use the Minutes field to select the minute at which the job will execute.
[ Exceptions ]タブを選択して、スケジュールが not を実行日を指定します。
[ Exceptions ]タブのフィールドを使用して、ジョブを実行しない日を指定します。たとえば、ジョブを祝日に実行したくない場合があります。
Addアイコン+をクリックして例外テーブルに行を追加し、次のことを行います。
Date 列内をクリックしてカレンダーセレクターを開き、ジョブを実行しない日付を選択します。 Date 列に <Any> を指定して、選択した日の時間にジョブを実行しないことを示します。
Time 列内をクリックして時間セレクターを開き、ジョブを実行しない時間を指定します。 Time 列に <Any> を指定して、選択した日のどの時点でもジョブを実行しないことを示します。
スケジュールの定義が終了したら、[ * SQL* ]タブを使用して、ジョブを作成または変更するコードを確認できます。
Save ボタンをクリックしてジョブ定義を保存するか、 Close をクリックして保存せずにジョブを終了します。 Reset ボタンを使用して、ダイアログから未保存のエントリを削除します。
ジョブを保存すると、ジョブは、定義されたサーバーのpgAdminツリーコントロールの pgAgent Jobs ノードの下にリストされます。 pgAdminメインウィンドウの プロパティ タブには、選択したジョブの高レベルの概要が表示され、 統計 タブには、ジョブの各実行の詳細が表示されます。
既存のジョブを変更するか、ジョブに関する詳細情報を確認するには、ジョブ名を右クリックし、コンテキストメニューから プロパティ を選択します。