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 からアクセスできます。ユーティリティが開いたら、スクロールバーを使用してリストされたサービスをナビゲートし、サービス名を強調表示します。

The PEM service in the Windows Services window

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 を選択することにより、サーバーを起動または停止できます。

The Management menu of a managed server

管理対象サーバーの[ツール]メニュー

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 ユーティリティを開きます。ユーティリティが開いたら、スクロールバーを使用してサービスのリストを参照します。

The Windows Services window

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 サービスを見つけます。

The PEM HTTPD Windows service

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 ファイルの先頭に追加されます。

PEM entries in the pg_hba.conf file

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 ダイアログが開いたら、新しいテーブルの属性を指定します。

Use PEM's dialogs to create and manage database objects

テーブルの作成-一般タブ

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… を選択します。

The Server Configuration dialog

サーバー構成ダイアログ

パラメーター値を変更するには、パラメーター名の右側にある 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… を選択します。

The context menu of the Login Roles node

ログインロールノードのコンテキストメニュー

Create – Login/Group ロールダイアログのタブのフィールドを使用して、ロールを定義します。ブラウザタブにPEMオンラインヘルプを表示するには、ダイアログの左下隅にあるヘルプ( ? )ボタンをクリックします。

新しい役割の定義が完了したら、 Save をクリックして役割を作成します。

The Login Role dialog

ログインロールの作成-[全般]タブ

既存のログインロールのプロパティを変更するには、ツリーコントロールでログインロールの名前を右クリックし、コンテキストメニューから Properties を選択します。ログインロールを削除するには、ロールの名前を右クリックし、コンテキストメニューから Delete/Drop を選択します。

ロールの作成と管理の詳細については、PostgreSQLオンラインドキュメントを参照してください。

グループの役割

グループロールは、システム権限(データベースの作成など)およびオブジェクト権限(特定のテーブルへのデータの挿入など)を分配するために使用されるコンテナとして機能できます。グループロールの主な目的は、DBAにとってシステムとオブジェクトのパーミッションの一括管理をはるかに簡単にすることです。多くの異なるログインアカウントにわたって個別に特権を割り当てたり変更したりするのではなく、単一のロールの特権を割り当てまたは変更してから、そのロールを一度に多くのログインロールに付与できます。

Group Roles ノード(PEMツリーコントロールで登録されている各サーバーの名前の下にある)を使用して、グループロールを作成および管理します。コンテキストメニューのオプションを使用すると、新しいロールを作成したり、既存のロールのプロパティを変更したりできるダイアログにアクセスできます。ロールの作成に関する詳細については、次を参照してください。

PEMの事前定義されたロールを使用してPEM機能へのアクセスを管理する

Login/Group Role ダイアログを使用して、制限された権限を持つロールが監査マネージャ、キャパシティマネージャ、SQLプロファイラなどのPEM機能にアクセスできるようにすることができます。PEMの事前定義されたロールにより、PEM機能にアクセスできます。これらのロールのメンバーシップが割り当てられたロールは、関連する機能にアクセスできます。

The Membership tab

ログインロールの作成-[メンバーシップ]タブ

ユーザーを定義するときに、 Membership タブを使用して、新しいユーザーがメンバーであるロールを指定します。新しいユーザーは、メンバーである各ロールに関連付けられた特権を共有します。ユーザーがPEM拡張機能にアクセスするには、ロールはpem_userロールと、機能へのアクセスを許可する事前定義されたロールのメンバーである必要があります。 Roles フィールドを使用して、ドロップダウンリストから事前定義されたロール名を選択します。

SQL タブには、 Save をクリックしたときにサーバーが実行するSQLコマンドが表示されます。

The SQL tab

ログインロールの作成-[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 タブでメール通知設定を構成できます。

  • 既存のカスタム定義ジョブの場合、ジョブのプロパティを編集して通知設定を構成できます。

job notification job level

ジョブ通知の設定-ジョブレベル

Notifications タブのフィールドを使用して、ジョブレベルで電子メール通知設定を構成します。

  • Send the notifications フィールドを使用して、電子メール通知をいつ送信するかを指定します。

  • Email group フィールドを使用して、電子メール通知を受信する電子メールグループを指定します。

エージェントレベルでのジョブ通知の構成

ツリービューでエージェントを選択し、右クリックして[プロパティ ]を選択します。 Properties ダイアログで、「ジョブ通知」タブを選択します。

job notification agent level

ジョブ通知の設定-エージェントレベル

[ジョブ通知]タブのフィールドを使用して、エージェントレベルで電子メール通知設定を構成します。

  • Override default configuration? スイッチを使用して、エージェントレベルのジョブ通知設定でデフォルトのジョブ通知設定を上書きするかどうかを指定します。このスイッチで[はい]を選択した場合、このダイアログの残りの設定を使用して、ジョブ通知をいつ誰に送信するかを定義できます。このダイアログの残りの設定は、 Override default configuration? スイッチを有効にした場合にのみ機能することに注意してください。

  • Email on job completion? スイッチを使用して、ジョブが正常に完了したときにジョブ通知を送信するかどうかを指定します。

  • Email on a job failure? スイッチを使用して、ジョブの失敗時にジョブ通知を送信するかどうかを指定します。

  • Email group フィールドを使用して、ジョブ通知の送信先の電子メールグループを指定します。

サーバーレベルでのジョブ通知の構成

サーバー構成 ダイアログを使用して、PEMサーバーレベルでの電子メール通知構成に関する情報を提供できます。[サーバー構成]ダイアログを開くには、PEMクライアントの[管理]メニューから[サーバー構成...]を選択します。

job notification server level

ジョブ通知の設定-サーバーレベル

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スケジュールジョブを構成するステップとスケジュールを定義します。

PEM scheduled job dialog create schedule

エージェントジョブの作成-[全般]タブ

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

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

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

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

PEM scheduled job dialog add steps

エージェントジョブの作成-[ステップ]タブ

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

PEM scheduled job steps definition

エージェントジョブの作成-[ステップ]タブ-[全般]タブ

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

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

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

  • Kind スイッチを使用して、ジョブステップがSQLコード( SQL )を呼び出すか、バッチスクリプト( Batch )を呼び出すかを示します。

    • SQL を選択した場合は、 Code タブを使用してステップのSQLコードを提供します。

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

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

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

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

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

  • Kind スイッチの入力としてSQLを選択した場合、以下の追加情報を提供します。

    • Server フィールドを使用して、PEMスケジュールジョブを作成しているエージェントにバインドされているサーバーを指定します。

    • Database フィールドを使用して、選択したサーバーに関連付けられているデータベースを指定します。

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

PEM scheduled job steps definition code

エージェントジョブの作成-[ステップ]タブ-[コード]タブ

  • ステップ定義ダイアログの 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 タブを選択してジョブスケジュールを定義します。

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

PEM scheduled job dialog add schedule tab

エージェントジョブの作成-[スケジュール]タブ-[全般]タブ

Schedules definition タブのフィールドを使用して、ジョブを実行する日時を指定します。

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

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

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

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

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

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

PEM scheduled job dialog schedule repeat tab

エージェントジョブの作成-[スケジュール]タブ-[繰り返し]タブ

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

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

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

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

    • Month Days フィールドを使用して、ジョブを実行する日数を選択します。 Last Day を指定して、日付に関係なく、ジョブが月の最後の日に実行されることを示します。

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

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

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

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

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

PEM scheduled job exceptions tab

エージェントジョブの作成-[スケジュール]タブ-[例外]タブ

Exceptions タブのフィールドを使用して、ジョブを実行しない日を指定します。たとえば、国民の祝日にはジョブを実行しないようにすることができます。

[追加]アイコン(+)をクリックして、例外テーブルに行を追加してから、次の操作を行います。

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

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

Notifications タブを選択して、ジョブレベルで電子メール通知設定を構成します。

PEM scheduled job notifications tab

エージェントジョブの作成-[通知]タブ

Notifications タブのフィールドを使用して、ジョブの電子メール通知設定を構成します。

  • Send the notifications フィールドを使用して、電子メール通知をいつ送信するかを指定します。

  • Email group フィールドを使用して、電子メール通知を受信する電子メールグループを指定します。

スケジュールの定義が完了したら、 SQL タブを使用して、ジョブを作成または変更するコードを確認できます。

PEM scheduled job SQL tab

エージェントジョブの作成-[SQL]タブ

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

ジョブを保存すると、ジョブは、それが定義されたサーバーのPEMツリーコントロールの Jobs ノードの下にリストされます。PEMコンソールの[2]タブには、選択したジョブの概要が表示され、[統計]タブにはジョブの各実行の詳細が表示されます。既存のジョブを変更するか、ジョブに関する詳細情報を確認するには、ジョブ名を右クリックして、コンテキストメニューから Properties を選択します。