PEMサーバーの管理

以下のセクションでは、PEMサーバーとエージェントの再起動、PEMサーバーまたはPEMエージェントの制御、LinuxおよびWindowsでのHTTPDサービスの制御、HTTPDサーバーの制御、PEM認証とセキュリティの管理、変更など、PEMサーバーに関連するタスクに関する情報を提供しますプロキシサーバーなどを使用するようにPEMを変更する pg_hba.conf ファイル

PEMサーバーとエージェントの起動と停止

PEMサーバーは、それが存在するPostgresサーバーインスタンスが起動、停止、または再起動すると、起動、停止、および再起動します。Postgresサーバーの制御に使用するのと同じコマンドを使用してPEMサーバーを制御します。Linuxプラットフォームでは、サービススクリプトを停止および開始するコマンドは、プラットフォームとOSバージョンによって異なります。

PEMエージェントは、 pemagent という名前のサービスによって制御されます。

Windowsオペレーティングシステムには、サーバーの状態を表示し、ポイントアンドクリックのサーバー制御を提供するグラフィカルサービスコントローラーが含まれています。Windowsの Control Panel から Services ユーティリティにアクセスできます。ユーティリティが開いたら、スクロールバーを使用してリストされたサービスをナビゲートし、サービス名を強調表示します。

The PEM service in the Windows Services window

WindowsサービスウィンドウのPEMサービス

サービスの状態を制御するには、 Stop 、 Pause 、 Start 、または Restart ボタンを使用します。

サービスを停止すると、Postgresサーバーに接続しているユーザー(またはクライアントアプリケーション)は突然切断されることに注意してください。サービスの制御の詳細については、次のEnterpriseDBWebサイトから入手できる*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バージョン6.xでサービスを制御するには、コマンドラインを開き、スーパーユーザー権限を引き受けて、次のように入力します。

    /etc/init.d/<service_name> <action>

  • RHELまたはCentOSバージョン7.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 オプションを使用します。サービスを停止すると、サーバーに接続しているユーザー(またはクライアントアプリケーション)は突然切断されます。

Use the Pause the service option to instruct Postgres to reload a service's configuration parameters. The Pause the service option is an effective way to reset parameters without disrupting user sessions for many of the configuration parameters.

サービスを開始するには、 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またはRHEL6.xシステムでサービスを開始するには、次のコマンドを使用します。

/etc/init.d/httpd start

CentOSまたはRHEL7.xシステムでサービスを開始するには、次のコマンドを使用します。

systemctl start httpd

On Windows, you can use the Services applet to check the status of the PEM HTTPD service. After opening the Services applet, scroll through the list to locate the PEM HTTPD service.

The PEM HTTPD Windows service

PEMHTTPDWindowsサービス

Status 列には、サーバーの現在の状態が表示されます。サービスが実行されていない場合は、 Start リンクをクリックして PEM HTTPD を開始します。

pg_hba.confファイルの変更

Entries in the pg_hba.conf file control network authentication and authorization. The pg_hba.conf file on the PEM server host must allow connections between the PEM server and PEM-HTTPD, the PEM agent, and the monitored servers.

PEMサーバーのインストールプロセス中に、PEMによって監視されるホストのIPアドレスと接続情報の入力を求められます。この情報は、PEMバッキングデータベースの pg_hba.conf ファイルの先頭に追加されます。

PEM entries in the pg_hba.conf file

pg_hba.confファイルのPEMエントリ

You may also need to manually modify the pg_hba.conf file to allow connections between the PEM server and other components. For example, if your PEM-HTTPD installation does not reside on the same host as the PEM server, you must modify the pg_hba.conf file on the PEM server host to allow PEM-HTTPD to connect to the server.

デフォルトでは、 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 のサーバーからの接続を許可する場合は、CIDR-ADDRESSに 192.168.10.0/24 を入力して、すべてのサーバーからの接続を許可しますそのネットワーク内のホスト:

# 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の事前定義されたロールを使用して、以下の表にリストされている機能へのアクセスを許可できます。

価値

親の役割

説明

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

監視対象データベースサーバーの再起動/再読み込みを許可するロール(サーバー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コンソールで設定を構成できます。カスタム定義のエージェントジョブの詳細については、``PEMスケジュール済みジョブの作成``を参照してください。これらの電子メール通知設定は、指定されたユーザーグループに電子メール通知を送信するために、次の3つのレベルで(優先順に)構成できます。

  • 職務レベル

  • エージェントレベル

  • PEMサーバーレベル(デフォルトレベル)

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

次のいずれかの方法で、カスタム定義のエージェントジョブに対してのみ、ジョブレベルで電子メール通知設定を構成できます。

  • 新しいエージェントジョブの場合、ジョブ自体の作成中に、[エージェントジョブの作成]ウィザードの[通知]タブでメール通知設定を構成できます。

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

job notification job level

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

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

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

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

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

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

job notification agent level

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

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

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

  • *ジョブ完了時に電子メール?*スイッチを使用して、ジョブ完了時にジョブ通知を送信するかどうかを指定します。

  • *ジョブの失敗時に電子メール?*スイッチを使用して、ジョブの失敗時にジョブ通知を送信するかどうかを指定します。

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

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

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

job notification server level

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

4つのサーバー構成パラメーターは、PEMサーバーレベルでのジョブ通知設定に関する情報を指定します。

  • *job_failure_notification*スイッチを使用して、各ジョブの失敗後に電子メール通知を送信するかどうかを指定します。

  • *job_notification_email_group*パラメーターを使用して、メール通知を受信するメールグループを指定します。

  • *job_retention_timeパラメーター*を使用して、非定期的なスケジュール済みタスクをシステムに保持する日数を指定します。

  • *job_status_change_notification*スイッチを使用して、ジョブのステータスが変更された後に、そのステータスが失敗、成功、中断のいずれであっても、電子メール通知を送信するかどうかを指定します。

PEMスケジュール済みジョブの管理

PEMスケジュールジョブを作成して、指定された順序で一連のカスタム定義のステップを実行できます。これらの手順には、エージェントにバインドされているサーバーで実行できるSQLコードまたはバッチ/シェルスクリプトが含まれている場合があります。ビジネス要件に合わせてこれらのジョブをスケジュールできます。たとえば、特定のデータベースサーバーのバックアップを取得するジョブを作成し、毎月特定の日時に実行するようにスケジュールできます。

PEMスケジュールジョブを作成または管理するには、PEMツリーコントロールを使用して、ジョブを作成するPEMエージェントを参照します。ツリーコントロールに[ジョブ]ノードが表示され、その下に現在定義されているジョブが表示されます。新しいジョブを追加するには、 Jobs ノードを右クリックし、コンテキストメニューから Create Job... を選択します。

When the Create - Agent Job dialog opens, use the tabs on the Create - Agent Job dialog to define the steps and schedule that make up a PEM scheduled job.

PEM scheduled job dialog create schedule

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

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

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

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

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

PEM scheduled job dialog add steps

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

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

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

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

Use the fields on the Repeat tab to specify the details about the schedule in a cron-style format. The job will execute on each date or time element selected on the Repeat tab.

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

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

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

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

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

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

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

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

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

PEM scheduled job exceptions tab

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

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

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

  • Click within the Date column to open a calendar selector, and select a date on which the job will not execute. Specify <Any> in the Date column to indicate that the job should not execute on any day at the time selected.

  • Click within the Time column to open a time selector, and specify a time on which the job will not execute. Specify <Any> in the Time column to indicate that the job should not execute at any time on the day selected.

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

PEM scheduled job notifications tab

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

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

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

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

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

PEM scheduled job SQL tab

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

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

After saving a job, the job will be listed under the Jobs node of the PEM tree control of the server on which it was defined. The Properties tab in the PEM console will display a high-level overview of the selected job, and the Statistics tab will show the details of each run of the job. To modify an existing job or to review detailed information about a job, right-click on a job name, and select Properties from the context menu.