Managing a PEM Server¶
以下のセクションでは、PEMサーバーとエージェントの再起動、PEMサーバーまたはPEMエージェントの制御、LinuxおよびWindowsでのHTTPDサービスの制御、HTTPDサーバーの制御、PEM認証とセキュリティの管理、変更など、PEMサーバーに関連するタスクに関する情報を提供します pg_hba.conf ファイル、プロキシサーバーなどを使用するようにPEMを変更
PEMサーバーとエージェントの起動と停止¶
PEMサーバーは、それが常駐するPostgresサーバーインスタンスが起動、停止、または再起動したときに起動、停止、および再起動します。Postgresサーバーの制御に使用するのと同じコマンドを使用してPEMサーバーを制御します。Linuxプラットフォームでは、サービススクリプトを停止および開始するコマンドは、プラットフォームおよびOSバージョンによって異なります。
PEMエージェントは、 pemagent という名前のサービスによって制御されます。
Windowsオペレーティングシステムには、サーバーの状態を表示し、ポイントアンドクリックのサーバー制御を提供するグラフィカルサービスコントローラーが含まれています。 Services ユーティリティには、Windowsの Control Panel からアクセスできます。ユーティリティが開いたら、スクロールバーを使用してリストされたサービスをナビゲートし、サービス名を強調表示します。
WindowsサービスウィンドウのPEMサービス¶
Stop 、 Pause 、 Start 、または Restart ボタンを使用して、サービスの状態を制御します。
サービスを停止すると、Postgresサーバーに接続しているユーザー(またはクライアントアプリケーション)は突然切断されることに注意してください。サービスの制御の詳細については、EDBWebサイトから入手できる*EDBPostgresAdvancedServerインストールガイド* を参照してください。
https://www.enterprisedb.com/resources/product-documentation
監視対象サーバーのリモート起動と停止¶
PEMでは、PEMクライアントを使用して管理対象サーバーインスタンスを起動およびシャットダウンできます。PEMがサービスを管理できるようにサーバーを構成するには、サーバー登録ダイアログを完了して、データベースサーバーをPEMエージェントに登録し、以下を実行します。
PropertiesダイアログでStore on PEM Serverオプションを指定します。AdvancedタブのService IDフィールドにサービススクリプトの名前を指定します。AdvancedServerの場合、サービス名は
edb-as-<x>またはppas-<x>です。PostgreSQLの場合、サービス名は
postgresql-<x>です。
xはサーバーのバージョン番号を示します。
サーバーに接続した後、ツリーコントロールでサーバー名を強調表示し、 Tools メニューから Queue Server Startup または Queue Server Shutdown を選択することにより、サーバーを起動または停止できます。
管理対象サーバーの[ツール]メニュー¶
LinuxでのPEMサーバーまたはPEMエージェントの制御¶
Linuxプラットフォームでは、次を制御するサービススクリプトの名前:
AdvancedServer上のPEMサーバーは
edb-as-<x>またはppas-<x>ですPostgreSQL上のPEMサーバーは
postgresql-<x>ですPEMエージェントは
pemagentです
x はサーバーのバージョン番号を示します。
サービスを制御するには、サービススクリプトを使用できます。
RHELまたはCentOSバージョン7.xまたは8.xでサービスを制御するには、コマンドラインを開き、スーパーユーザー権限を引き受けて、コマンドを発行します。
systemctl <service_name> <action>
どこで:
service_name はサービスの名前です。
action は、サービスによって実行されるアクションを指定します。指定してください:
startでサービスを開始します。stopはサービスを停止します。restartでサービスを停止してから開始します。statusは、サービスのステータスを確認します。
WindowsでのPEMサーバーまたはPEMエージェントの制御¶
Windowsオペレーティングシステムには、サーバーの状態を表示し、ポイントアンドクリックのサーバー制御を提供するグラフィカルサービスコントローラーが含まれています。以下を制御するサービスの登録名:
PostgreSQL上のPEMサーバーホストは
postgresql-<x>ですAdvancedServer上のPEMサーバーホストが
edb-as-<x>またはppas-<x>PEMエージェントは
Postgres Enterprise Manager - pemAgentです
ここで、x はサーバーのバージョン番号を示します。
Windowsの Control Panel をナビゲートして Services ユーティリティを開きます。ユーティリティが開いたら、スクロールバーを使用してサービスのリストを参照します。
Windowsサービスウィンドウ¶
Stop the service オプションを使用して、サービスを停止します。サーバーに接続しているユーザー(またはクライアントアプリケーション)は、サービスを停止すると突然切断されます。
Pause the service オプションを使用して、サービスの構成パラメーターを再ロードするようにPostgresに指示します。 Pause the service オプションは、多くの構成パラメーターのユーザーセッションを中断することなくパラメーターをリセットする効果的な方法です。
Start the service オプションを使用して、サービスを開始します。
HTTPDサーバーの制御¶
Linuxでは、コマンドラインを開き、次のコマンドを入力して PEM-HTTPD サービスのステータスを確認できます。
ps -ef | grep httpd
Linuxが次の例のような回答で応答する場合、 httpd は実行されていません。
user 13321 13267 0 07:37 pts/1 00:00:00 grep httpd
CentOSまたはRHEL7.xまたは8.xシステムでサービスを開始するには、次のコマンドを使用します。
systemctl start httpd
Windowsでは、 Services アプレットを使用して PEM HTTPD サービスのステータスを確認できます。サービスアプレットを開いた後、リストをスクロールして PEM HTTPD サービスを見つけます。
PEMHTTPDWindowsサービス¶
Status 列には、サーバーの現在の状態が表示されます。サービスが実行されていない場合は、 Start リンクをクリックして PEM HTTPD を開始します。
pg_hba.confファイルの変更¶
pg_hba.conf ファイルのエントリは、ネットワークの認証と承認を制御します。PEMサーバーホスト上の pg_hba.conf ファイルは、PEMサーバーとPEM-HTTPD、PEMエージェント、および監視対象サーバー間の接続を許可する必要があります。
PEMサーバーのインストールプロセス中に、PEMによって監視されるホストのIPアドレスと接続情報の入力を求められます。この情報は、PEMバッキングデータベースの pg_hba.conf ファイルの先頭に追加されます。
pg_hba.confファイルのPEMエントリ¶
また、 pg_hba.conf ファイルを手動で変更して、PEMサーバーと他のコンポーネント間の接続を許可する必要があります。たとえば、PEM-HTTPDインストールがPEMサーバーと同じホストにない場合、PEM-HTTPDがサーバーに接続できるようにPEMサーバーホストの pg_hba.conf ファイルを変更する必要があります。
デフォルトでは、 pg_hba.conf ファイルはPostgresインストールの下のデータディレクトリにあります。たとえば、AdvancedServer10ホストでは、pg_hba.confのデフォルトの場所は次のとおりです。
/var/lib/edb/as10/data/pg_hba.conf
選択したエディターで pg_hba.conf ファイルを変更できます。ファイルを変更した後、サーバーを再起動して変更を有効にします。
次の例は、 postgres という名前のユーザーからpg_hba.confファイルが存在するホスト上の postgres データベースへのmd5パスワード認証接続を許可する pg_hba.conf エントリを示しています。接続は 192.168.10.102 のIPアドレスから来ています。
# TYPE DATABASE USER CIDR-ADDRESS METHOD
# IPv4 local connections:
host postgres postgres 192.168.10.102/32 md5
ネットワークホストのアドレス、またはネットワークアドレス範囲を指定できます。たとえば、アドレスが 192.168.10.23 、 192.168.10.76 、 192.168.10.184 のサーバーからの接続を許可する場合は、 192.168.10.0/24 のCIDR-ADDRESSを入力して、そのネットワーク内のすべてのホストからの接続を許可します。
# TYPE DATABASE USER CIDR-ADDRESS METHOD
# IPv4 local connections:
host postgres all 192.168.10.0/24 md5
pg_hba.conf ファイルエントリのフォーマットの詳細については、次のPostgreSQLコアドキュメントを参照してください。
PEMでPostgresサーバーに接続する前に、両方のサーバーの pg_hba.conf ファイルが接続を許可していることを確認する必要があります。
データベースサーバーへの接続時にこのエラーを受け取った場合は、 pg_hba.conf ファイルを変更し、接続を許可するエントリを追加します。
データベースとオブジェクトの作成と保守¶
Postgresサーバーの各インスタンスは、1つ以上のデータベースを管理します。各ユーザーは、データベースに含まれる情報にアクセスする前に、データベースに接続するための認証情報を提供する必要があります。PEMクライアントは、データベース、およびデータベースを構成するさまざまなオブジェクト(テーブル、インデックス、ストアドプロシージャなど)をすべて作成および管理できるダイアログを提供します。
PEMでのデータベースの作成は簡単です。管理対象サーバーの Databases ノードを右クリックし、 Create メニューから Database… を選択するだけです。データベースを定義したら、新しいデータベース内にオブジェクトを作成できます。
たとえば、新しいテーブルを作成するには、 Tables ノードを右クリックし、 Create メニューから Table… を選択します。 New Table ダイアログが開いたら、新しいテーブルの属性を指定します。
テーブルの作成-一般タブ¶
PEMは、他のデータベースオブジェクトの作成と管理のための同様のダイアログを提供します。
テーブル
インデックス
ストアドプロシージャ
機能
トリガー
景色
制約など
各オブジェクトタイプはツリーコントロールに表示されます。オブジェクトタイプに対応するノードを右クリックして Create メニューにアクセスし、新しいオブジェクトを作成するか、名前付きノードのコンテキストメニューから Properties を選択して、強調表示されたオブジェクトの管理タスクを実行します。
PEM認証の管理¶
Postgresは多くの認証方法をサポートしています:
安全なパスワード(md5)
GSSAPI
SSPI
Kerberos
アイデント
LDAP
RADIUS
証明書(SSL)
PAM
Postgres(およびPEM)認証は、 pg_hba.conf 構成ファイルによって制御されます。構成ファイル内のエントリは、特定のデータベースに接続できるユーザーと、そのユーザーが接続を許可される前に必要な認証の種類を指定します。
postgres という名前のユーザーが、セキュアパスワード(md5)認証接続を使用してローカルホスト(127.0.0.1/32)からすべてのデータベースに接続できるようにする pg_hba.conf ファイルの一般的なエントリは、次の形式を取ります。
host all postgres 127.0.0.1/32 md5
システムの構成によっては、PEMエージェントがサーバーへの接続に使用するユーザーアカウントのパスワードファイルを作成して、エージェントがサーバーの認証要求に適切に応答できるようにする必要があります。パスワードが 1safepwd である postgres という名前のユーザーのパスワードファイルのエントリは、次の形式になります。
localhost:5432:*:postgres:1safepwd
パスワードファイルの名前は通常、Linuxシステムでは ~root/.pgpass 、Windowsでは %APPDATA%/postgresql/pgpass.conf です。パスワードファイルの設定の詳細については、次のPostgreSQLWebサイトにアクセスしてください。
Postgresがサポートする認証方法の詳細については、次のPostgreSQLコアドキュメントを参照してください。
PEMサーバー構成の編集¶
PEMクライアントを使用して、PEMサーバーの構成パラメーターをグラフィカルに管理し、機能を有効にしたり、デフォルト設定を変更したりできます。 Server Configuration ダイアログを開くには、 Management メニューから Server Configuration… を選択します。
サーバー構成ダイアログ¶
パラメーター値を変更するには、パラメーター名の右側にある Value フィールドに表示される内容を編集します。 Save ボタンをクリックして変更を保存するか、 Close ボタンをクリックして変更を適用せずにダイアログを終了します。 Reset ボタンを使用して、パラメータを元の値に戻します。
セキュリティの管理¶
PEMは、Postgresのロールとサーバーを管理するグラフィカルな方法を提供します。
ログインロール¶
PEMサーバーに接続するとき、PEMサーバーがデータを保存するデータベースへのアクセスを許可するロール資格情報を提供する必要があります。デフォルトでは、サーバーへの最初の接続にはpostgresスーパーユーザーアカウントが使用されますが、接続ユーザーごとに個別のロールを作成することを強くお勧めします(セキュリティと監査の両方の目的のため)。PEMクエリツール、PEMWebインターフェイス Create – Login/Group Role ダイアログ、またはコマンドラインクライアント(psqlなど)を使用してロールを作成できます。
Create – Login/Group Role ダイアログを使用してロールを作成するには、PEMツリーコントロールでロールが存在するサーバーのノードを展開し、 Login/Group Roles ノードを右クリックしてコンテキストメニューにアクセスします。次に、 Create メニューから Login/Group Role… を選択します。
ログインロールノードのコンテキストメニュー¶
Create – Login/Group ロールダイアログのタブのフィールドを使用して、ロールを定義します。ブラウザタブにPEMオンラインヘルプを表示するには、ダイアログの左下隅にあるヘルプ( ? )ボタンをクリックします。
新しい役割の定義が完了したら、 Save をクリックして役割を作成します。
ログインロールの作成-[全般]タブ¶
既存のログインロールのプロパティを変更するには、ツリーコントロールでログインロールの名前を右クリックし、コンテキストメニューから Properties を選択します。ログインロールを削除するには、ロールの名前を右クリックし、コンテキストメニューから Delete/Drop を選択します。
ロールの作成と管理の詳細については、PostgreSQLオンラインドキュメントを参照してください。
グループの役割¶
グループロールは、システム権限(データベースの作成など)およびオブジェクト権限(特定のテーブルへのデータの挿入など)を分配するために使用されるコンテナとして機能できます。グループロールの主な目的は、DBAにとってシステムとオブジェクトのパーミッションの一括管理をはるかに簡単にすることです。多くの異なるログインアカウントにわたって個別に特権を割り当てたり変更したりするのではなく、単一のロールの特権を割り当てまたは変更してから、そのロールを一度に多くのログインロールに付与できます。
Group Roles ノード(PEMツリーコントロールで登録されている各サーバーの名前の下にある)を使用して、グループロールを作成および管理します。コンテキストメニューのオプションを使用すると、新しいロールを作成したり、既存のロールのプロパティを変更したりできるダイアログにアクセスできます。ロールの作成に関する詳細については、次を参照してください。
PEMの事前定義されたロールを使用してPEM機能へのアクセスを管理する¶
Login/Group Role ダイアログを使用して、制限された権限を持つロールが監査マネージャ、キャパシティマネージャ、SQLプロファイラなどのPEM機能にアクセスできるようにすることができます。PEMの事前定義されたロールにより、PEM機能にアクセスできます。これらのロールのメンバーシップが割り当てられたロールは、関連する機能にアクセスできます。
ログインロールの作成-[メンバーシップ]タブ¶
ユーザーを定義するときに、 Membership タブを使用して、新しいユーザーがメンバーであるロールを指定します。新しいユーザーは、メンバーである各ロールに関連付けられた特権を共有します。ユーザーがPEM拡張機能にアクセスするには、ロールはpem_userロールと、機能へのアクセスを許可する事前定義されたロールのメンバーである必要があります。 Roles フィールドを使用して、ドロップダウンリストから事前定義されたロール名を選択します。
SQL タブには、 Save をクリックしたときにサーバーが実行するSQLコマンドが表示されます。
ログインロールの作成-[SQL]タブ¶
上記の例は、 Audit Manager にアクセスできる acctg_clerk という名前のログインロールを作成します。役割は、いつでもサーバーに無制限に接続できます。
PEMの事前定義されたロールを使用して、以下の表にリストされている機能へのアクセスを許可できます。
Value |
Parent Role |
説明 |
|---|---|---|
pem_super_admin |
PostgresEntepriseManagerですべてを管理/設定する役割。 |
|
pem_admin |
pem_super_admin |
すべての表示可能なエージェント/サーバー、および監視対象オブジェクトの管理/管理/構成の役割。 |
pem_config |
pem_admin |
PostgresEnterpriseManagerの構成管理の役割。 |
pem_component |
pem_admin |
すべてのウィザード/ダイアログベースのコンポーネントを実行/実行する役割。 |
pem_rest_api |
pem_admin |
RESTAPIにアクセスするロール。 |
pem_server_service_manager |
pem_admin |
監視対象データベースサーバーの再起動/再読み込みを許可するロール(server-idが提供されている場合)。 |
pem_manage_schedule_task |
pem_admin |
スケジュールタスクを構成する役割。 |
pem_manage_alert |
pem_admin |
アラートとそのテンプレートを管理/構成するためのロール。 |
pem_config_alert |
pem_config、pem_manage_alert |
監視対象オブジェクトのアラートを設定するためのロール。 |
pem_manage_probe |
pem_admin |
カスタムプローブを作成、更新、削除し、カスタムプローブ設定を変更する役割。 |
pem_config_probe |
pem_config、pem_manage_probe |
表示されているすべての監視対象オブジェクトのプローブ設定(履歴保持、実行頻度、プローブの有効化/無効化)の役割。 |
pem_database_server_registration |
pem_admin |
データベースサーバーを登録するロール。 |
pem_comp_postgres_expert |
pem_component |
PostgresExpertを実行する役割。 |
pem_comp_auto_discovery |
pem_component |
データベースサーバーのダイアログの自動検出を実行するロール。 |
pem_comp_log_analysis_expert |
pem_component |
ログ分析エキスパートを実行する役割。 |
pem_comp_sqlprofiler |
pem_component |
SQLプロファイラーを実行するロール。 |
pem_manage_efm |
pem_admin |
フェールオーバーマネージャーの機能を管理する役割。 |
pem_comp_capacity_manager |
pem_component |
CapacityManagerを実行する役割。 |
pem_comp_log_manager |
pem_component |
LogManagerを実行するロール。 |
pem_comp_audit_manager |
pem_component |
監査マネージャーを実行する役割。 |
pem_comp_tuning_wizard |
pem_component |
チューニングウィザードを実行するロール。 |
チームロールを使用する¶
PEMによる監視のためにサーバーを登録するときに、サーバーに関連付けられる*Team* を指定できます。チームは、1つまたは複数の監視対象サーバーへのアクセスを、制限された役割メンバーのグループに許可または制限するために使用できるグループ役割です。PEMクライアントは、指定されたチームを持つサーバーのみを以下のユーザーに表示します。
チームの役割のメンバー
サーバーを作成した役割
PEMサーバーでのスーパーユーザー特権を持つ役割。
チームの役割を作成するには、PEMツリーコントロールで役割を配置するサーバーのノードを展開し、 Login/Group Roles ノードを右クリックしてコンテキストメニューにアクセスします。次に、 Create メニューから Login/Group Role… を選択します。 Create - Login/Group Role ダイアログが開いたら、提供されたフィールドを使用して、チームロールのプロパティを指定します。
オブジェクト権限¶
データベースオブジェクトにアクセス、実行、または作成する前に、ロールに十分な特権を付与する必要があります。PEMでは、PEMクライアントのグラフィカルインターフェイスを使用して、グループロールまたはログインアカウントにオブジェクト権限を割り当て( GRANT )および削除( REVOKE )できます。
オブジェクトの権限は、特定のオブジェクトごとにグラフィカルオブジェクトエディターを介して管理されます。たとえば、データベーステーブルにアクセスする権限を割り当てるには、ツリーコントロールでテーブル名を右クリックし、コンテキストメニューから[プロパティ]オプションを選択します。[特権]タブに表示されるオプションを使用して、テーブルに特権を割り当てます。
PEMクライアントには、 Grant Wizard ( Tools メニューからアクセス)も含まれているため、一度に多くのオブジェクト権限を管理できます。
ジョブ通知の管理¶
システムが生成したジョブ(スケジュールされたタスクの下にリストされている)またはカスタム定義のエージェントジョブの成功または失敗時にSMTPトラップを送信するように、PEMコンソールで設定を構成できます。これらの電子メール通知設定は、指定されたユーザーグループに電子メール通知を送信するために、次の3つのレベルで(優先順に)構成できます。
職務レベル
エージェントレベル
PEMサーバーレベル(デフォルトレベル)
ジョブレベルでのジョブ通知の構成¶
次のいずれかの方法で、カスタム定義のエージェントジョブに対してのみ、ジョブレベルで電子メール通知設定を構成できます。
新しいエージェントジョブの場合、ジョブ自体の作成中に
Create-Agent JobウィザードのNotificationタブでメール通知設定を構成できます。既存のカスタム定義ジョブの場合、ジョブのプロパティを編集して通知設定を構成できます。
ジョブ通知の設定-ジョブレベル¶
Notifications タブのフィールドを使用して、ジョブレベルで電子メール通知設定を構成します。
Send the notificationsフィールドを使用して、電子メール通知をいつ送信するかを指定します。
Email groupフィールドを使用して、電子メール通知を受信する電子メールグループを指定します。
エージェントレベルでのジョブ通知の構成¶
ツリービューでエージェントを選択し、右クリックして[プロパティ ]を選択します。 Properties ダイアログで、「ジョブ通知」タブを選択します。
ジョブ通知の設定-エージェントレベル¶
[ジョブ通知]タブのフィールドを使用して、エージェントレベルで電子メール通知設定を構成します。
Override default configuration?スイッチを使用して、エージェントレベルのジョブ通知設定でデフォルトのジョブ通知設定を上書きするかどうかを指定します。このスイッチで[はい]を選択した場合、このダイアログの残りの設定を使用して、ジョブ通知をいつ誰に送信するかを定義できます。このダイアログの残りの設定は、Override default configuration?スイッチを有効にした場合にのみ機能することに注意してください。Email on job completion?スイッチを使用して、ジョブが正常に完了したときにジョブ通知を送信するかどうかを指定します。Email on a job failure?スイッチを使用して、ジョブの失敗時にジョブ通知を送信するかどうかを指定します。Email groupフィールドを使用して、ジョブ通知の送信先の電子メールグループを指定します。
サーバーレベルでのジョブ通知の構成¶
サーバー構成 ダイアログを使用して、PEMサーバーレベルでの電子メール通知構成に関する情報を提供できます。[サーバー構成]ダイアログを開くには、PEMクライアントの[管理]メニューから[サーバー構成...]を選択します。
ジョブ通知の設定-サーバーレベル¶
4つのサーバー構成パラメーターは、PEMサーバーレベルでジョブ通知設定に関する情報を指定します。
job_failure_notificationスイッチを使用して、ジョブが失敗するたびに電子メール通知を送信するかどうかを指定します。
job_notification_email_groupパラメーターを使用して、電子メール通知を受信する電子メールグループを指定します。
job_retention_time parameterを使用して、非定期的なスケジュール済みタスクをシステムに保持する日数を指定します。
job_status_change_notificationスイッチを使用して、ステータスが失敗、成功、または中断に関係なく、各ジョブステータスの変更後に電子メール通知を送信するかどうかを指定します。
PEMスケジュール済みジョブの管理¶
PEMスケジュールジョブを作成して、指定した順序でカスタム定義の一連のステップを実行できます。これらの手順には、エージェントにバインドされているサーバーで実行できるSQLコードまたはバッチ/シェルスクリプトが含まれている場合があります。ビジネス要件に合わせてこれらのジョブをスケジュールできます。たとえば、特定のデータベースサーバーのバックアップを取るジョブを作成し、毎月特定の日時に実行するようにスケジュールできます。
PEMスケジュールジョブを作成または管理するには、PEMツリーコントロールを使用して、ジョブを作成するPEMエージェントを参照します。ツリーコントロールにジョブノードが表示され、その下に現在定義されているジョブが表示されます。新しいジョブを追加するには、 Jobs ノードを右クリックし、コンテキストメニューから Create Job... を選択します。
Create - Agent Job ダイアログが開いたら、 Create - Agent Job ダイアログのタブを使用して、PEMスケジュールジョブを構成するステップとスケジュールを定義します。
エージェントジョブの作成-[全般]タブ¶
General タブのフィールドを使用して、ジョブに関する一般情報を提供します。
Nameフィールドにジョブの名前を入力します。ジョブを有効にするには
EnabledスイッチをYesの位置に移動し、ジョブを無効にするにはNoの位置に移動します。Commentフィールドを使用して、ジョブに関するメモを保存します。
エージェントジョブの作成-[ステップ]タブ¶
Steps タブを使用して、ジョブが実行するステップを定義および管理します。 Add アイコン(+)をクリックして、新しいステップを追加します。次に、ヘッダーの左側にある作成アイコンをクリックして、ステップ定義ダイアログを開きます。
エージェントジョブの作成-[ステップ]タブ-[全般]タブ¶
ステップ定義ダイアログのフィールドを使用して、ステップを定義します。
Nameフィールドにステップの名前を入力します。手順は名前の英数字順に実行されることに注意してください。Enabledスイッチを使用して、ジョブの実行時にステップを含めるか(True)、ステップを無効にします(False)。Kindスイッチを使用して、ジョブステップがSQLコード(SQL)を呼び出すか、バッチスクリプト(Batch)を呼び出すかを示します。SQLを選択した場合は、Codeタブを使用してステップのSQLコードを提供します。Batchを選択した場合は、Codeタブを使用して、ステップ中に実行されるバッチスクリプトを提供します。
On errorドロップダウンを使用して、ステップの実行中にエラーが発生した場合のpgAgentの動作を指定します。以下から選択してください:失敗-このステップの処理中にエラーが発生した場合、ジョブを停止します。
成功-ステップを正常に完了したとしてマークし、続行します。
無視-エラーを無視して続行します。
Kindスイッチの入力としてSQLを選択した場合、以下の追加情報を提供します。Serverフィールドを使用して、PEMスケジュールジョブを作成しているエージェントにバインドされているサーバーを指定します。Databaseフィールドを使用して、選択したサーバーに関連付けられているデータベースを指定します。
Commentフィールドを使用して、ステップに関するコメントを入力します。
エージェントジョブの作成-[ステップ]タブ-[コード]タブ¶
ステップ定義ダイアログの
Codeタブの状況依存フィールドを使用して、ステップ中に実行されるSQLコードまたはバッチスクリプトを提供します。ステップがSQLコードを呼び出す場合、
SQL queryフィールドに1つ以上のSQLステートメントを指定します。ステップがバッチスクリプトを呼び出す場合は、
Codeフィールドにスクリプトを指定します。Windowsサーバーで実行している場合は、標準のバッチファイル構文を使用する必要があります。Linuxサーバーで実行する場合、最初の行に適切なインタープリターが指定されていれば、任意のシェルスクリプトを使用できます(例:#!/bin/sh )。定義済みのインラインコードに加えて、ファイルシステム上のバッチスクリプト、シェルスクリプト、またはSQLファイルのパスを指定することもできます。Linuxシステムでスクリプトを呼び出すには、
agent.cfgファイルのbatch_script_userパラメーターのエントリを変更し、スクリプトの実行に使用するユーザーを指定する必要があります。このパラメーターには、非rootユーザーまたはrootを指定できます。ユーザーを指定しない場合、または指定したユーザーが存在しない場合、スクリプトは実行されません。ファイルを変更した後、エージェントを再起動します。Windowsシステムでスクリプトを呼び出すには、
AllowBatchJobStepsのレジストリエントリをtrueに設定し、PEMエージェントを再起動します。PEMレジストリエントリはHKEY_LOCAL_MACHINE/Software/Wow6432Node/EnterpriseDB/PEM/agentにあります。
ステップに必要なすべての情報を提供したら、 Save ボタンをクリックして、ステップ定義ダイアログを保存して閉じます。
追加アイコン(+)をクリックして各ステップを追加するか、 Schedules タブを選択してジョブスケジュールを定義します。
追加アイコン(+)をクリックして、ジョブのスケジュールを追加します。次に、ヘッダーの左側にある作成アイコンをクリックして、スケジュール定義ダイアログを開きます。
エージェントジョブの作成-[スケジュール]タブ-[全般]タブ¶
Schedules definition タブのフィールドを使用して、ジョブを実行する日時を指定します。
Nameフィールドにスケジュールの名前を入力します。Enabledスイッチを使用して、pgAgentがスケジュールを使用する(Yes)か、スケジュールを無効にする(No)ことを示します。Startフィールドのカレンダーセレクタを使用して、スケジュールの開始日時を指定します。Endフィールドのカレンダーセレクタを使用して、スケジュールの終了日時を指定します。Commentフィールドを使用して、スケジュールに関するコメントを入力します。
Repeat タブを選択して、スケジュールを実行する日を定義します。
エージェントジョブの作成-[スケジュール]タブ-[繰り返し]タブ¶
Repeat タブのフィールドを使用して、cronスタイル形式でスケジュールに関する詳細を指定します。ジョブは、 Repeat タブで選択された各日付または時間要素で実行されます。
フィールド内をクリックして、そのフィールドの有効な値のリストを開きます。特定の値をクリックして、その値をフィールドで選択した値のリストに追加します。フィールドから値をクリアするには、フィールドの右側にあるXをクリックします。
Daysボックス内のフィールドを使用して、ジョブを実行する日を指定します。Week Daysフィールドを使用して、ジョブを実行する日を選択します。Month Daysフィールドを使用して、ジョブを実行する日数を選択します。Last Dayを指定して、日付に関係なく、ジョブが月の最後の日に実行されることを示します。Monthsフィールドを使用して、ジョブを実行する月を選択します。
Timesボックス内のフィールドを使用して、ジョブを実行する時間を指定します。Hoursフィールドを使用して、ジョブを実行する時間を選択します。Minutesフィールドを使用して、ジョブを実行する分を選択します。
Exceptions タブを選択して、スケジュールが not を実行する日を指定します。
エージェントジョブの作成-[スケジュール]タブ-[例外]タブ¶
Exceptions タブのフィールドを使用して、ジョブを実行しない日を指定します。たとえば、国民の祝日にはジョブを実行しないようにすることができます。
[追加]アイコン(+)をクリックして、例外テーブルに行を追加してから、次の操作を行います。
Date列内をクリックしてカレンダーセレクターを開き、ジョブが実行されない日付を選択します。Date列に<Any>を指定して、選択した時刻のどの日にもジョブを実行しないことを示します。Time列内をクリックして時間セレクターを開き、ジョブが実行されない時間を指定します。Time列に<Any>を指定して、選択した日のどの時点でもジョブを実行しないことを示します。
Notifications タブを選択して、ジョブレベルで電子メール通知設定を構成します。
エージェントジョブの作成-[通知]タブ¶
Notifications タブのフィールドを使用して、ジョブの電子メール通知設定を構成します。
Send the notificationsフィールドを使用して、電子メール通知をいつ送信するかを指定します。Email groupフィールドを使用して、電子メール通知を受信する電子メールグループを指定します。
スケジュールの定義が完了したら、 SQL タブを使用して、ジョブを作成または変更するコードを確認できます。
エージェントジョブの作成-[SQL]タブ¶
Save ボタンをクリックしてジョブ定義を保存するか、 Cancel ボタンをクリックして保存せずにジョブを終了します。 Reset ボタンを使用して、ダイアログから未保存のエントリを削除します。
ジョブを保存すると、ジョブは、それが定義されたサーバーのPEMツリーコントロールの Jobs ノードの下にリストされます。PEMコンソールの[2]タブには、選択したジョブの概要が表示され、[統計]タブにはジョブの各実行の詳細が表示されます。既存のジョブを変更するか、ジョブに関する詳細情報を確認するには、ジョブ名を右クリックして、コンテキストメニューから Properties を選択します。