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¶
サービスの状態を制御するには、 Stop 、 Pause 、 Start 、または Restart ボタンを使用します。
サービスを停止すると、Postgresサーバーに接続しているユーザー(またはクライアントアプリケーション)が突然切断されることに注意してください。サービスの制御の詳細については、次のEnterpriseDB Webサイトから入手できる* EDB Postgres Advanced Serverインストールガイド*を参照してください。
https://www.enterprisedb.com/resources/product-documentation
監視対象サーバーのリモート起動と停止¶
PEMでは、PEMクライアントを使用して管理対象サーバーインスタンスを起動およびシャットダウンできます。 PEMがサービスを管理できるようにサーバーを構成するには、サーバー登録ダイアログを完了して、データベースサーバーをPEMエージェントに登録し、以下を実行します。
PropertiesダイアログでStore on PEM Serverオプションを指定します。AdvancedタブのService IDフィールドにサービススクリプトの名前を指定します:Advanced Serverの場合、サービス名は
edb-as-<x>またはppas-<x>です。PostgreSQLの場合、サービス名は
postgresql-<x>です。
Where x indicates the server version number.
サーバーに接続した後、ツリーコントロールでサーバー名を強調表示し、 Management メニューから Queue Server Startup または Queue Server Shutdown を選択することにより、サーバーを起動または停止できます。
管理対象サーバーの管理メニュー¶
LinuxでのPEMサーバーまたはPEMエージェントの制御¶
Linuxプラットフォームでは、以下を制御するサービススクリプトの名前:
Advanced Server上のPEMサーバーは
edb-as-<x>またはppas-<x>ですPostgreSQL上のPEMサーバーは
postgresql-<x>ですPEMエージェントは
pemagentです
Where x indicates the server version number.
サービススクリプトを使用して、サービスを制御できます。
RHELまたはCentOSバージョン6.xでサービスを制御するには、コマンドラインを開き、スーパーユーザー権限を引き受けて、次のように入力します。
/etc/init.d/<service_name> <action>RHELまたはCentOSバージョン7.xでサービスを制御するには、コマンドラインを開き、スーパーユーザー権限を引き受けて、コマンドを発行します。
systemctl <service_name> <action>
どこで:
service_name is the name of the service.
action specifies the action taken by the service. Specify:
startはサービスを開始します。stopはサービスを停止します。サービスを停止してから開始するには
restart。statusはサービスのステータスを確認します。
WindowsでのPEMサーバーまたはPEMエージェントの制御¶
Windowsオペレーティングシステムには、サーバーの状態を表示し、ポイントアンドクリックのサーバー制御を提供するグラフィカルサービスコントローラーが含まれています。以下を制御するサービスの登録名:
PostgreSQL上のPEMサーバーホストは
postgresql-<x>ですAdvanced Server上のPEMサーバーホストは、
edb-as-<x>またはppas-<x>ですPEMエージェントは
Postgres Enterprise Manager - pemAgentです
Where x indicates the server version number.
Windowsの Control Panel をナビゲートして、 Services ユーティリティを開きます。ユーティリティが開いたら、スクロールバーを使用してサービスのリストを参照します。
The Windows Services window¶
サービスを停止するには、 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またはRHEL 6.xシステムでサービスを開始するには、次のコマンドを使用します。
/etc/init.d/httpd start
CentOSまたはRHEL 7.xシステムでサービスを開始するには、次のコマンドを使用します。
systemctl start httpd
Windowsでは、 Services アプレットを使用して PEM HTTPD サービスのステータスを確認できます。サービスアプレットを開いた後、リストをスクロールして PEM HTTPD サービスを見つけます。
The PEM HTTPD Windows service¶
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¶
PEMサーバーと他のコンポーネント間の接続を許可するには、 pg_hba.conf ファイルを手動で変更する必要がある場合もあります。たとえば、PEM-HTTPDインストールがPEMサーバーと同じホスト上にない場合、PEMサーバーホスト上の pg_hba.conf ファイルを変更して、PEM-HTTPDがサーバーに接続できるようにする必要があります。
デフォルトでは、 pg_hba.conf ファイルはPostgresインストールの下のデータディレクトリにあります。たとえば、Advanced Server 10ホストでは、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クライアントは、データベース、およびデータベースを構成するさまざまなオブジェクト(テーブル、インデックス、stored proceduresなど)をすべて作成および管理できるダイアログを提供します。
PEMでのデータベースの作成は簡単です。管理対象サーバーの Databases ノードを右クリックし、 Create メニューから Database… を選択するだけです。データベースを定義したら、新しいデータベース内にオブジェクトを作成できます。
たとえば、新しいテーブルを作成するには、 Tables ノードを右クリックし、 Create メニューから Table… を選択します。 New Table ダイアログが開いたら、新しいテーブルの属性を指定します。
Use PEM's dialogs to create and manage database objects¶
PEMは、他のデータベースオブジェクトの作成と管理のための同様のダイアログを提供します。
table
indexes
stored procedures
functions
triggers
views
constraintsなど
各オブジェクトタイプはツリーコントロールに表示されます。オブジェクトタイプに対応するノードを右クリックして Create メニューにアクセスし、新しいオブジェクトを作成するか、名前付きノードのコンテキストメニューから Properties を選択して、強調表示されたオブジェクトの管理タスクを実行します。
PEM認証の管理¶
Postgresは多くの認証方法をサポートしています:
安全なパスワード(md5)
GSSAPI
SSPI
Kerberos
ident
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 という名前です。パスワードファイルの設定の詳細については、次のEnterpriseDB Webサイトにアクセスしてください。
Postgresでサポートされている認証方法の詳細については、次のPostgreSQLコアドキュメントを参照してください。
プロキシサーバーを使用するためのPEMの変更¶
ネットワーク構成がPEMとEnterpriseDB Webサイト間の直接通信を妨げる場合、次の場合にPEMが使用するプロキシサーバーを構成できます。
インストールまたは更新に利用可能なパッケージに関する情報で
package_catalogテーブルを更新するパッケージオプションの読み取り
パッケージのダウンロード
ネットワークでプロキシサーバーを構成した後、PEMサーバー構成を変更し、プロキシの接続プロパティを指定し、プロキシサーバーを使用するようにPEMに指示します。
The PEM Server Configuration dialog¶
Server Configuration ダイアログにアクセスしてサーバー構成を変更するには、PEM Webインターフェースに接続し、 Management メニューから Server Configuration… を選択します。
パラメーター値を変更するには、パラメーターを見つけて、``値``列でパラメーター値を変更します。次のPEMサーバー構成パラメーターを使用して、PEMがプロキシサーバーに接続できるようにする接続の詳細を指定します。
proxy_serverパラメーターを使用して、プロキシサーバーのIPアドレスを指定します。プロキシサーバーが接続時にPEMによる認証を要求することを示すために、
proxy_server_authenticationパラメーターにtの値を指定します。認証が必要ない場合はfを指定します。パッケージリストを取得するときにPEMがプロキシサーバーを使用する必要がある場合は、
proxy_server_enabledパラメーターにtの値を指定します。プロキシサーバーが設定されていない場合はfを指定します。proxy_server_usernameで指定されたユーザーに関連付けられたパスワードを提供するには、proxy_server_passwordパラメーターを使用します。proxy_server_portパラメーターでプロキシサーバーのポート番号を指定します。proxy_server_usernameパラメーターで、プロキシサーバーで認証するときに使用するユーザー名を指定します。
プロキシサーバーの設定に必要なパラメーターの更新が完了したら、ダイアログを閉じる前に、ダイアログの右上隅にある Save アイコンをクリックします。
PEMサーバー構成の編集¶
PEMクライアントを使用して、PEMサーバーの構成パラメーターをグラフィカルに管理し、機能を有効にしたり、デフォルト設定を変更したりできます。 Server Configuration ダイアログを開くには、 Management メニューから Server Configuration… を選択します。
サーバー構成ダイアログ¶
パラメーター値を変更するには、パラメーター名の右側の Value フィールドに表示される内容を編集します。 Save ボタンをクリックして変更を保存するか、 Close ボタンをクリックして変更を適用せずにダイアログを終了します。 Reset ボタンを使用して、パラメーターを元の値に戻します。
セキュリティの管理¶
PEMは、Postgresの役割とサーバーを管理するグラフィカルな方法を提供します。
ログインロール¶
PEMサーバーに接続する場合、PEMサーバーがデータを保存するデータベースへのアクセスを許可するロール資格情報を提供する必要があります。デフォルトでは、サーバーへの最初の接続にはpostgresスーパーユーザーアカウントが使用されますが、接続ユーザーごとに個別のロールを作成することを強くお勧めします(セキュリティと監査の両方の目的のため)。ロールを作成するには、PEMクエリツール、PEM Webインターフェイス 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機能にアクセスできます。これらのロールのメンバーシップが割り当てられたロールは、関連する機能にアクセスできます。
The Membership tab¶
ユーザーを定義するとき、 Membership タブを使用して、新しいユーザーがメンバーになっているロールを指定します。新しいユーザーは、メンバーである各ロールに関連付けられた特権を共有します。ユーザーがPEM拡張機能にアクセスするには、ロールはpem_userロールと、機能へのアクセスを許可する事前定義されたロールのメンバーである必要があります。 Roles フィールドを使用して、ドロップダウンリストから事前定義されたロール名を選択します。
SQL タブには、 Save をクリックしたときにサーバーが実行するSQLコマンドが表示されます。
The SQL tab¶
上記の例では、 Audit Manager にアクセスできる acctg_clerk という名前のログインロールを作成します。ロールは、いつでもサーバーに無制限に接続できます。
PEMの事前定義されたロールを使用して、以下の表にリストされている機能へのアクセスを許可できます。
Value |
Parent Role |
説明 |
|---|---|---|
pem_super_admin |
Postgres Enteprise Managerですべてを管理/設定する役割。 |
|
pem_admin |
pem_super_admin |
すべての表示可能なエージェント/サーバー、および監視対象オブジェクトの管理/管理/構成の役割。 |
pem_config |
pem_admin |
Postgres Enterprise Managerの構成管理の役割。 |
pem_component |
pem_admin |
すべてのウィザード/ダイアログベースのコンポーネントを実行/実行する役割。 |
pem_rest_api |
pem_admin |
REST APIにアクセスする役割。 |
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 |
Postgres Expertを実行する役割。 |
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 |
Capacity Managerを実行する役割。 |
pem_comp_log_manager |
pem_component |
Log Managerを実行する役割。 |
pem_comp_audit_manager |
pem_component |
監査マネージャーを実行する役割。 |
pem_comp_package_deployment |
pem_component |
パッケージ展開ウィザードを実行する役割。 |
pem_comp_streaming_replication |
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サーバーレベル(デフォルトレベル)
ジョブレベルでのジョブ通知の構成¶
次のいずれかの方法で、カスタム定義のエージェントジョブに対してのみ、ジョブレベルで電子メール通知設定を構成できます。
新しいエージェントジョブの場合、ジョブ自体の作成中に、[エージェントジョブの作成]ウィザードの[通知]タブでメール通知設定を構成できます。
既存のカスタム定義ジョブの場合、ジョブのプロパティを編集して通知設定を構成できます。
ジョブ通知設定:ジョブレベル¶
*通知*タブのフィールドを使用して、ジョブレベルで電子メール通知設定を構成します。
[通知の送信]フィールドを使用して、電子メール通知をいつ送信するかを指定します。
[電子メールグループ]フィールドを使用して、電子メール通知を受信する電子メールグループを指定します。
エージェントレベルでのジョブ通知の構成¶
ツリービューでエージェントを選択し、右クリックして[プロパティ]を選択します。 [プロパティ]ダイアログで、[ジョブ通知]タブを選択します。
ジョブ通知設定:エージェントレベル¶
[ジョブ通知]タブのフィールドを使用して、エージェントレベルで電子メール通知設定を構成します。
サーバーレベルでのジョブ通知の構成¶
*サーバー構成*ダイアログを使用して、PEMサーバーレベルでの電子メール通知構成に関する情報を提供できます。 [サーバー構成]ダイアログを開くには、PEMクライアントの[管理]メニューから[サーバー構成...]を選択します。
ジョブ通知設定:サーバーレベル¶
4つのサーバー構成パラメーターは、PEMサーバーレベルでのジョブ通知設定に関する情報を指定します。
Use the job_failure_notification switch to specify if you want to send email notification after each job failure.
Use the job_notification_email_group parameter to specify the email group that should receive the email notification.
Use the job_retention_time parameter to specify the number of days that non-recurring scheduled tasks should be retained in the system.
Use the job_status_change_notification switch to specify if you want to send email notification after each job status change, irrespective of its status being a failure, success, or interrupted.
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 タブを使用します。 [追加]アイコン(+)をクリックして、新しいステップを追加します。次に、ヘッダーの左側にある作成アイコンをクリックして、ステップ定義ダイアログを開きます。
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フィールドにスケジュールの名前を入力します。Use the Enabled switch to indicate that pgAgent should use the schedule (
Yes) or to disable the schedule (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 dialog exceptions tab¶
Exceptions タブのフィールドを使用して、ジョブを実行しない日を指定します。たとえば、国民の祝日にジョブを実行しないようにしたい場合があります。
[追加]アイコン(+)をクリックして、例外テーブルに行を追加し、次の操作を行います。
Date列内をクリックしてカレンダーセレクターを開き、ジョブが実行されない日付を選択します。Date列に<Any>を指定して、選択した時刻のどの日にもジョブを実行しないことを示します。Time列内をクリックして時間セレクターを開き、ジョブが実行されない時間を指定します。Time列に<Any>を指定して、選択した日のどの時点でもジョブを実行しないことを示します。
ジョブレベルで電子メール通知設定を構成するには、 Notifications タブを選択します:
PEM scheduled job dialog notifications tab¶
Notifications タブのフィールドを使用して、ジョブの電子メール通知設定を構成します。
Send the notificationsフィールドを使用して、電子メール通知をいつ送信するかを指定します。Email groupフィールドを使用して、電子メール通知を受信する電子メールグループを指定します。
スケジュールの定義が完了したら、 SQL タブを使用して、ジョブを作成または変更するコードを確認できます。
PEM scheduled job dialog SQL tab¶
Save ボタンをクリックしてジョブ定義を保存するか、 Cancel をクリックして保存せずにジョブを終了します。 Reset ボタンを使用して、ダイアログから未保存のエントリを削除します。
ジョブを保存した後、ジョブは、それが定義されたサーバーのPEMツリーコントロールの Jobs ノードの下にリストされます。 PEMコンソールの Properties タブには、選択したジョブの概要が表示され、 Jobs タブにはジョブの各実行の詳細が表示されます。既存のジョブを変更するか、ジョブに関する詳細情報を確認するには、ジョブ名を右クリックして、コンテキストメニューから Properties を選択します。