EDB Postgres™Enterprise Manager
インストールガイド
バージョン7.5
 
 
2018年12月7日
 
1 はじめに
Postgres Enterprise Manager™(PEM)は、PostgreSQLおよびAdvanced Serverデータベースサーバの管理、監視、チューニングを行う際に、データベース管理者、システムアーキテクト、パフォーマンスアナリストを支援するように設計されています。 PEMは、単一のサーバーまたは複数のサーバーを1つのコンソールから管理および監視し、監視対象のデータベースを完全に制御できるように設計されています。
このドキュメントでは、Postgres Enterprise Manager™のインストール手順について順を追って説明します。
このガイドでは、 Postgres という用語はPostgreSQLまたはAdvanced Serverのいずれかを指しています。
言語パックインストーラには、EDB Postgres Advanced ServerおよびPostgreSQLデータベースインストーラで使用できるサポートされている言語が含まれています。言語パックインストーラを使用すると、サードパーティベンダーのサポートソフトウェアをインストールすることなく、Perl、TCL / TK、およびPythonをインストールできます。言語パックのインストールと使用の詳細については 、EnterpriseDB Webサイトから入手可能な EDB Postgres 言語 パック ガイド」 を参照してください
将来のPEMリリースでは、グラフィカルインストーラはLinuxホスト上のPEMエージェントまたはサーバーでは使用できないことに注意してください。 RPMパッケージを使用してPEMインストールをインストールまたはアップデートする必要があります。 RPMパッケージを使用してグラフィカルインストーラでインストールされたPEMサーバーまたはエージェントのLinuxホストを更新する方法の詳細については、「 PEMアップグレードおよび移行ガイド」 を参照してください
1.1 新機能
Postgres Enterprise Manager 7.5には以下の機能が追加されています。
サポートされている機能の詳細については 、次のEnterpriseDB Webサイトから入手可能な「EDB Postgres Enterprise Manager EDB Ark管理ガイド」 を参照してください
https://www.enterprisedb.com/resources/product-documentation
1.2 このガイドで使用される表記規則
このマニュアルでは、さまざまなコマンド、文、プログラム、例などの意味と使用法を明確にするために、特定の表記規則が使用されています。このセクションでは、これらの規則の概要を説明します。
以下の説明では、 用語は、言語キーワード、ユーザ提供値、リテラルなどの任意の単語または単語群を指す。用語の正確な意味は、それが使用される文脈に依存する。
イタリック体のフォントで は、通常、最初に定義された文章に新しい用語が導入されています。
Fixed-width (mono-spaced) font は、 SQL コマンド、例で使用されている特定のテーブルとカラム名、プログラミング言語キーワード など、文字通り与えなければならない用語に使用され ます 。たとえば、 SELECT * FROM emp;
イタリック固定幅フォント は、ユーザーが実際の使用で値を置き換える必要がある用語に使用されます。たとえば、 DELETE FROM table_name ;
角括弧[]は、囲まれた用語の1つまたはいずれかが置換されている可能性があることを示します。たとえば、 [ a | b ] 、「 a 」または「 b 」のいずれかを選択するか、またはどちらも選択しないことを意味します。
中括弧{}は、囲まれた選択肢のうちの1つを指定する必要があることを示します。たとえば、 { a | b } 、 " a "または " b "のうちの1つを指定する必要があることを意味します。
楕円形...とは、進行中の用語を繰り返すことができることを意味します。たとえば、 [ a | b ] ...は、あなたがシーケンス「 baaba 」を持っているかもしれないことを意味します。
2 Postgres Enterprise Manager™ - 概要
Postgres Enterprise Manager™(PEM)は、PEMの管理機能と分析機能を提供するコンポーネントで構成されています。
PEMワーカー(:PEMエージェントインストーラは、2つの実行作成 pemworkerexe )とPEMエージェント( pemagentexe )。各PEMワーカーには、対応するPEMエージェントがあり、PEMワーカーの起動または停止に使用できます。 PEMエージェントは予期せず終了した場合でもPEMワーカーを再起動します。
PEMワーカーログファイルには、PEMワーカーアクティビティ(プローブアクティビティ、ハートビートレスポンスなど)に関連する情報が含まれ、/var/log/ /var/log/pem/worker.log 格納されます。
以下のアーキテクチャ図(図2.1)は、一般的なPEMインストールに関係するさまざまなサーバーとワークステーションの関係を示しています。
C:¥Users¥susan¥AppData¥Local¥Temp¥vmware-susan¥VMwareDnD¥5ff9e582¥pem-architecture.png
図2.1 - 典型的なPEMの設置。
2.1 サポートされるプラットフォーム
PEMサーバーは次の環境でサポートされています。
64ビットWindows:
64ビットLinux:
PEMサーバは、Advanced ServerまたはPostgreSQLバッキングデータベース(バージョン9.3以降)を使用して、これらのプラットフォームでサポートされています。
PEMエージェントは、Advanced ServerまたはPostgreSQLバージョン9.3以降がサポートされているLinuxまたはWindowsプラットフォームでサポートされています。
PEM Webインターフェイスは、次のブラウザでサポートされています。
PostgreSQLのバージョンサポート
PEMの管理と監視は次のとおりです。
SQLプロファイラ
Postgres Enterprise Manager™のSQLプロファイラは、PostgreSQLバージョン9.3以降のAdvanced Server EnterpriseDBディストリビューションでサポートされています。
2.2 ハードウェアの前提条件
サーバーの監視とダッシュボードのレンダリングに最適な速度を得るには、少なくとも次のシステムでPEMをインストールすることをお勧めします。
データストレージには追加のディスク容量が必要です。リソースの使用状況は、プローブの定義と有効化、および監視対象データベースの活動レベルによって異なります。 PEMを使用しているときにサーバーリソースを監視することで、初期システム構成を拡張する必要があるときに通知できます。
2.3 ソフトウェアの前提条件
pg_hba.confファイルの変更
pg_hba.confファイルは、PostgreSQLサーバの接続を管理します。 pg _ hba 確認する必要があります。 confファイルは、PEMサーバー、監視PEMエージェント、およびPEM-HTTPDサーバーのホストからの接続を許可します。
pg_hba.confファイルの変更については、 PEM Getting Started Guideを参照してください。
https://www.enterprisedb.com/resources/product-documentation
認証管理に関する情報は、Postgresのコアドキュメントでも入手できます。
https://www.postgresql.org/docs/9.4/static/auth-pg-hba-conf.html
SELinuxパーミッション
SELinuxを実行しているシステムにPEMサーバーをインストールする前に、SELinuxを permissiveモードに設定する必要があります。
次の例は、Redhat Enterprise Linux、Fedora CoreまたはCentOSディストリビューションで動作します。 Linuxディストリビューションと互換性のある同等のコマンドを使用して、 インストール中に SELinuxを permissive モードに 設定し、インストールが完了したら enforcing モードに 戻し ます。
PEMサーバーをインストールする前に 、次のコマンドを使用して SELinuxを permissive モードに設定します。
# setenforce Permissive
インストールが完了したら、 次のコマンドで SELinuxを enforcing モードに 戻し ます。
# setenforce Enforcing
ファイアウォールの制限
PEMコンポーネント間の通信を可能にするには、ファイアウォールを調整する必要があります。
PEMエージェントのRPMインストール - RHELまたはCentOS 7.xの前提条件
CentOS 7.xホストにPEMエージェントをインストールする前に、ホストに wxBaseパッケージとwxBase epel-releaseパッケージが含まれていることを確認する必要があります。パッケージをインストールするには、コマンドラインを開き、 root権限を引き継いでコマンドを呼び出します。
yum install epel-release
yum install wxBase
 
Windowsのアクセス許可
PEMコンポーネントをWindowsにインストールする場合は、 Administrative権限でPEMインストーラを呼び出す必要があります 。管理者権限を使用してインストーラを起動するには、インストーラアイコンを右クリックし、コンテキストメニューから[ Administrator as Run ]を選択します。
サポートされるロケール
現時点では、PEMサーバーとWebインターフェイスは、 English(US) en_US ロケール English(US) en_USと、ピリオド( . )を言語区切り文字として使用しEnglish(US) en_US 。代替ロケールまたはピリオド以外の区切り文字を使用すると、エラーが発生する可能性があります。
Windows Server IEセキュリティ
Windows Serverホスト上のInternet Explorerを使用してPEM Webインターフェイスで監視対象サーバーにアクセスする場合は、PEM機能を利用するためにInternet Explorerのセキュリティ強化機能を無効にする必要があります。 IE拡張セキュリティを無効にしない場合は、代替ブラウザ(Chromeなど)を使用することをおすすめします。
3 Postgres Enterprise Manager™のインストール
グラフィカルインストーラ、StackBuilder Plus、または(RHEL 7の場合のみ)RPMパッケージを使用して、Postgres Enterprise Manager™サーバまたはエージェントをホストに追加できます。インストーラは、次のEnterpriseDB Webサイトから入手できます。
http://www.enterprisedb.com/download-postgres-enterprise-manager
PEMサーバーのグラフィカルインストーラは、PEMサーバー、PEMエージェント、およびPEM Webインターフェイスに接続するために必要なソフトウェアを、選択したブラウザとともにインストールおよび設定します。 PEMサーバーとともにインストールされるPEMエージェントは、同じホストまたはリモートホスト上に存在する複数のサーバーを監視できます。リモートエージェントによって監視されるサーバー上のPEM機能が制限される場合があることに注意してください。 PEMサーバーのグラフィカルインストーラの使用方法の詳細については、 3.1 項を参照してください
RHEL 7ホスト上のRPMパッケージを使用してPEMサーバーをインストールできます。インストーラの使用方法の詳細については、 3.2 項を参照してください
PEMエージェントのグラフィカルインストーラは、PEMエージェントをインストールして登録します。 PEMエージェントのグラフィカルインストーラの使用方法の詳細は、 3.3.1 項を参照してください
また、RPMパッケージを使用してPEMエージェントをインストールすることもできます。 PEMエージェントのRPMパッケージの詳細については、 3.3.2 項を参照してください
3.1 グラフィカル・インストーラを使用したPEMサーバーのインストール
各PEMインストールの中心にサーバーがあります。実稼働環境では、通常、サーバーは専用のマシンであり、多数のPostgresサーバーまたは少数のビジーサーバーを監視します。
PEMサーババックエンドデータベースは、PostgreSQLまたはAdvanced ServerデータベースサーバのEnterpriseDBディストリビューションでも、別のソースからインストールされた既存のPostgresサーバでもかまいません。 Postgresバッキングデータベースサーバは、バージョン9.3以降でなければならず 、PEMサーバがリポジトリとして使用するpem という名前のデータベースを含みます。
既存のPostgresサーバーを使用してPEMサーバーをホストする場合、PEMサーバーインストーラーはPostgresホストにpemデータベースを作成できます既存のサーバーを使用する場合は、ソフトウェアの前提条件を手動で満たす必要があります。
既存のPostgresサーバーを使用してPEMサーバーバックエンドデータベースをホストする方法の詳細については、 3.1.3項を 参照してください
これは、最も簡単なPEMサーバーインストールオプションです。
PEM-HTTPDは、PEMサーバーインストーラまたはStackBuilderユーティリティを使用してPostgresインストールで使用できます。 PEM-HTTPDがすでにホストにインストールされている場合、PEMサーバーインストーラは必要に応じて既存のインストールを確認して更新します。 PEMサーバホストに既存のPEM-HTTPDインストールが含まれていない場合は、PEMサーバインストーラがそれを追加します。
PEMサーバをインストールする前に、同じホスト上または別のホスト上でPostgreSQLとPEM-HTTPDを実行するかどうかを決定する必要があります。 PostgreSQLデータベースサーバとPEM-HTTPDを別のホストで実行する場合は、PEMサーバインストーラを セクション3.1.2で 説明したように、各ホストで1回ずつ実行する必要があります
PEMサーバインストーラは、(図3.1に示されている)PEMのWebインターフェイスを介してサーバにアクセスするために必要なソフトウェアをインストールします。サポートされているバージョンのブラウザでWebインターフェイスにアクセスできます。
C:¥Users¥susan¥AppData¥Local¥Temp¥vmware-susan¥VMwareDnD¥fc9a5ca4¥Screen Shot 2018-08-24 at 10.50.04 AM.png
図3.1 - PEM Webインターフェイス。
Webインターフェイスを使用して、監視対象サーバーに存在するオブジェクトに関する情報の確認、監視対象サーバー上のデータベースおよびデータベースオブジェクトの管理、PEMサーバーによって収集された統計情報の確認を行うことができます。このインターフェイスは、登録されたEDB Arkコンソールに存在するクラスタへのアクセスも提供します。
 
3.1.1 同じホストへのPEMサーバーとPEM-HTTPDのインストール
最も簡単なPEMサーバのインストール設定は、PEMバックエンドデータベースサーバ(PEMサーバインストーラと共にインストールされたPostgreSQLデータベースでホストされる)と同じホスト上にあるPEM-HTTPDサービスで構成されます。この構成では、PEMサーバーインストーラがバックエンドホスト用の前提条件ソフトウェアを提供し、サービススクリプトを作成(Linuxの場合)またはサービスを登録します(Windowsの場合)。
Linux上でPEMサーバインストーラを起動するには、スーパーユーザ権限を持ち、インストーラを含むディレクトリに移動します。次に、次のコマンドを使用してインストーラを起動します。
./pem_server-7.xx-x- platform . ext
Windowsシステムでは、インストーラアイコンを右クリックし、[ Run as Administrator ]を選択し Run as Administrator 。インストーラはWelcomeダイアログ(図3.2)を表示します。
C:¥Users¥susan¥AppData¥Local¥Temp¥vmware-susan¥VMwareDnD¥021e5014¥one.png
図3.2 - PEM Serverインストーラのウェルカムダイアログ。
[ Nextクリックして[ License Agreement ]ダイアログボックスに進みます。

C:¥Users¥susan¥AppData¥Local¥Temp¥vmware-susan¥VMwareDnD¥5f63fc1d¥two.png
図3.3 - ライセンス契約。
適切なラジオボタンを強調表示し て契約に同意する 前に、ライセンス契約(図3.3参照)を慎重に確認してください 。 [ Next クリック して Installation を続行します。 Directory ダイアログ。

C:¥Users¥susan¥AppData¥Local¥Temp¥vmware-susan¥VMwareDnD¥5febf589¥five.png
図3.4 - インストールディレクトリを指定する
使用する Installation Directory PEMサーバーの場所を指定する(Figur 電子3.4に示されている)ダイアログ:
デフォルトでは、PEMサーバーは 、Linuxの場合 /opt/PEMディレクトリに、Windowsの場合はC:\Program Files\PEMにインストールされます。デフォルトの場所をそのまま使用するか、[ Installation Directory ]ボタンを使用してブラウザダイアログを開き、PEMサーバーをインストールするディレクトリを選択します。
使用 Show advanced options開くには、インストーラに指示する]チェックボックスをオンにAdvanced options ]ダイアログボックスを。
PostgresデータベースサーバとPEM-HTTPDを別のホストにインストールする場合、またはPEMサーバを既存のPostgresサーバインストールに配置する場合は、[ Advanced options ]ダイアログを使用します。
インストーラおよびPEM-HTTPDとともにパッケージ化されたPostgreSQLサーバを同じホストにインストールするには 、[ Show advanced options ]チェックボックスをオフのままにして、[ Next ]をクリックします。
PEMサーバインストーラは、PEM-HTTPD、LanguagePack、およびPostgreSQL 10のインストール前チェックを実行します。インストーラがこれらのパッケージを見つけられなかった場合は、 Dependency missingダイアログ(図3.5を参照)で通知します
C:¥Users¥susan¥AppData¥Local¥Temp¥vmware-susan¥VMwareDnD¥e9bc2184¥one.png
図3.5 - インストーラは、前提条件を確認します。
依存関係が見つからない場合は、PEMサーバーインストーラがそれぞれのインストールウィザードを起動します。各パッケージのインストールウィザードで表示される画面の指示に従います。
不足している依存関係をインストールした後は、「 Database Server Installation Detailsダイアログが表示され、インストールプロセスが続行され Database Server
Database Server Installation Detailsダイアログ(図3.6参照)で提供される情報により、インストーラはPostgreSQLサーバに接続できます。
C:¥Users¥susan¥AppData¥Local¥Temp¥vmware-susan¥VMwareDnD¥703bcffe¥two.png
図3.6 - PostgreSQLスーパーユーザーの名前とパスワードを入力します。
提供する User名とPasswordデータベーススーパーユーザのを。要求された情報を入力したら、 Nextをクリックして「 Network Detailsダイアログに進みます。
Postgresデータベースのスーパーユーザーの名前とパスワードを入力した後、PEMエージェントを実行するユーザーアカウントのパスワードを入力するよう求められます。プロンプトが表示されたら、パスワードを入力して、[ Next押して続行します。
使用する Network Details ( - 側アドレス クライアント )ダイアログをPEMエージェントがサーバーに接続する、そこからCIDR形式のネットワークアドレスを指定する(図3.7参照)。
C:¥Users¥susan¥AppData¥Local¥Temp¥vmware-susan¥VMwareDnD¥9194ec61¥eight.png
図3.7 - エージェントが接続するネットワークアドレスを指定します。
ネットワークホストのアドレスまたはネットワークアドレス範囲を指定することができます。たとえば、アドレスでのデータベースサーバーを監視したい場合は 192.168.10.23192.168.10.76192.168.10.184入力し、 192.168.10.0/24そのネットワーク内のホストとの接続を許可します。
指定されたアドレスがサーバの pg_hba.confファイルに追加されます。必要に応じて、初期エントリをテンプレートとしてPostgreSQLサーバ上のpg_hba.confファイルに手動でエントリを追加することで、追加のネットワークアドレスを指定できます。
Network address を追加したら 、[ Nextへ]をクリックして[ Agent Details ]ダイアログボックスに進みます。
PEMサーバーのインストーラは、サーバーが常駐するホストにPEMエージェントをインストールし、サーバーを監視し、アラート処理とガベージコレクションサービスを提供します。証明書は、[ Agent certificate pathフィールド(図3.8参照)で指定された場所にもインストールされます
C:¥Users¥susan¥AppData¥Local¥Temp¥vmware-susan¥VMwareDnD¥dce27015¥nine.png
図3.8 - サーバー上のエージェントの説明を入力します。
代替の説明を入力するか、PEMエージェントの代替エージェント証明書パスを選択するか、デフォルトを受け入れます。クリックして Nextに進みReady to Installダイアログを。
これで、ウィザードでPEMサーバーをインストールする準備が整いました(図3.9を参照)。
C:¥Users¥susan¥AppData¥Local¥Temp¥vmware-susan¥VMwareDnD¥dcea708d¥ten.png
図3.9 - インストールを開始する準備ができました。
前に選択したオプションを変更する場合は「 Backを、インストールを続行する場合はNext Backクリックします。

C:¥Users¥susan¥AppData¥Local¥Temp¥vmware-susan¥VMwareDnD¥ce694761¥eleven.png
図3.10 - インストールが進行中です。
インストールプロセス中、インストーラはファイルをシステムにコピーし、PEMを実行するために必要なデータベースとWebサービスを設定します。インストールが完了すると、Webサービスが設定され、ポート 8443リッスンしていること、およびpemデータベースが作成および設定されていることを確認するポップアップダイアログが開きます(図3.11を参照)
C:¥Users¥susan¥AppData¥Local¥Temp¥vmware-susan¥VMwareDnD¥811cdd18¥thirteen.png
図3.11 - ポップアップがインストールの詳細を確認します。
OKクリックすると、Webサービスが設定され、 pemデータベースが作成されたことを確認し、 Completed…ダイアログ(図3.12を参照)に進みます。
C:¥Users¥susan¥AppData¥Local¥Temp¥vmware-susan¥VMwareDnD¥dce370b6¥fourteen.png
図3.12 - PEMサーバーのインストールが完了しました。
 
3.1.2 PEMサーバーとPEM-HTTPDを別々のホストにインストールする
PEMサーバーのバックエンドデータベースとPEM-HTTPDに別々のホストを使用するには、以下を行う必要があります。
1。
pem データベース を含むPostgresサーバのホスト上でPEMサーバインストーラを起動し ます。インストール中に、[ Advanced options ]ダイアログボックスで[ Database ]オプションを 選択し、Postgresサーバーの接続情報を入力します。
2。
PEMサーバ(およびpemデータベース)が常駐するPostgresインストール pg_hba.confファイルを変更し 、PEM-HTTPDサーバのホストからの接続を許可します。
3。
PEM-HTTPDサーバのホストでPEMサーバインストーラを起動し、 [ Installation Type ]ダイアログで[ Web Services ]オプションを選択し Web
Linux上でPEMサーバインストーラを起動するには、スーパーユーザ権限を持ち、インストーラを含むディレクトリに移動します。次に、次のコマンドを使用してインストーラを起動します。
./pem_server-7.xx-x- platform . ext
Windowsシステムでは、インストーラアイコンを右クリックし、[ Run as Administrator ]を選択し Run as Administrator 。インストーラはWelcomeダイアログを表示します(図3.13を参照)。

C:¥Users¥susan¥AppData¥Local¥Temp¥vmware-susan¥VMwareDnD¥081e462d¥one.png
図3.13 - PEM Serverインストーラのウェルカムダイアログ。
[ Nextクリックして[ License Agreement ]ダイアログボックスに進みます。

C:¥Users¥susan¥AppData¥Local¥Temp¥vmware-susan¥VMwareDnD¥5761ec2a¥two.png
図3.14 - ライセンス契約。
適切なラジオボタン 強調表示し て同意することになる 前に、使用許諾契約書(図3.14参照)を慎重に確認してください 。 [ Next ]をクリック して続行します。

C:¥Users¥susan¥AppData¥Local¥Temp¥vmware-susan¥VMwareDnD¥4761dcea¥five.png
図3.15 - 「インストールディレクトリ」ダイアログ。
[ Installation Directory ]ダイアログボックス(図3.15を参照)のフィールドを使用して、PEMサーバーが常駐するディレクトリを指定し、 Advanced optionsダイアログにアクセスしoptions
デフォルトでは、PEMサーバーは 、Linuxの場合 /opt/PEMディレクトリに、Windowsの場合はC:\Program Files\PEMにインストールされます。デフォルトの場所をそのまま使用するか、[ Installation Directoryフィールドを使用してブラウザダイアログを開き、PEMサーバーをインストールするディレクトリを選択します。
PEMサーバとPEM-HTTPDを別々のホストにインストールするには、[ Advanced options ]ダイアログボックスでインストールタイプ( Web ServicesまたはDatabase )を指定する必要があります。 [ Show advanced optionsチェックボックスをオンにして、インストーラがインストールプロセスに[ Advanced options ]ダイアログを含めるように指示します。
Nextクリックして、「 Advanced Optionsダイアログに進みます。

C:¥Users¥susan¥AppData¥Local¥Temp¥vmware-susan¥VMwareDnD¥c4e15861¥six.png
図3.16 - [詳細オプション]ダイアログ。
インストールするコンポーネントを指定するには、[ Advanced options ]ダイアログボックス(図3.16を参照) のラジオボタンを使用します。
Web Services and Database選択して、PostgresサーバとPEM-HTTPDが両方とも現在のホスト上に存在することを示します。 Web Services and Databaseオプションを選択した場合、PEMサーバインストーラは、PEM-HTTPDのインストールを確認する前に、PEMサーバに使用するPostgresサーバを指定することができます。
選択し Web Services PEMサーバおよびホストする別のホスト上に存在するPostgresデータベースサーバー使用中に、現在のホスト上でPEM-HTTPDをインストールするには、 pemのデータベースを。
ご注意:あなたがPEMサーバ(とのホスト上でPEMサーバのインストールプロセスを完了する必要があります pem選択、バックエンドデータベース) Database上のAdvanced optionsの接続プロパティ]ダイアログ、および変更pg_hba.conf使用する前に、PEMサーバー上のファイルをPEM-HTTPDをインストールするWeb Servicesオプション。
このオプションは、 第3.1.2.2項「 Webサービスのインストール 」で説明されているインストール手順を呼び出し ます
既存のPostgresサーバ(バージョン9.3以降)を使用するか、またはPEMサーバインストーラとともに配布されているデータベースサーバのみをインストールするには、 [ Database選択します。
このオプションは、 第3.1.2.1項「 データベース・ホストの指定 」で説明されているインストール手順を呼び出します
インストールオプションを選択したら、[ Next]をクリックして続行します。
3.1.2.1 データベース・ホストの指定
[ Advanced options ]ダイアログ(図3.17)で[ Database ]オプションを選択すると、PEMサーバーのバックエンドデータベース( pem )が常駐するホストの接続情報を指定できます。
C:¥Users¥susan¥AppData¥Local¥Temp¥vmware-susan¥VMwareDnD¥991cf5c8¥seven.png
図3.17 - [詳細オプション]ダイアログ。
Nextクリックして「 Database Server Selectionダイアログに進みServer
C:¥Users¥susan¥AppData¥Local¥Temp¥vmware-susan¥VMwareDnD¥ac4fe0cf¥three.png
図3.18 - データベースサーバの選択
PEMサーバーバックエンドデータベースのホストを選択するには、[ Database Server Selection ]ダイアログボックス(図3.18を参照) のドロップダウンリストボックスを使用します。あなたはできる:
PostgreSQL 9.6オプションを選択して、PEMサーバインストーラと一緒に配布されているPostgresサーバをインストールします。 PEMサーバインストーラにバンドルされているPostgreSQLのバージョンを使用することに決めた場合、EnterpriseDBワンクリックPostgreSQLインストーラが開き、インストールが完了します。
[ Other Database Server選択して 、EnterpriseDBのワンクリックグラフィカルインストーラを使用してインストールされていないPostgresサーバの接続情報を指定します。 PEMサーバデータベースホストのソフトウェア前提条件については、「 3.1.3.1 Postgresサーバの準備」を参照してください。
[ Nextクリックして続行します。
PEMサーバが既存のPostgresサーバに存在する場合、3.19に示すDatabase Server Installation Detailsダイアログが開きます。
C:¥Users¥susan¥AppData¥Local¥Temp¥vmware-susan¥VMwareDnD¥bcc5d19d¥four.png
図3.19 - 「データベースサーバーインストールの詳細」ダイアログ。
[ Database Server Installation Details ]ダイアログボックスで必要な情報は、さまざまです。 PEMサーバインストーラは、選択できなかった選択されたインストールに関する情報のみを提供するように求めます。
[ Nextクリックして続行します。
プロンプトが表示されたら、PEMエージェントを実行するサービスアカウントのシステムパスワードを入力し、[ Next]をクリックして[ Network Details ]ダイアログボックスに進みます
 

C:¥Users¥susan¥AppData¥Local¥Temp¥vmware-susan¥VMwareDnD¥9916f55a¥three.png
図3.20 - エージェントが接続するネットワークアドレスを指定します。
使用する Network Details PEMエージェントはサーバー( - 側アドレス クライアント )に接続する、そこからCIDR形式のネットワークアドレスを指定する(図3.20を参照)ダイアログを。指定されたアドレスがサーバのpg_hba.confファイルに追加されます。
注意: PostgreSQLサーバ上のpg_hba.confファイルに手動でエントリを追加することにより、追加のネットワークアドレスを指定することができます
デフォルト(ローカルホストを指定)を受け入れるか、 Network address範囲を指定し、 Nextをクリックして「 Agent Detailsダイアログに進みます。
PEMサーバーのインストーラは、サーバーが常駐するホストにPEMエージェントをインストールし、サーバーを監視し、アラート処理とガベージコレクションサービスを提供します。証明書は、[ Agent certificate pathフィールド(図3.21参照)に指定された場所にもインストールされます
C:¥Users¥susan¥AppData¥Local¥Temp¥vmware-susan¥VMwareDnD¥d6e16e05¥four.png
図3.21 - サーバー上に存在するエージェントの説明を入力します。
代替の説明またはPEMエージェントの代替エージェント証明書パスを入力するか、またはデフォルトを受け入れることができます。 [ Nextクリックして続行します。
これで、ウィザードでPEMサーバーをインストールする準備が整いました(図3.22参照)。
C:¥Users¥susan¥AppData¥Local¥Temp¥vmware-susan¥VMwareDnD¥d6e36e23¥five.png
図3.22 - インストールを開始する準備ができました。
前に選択したオプションを変更する場合は「 Backを、インストールを続行する場合はNext Backクリックします。

C:¥Users¥susan¥AppData¥Local¥Temp¥vmware-susan¥VMwareDnD¥f3b84bdc¥five.png
図3.23 - インストールが進行中です。
インストールプロセス中、インストーラはファイルをシステムにコピーし、PEMサーバのバックエンドデータベースを設定します。 pemデータベースが作成され、設定されたことを確認するポップアップダイアログが開きます(図3.24を参照)
C:¥Users¥susan¥AppData¥Local¥Temp¥vmware-susan¥VMwareDnD¥57eaed1b¥eight.png
図3.24 - OKをクリックして、pemデータベースが作成されたことを確認します。
OKクリックして、 pemデータベースが作成されたことを確認し、 Completed…ダイアログに進みCompleted…
 

C:¥Users¥susan¥AppData¥Local¥Temp¥vmware-susan¥VMwareDnD¥1a157054¥nine.png
図3.25 - PEMサーバーのインストールが完了しました。
PEMサーバインストールのデータベース部分が完了すると(図3.25参照)、別のホスト上のPEMサーバを起動してPEM-HTTPDをインストール(またはアップグレード)できます。
3.1.2.2 Webサービスのインストール
[ Advanced options ]ダイアログ(図3.26)で[ Web Services ]ラジオボタンを選択すると、 PEMサーバインストーラは現在のホストにPEM-HTTPDをインストールするか、既存のPEM-HTTPDインストールを更新します。
C:¥Users¥susan¥AppData¥Local¥Temp¥vmware-susan¥VMwareDnD¥5d7cb525¥thirty-two.png
図3.26 - 「詳細オプション」ダイアログの「Webサービス」オプションの選択
現在のホストは、PEMバッキングデータベースのホストではない可能性があります。このオプションを選択する前に、次のものが必要です。
PEMサーバーデータベースホスト上 pg_hba.confファイルを変更して 、PEM-HTTPDホストからの接続を許可し、データベースサーバーを再起動しました。
[ Web Services ]オプションを選択して [ Next ]をクリックすると、PEMサーバーインストーラは現在のホストで既存のPEM-HTTPDおよびLanguagePackのインストールをチェックします。
インストーラがコンポーネントを見つけられない場合、インストーラは1つ以上の依存関係がないことを通知します(図3.27を参照)。
C:¥Users¥susan¥AppData¥Local¥Temp¥vmware-susan¥VMwareDnD¥0e885a74¥Screenshot-Setup-1.png
図3.27 - インストーラは欠けている依存関係を検出しました。
[ Nextクリックして 、サーバにLanguagePackのインストールを指示するよう指示します(図3.28を参照)。
C:¥Users¥susan¥AppData¥Local¥Temp¥vmware-susan¥VMwareDnD¥810b9a10¥inst_lang_pack.png
図3.28 - インストーラは欠けている依存関係を検出しました。
 
 
 
言語パックをインストールすると、インストーラはPEM-HTTPDセットアップウィザードを起動します(図3.29を参照)。
C:¥Users¥susan¥AppData¥Local¥Temp¥vmware-susan¥VMwareDnD¥1c82642e¥httpd.png
図3.29 - PEM-HTTPDインストールウィザード。
PEM-HTTPD Setup Wizard. の画面の指示に従います Wizard.ウィザードでインストールが完了したら、[ Finish ]をクリックして[ Database Server Installation Details ]ダイアログを開きServer

C:¥Users¥susan¥AppData¥Local¥Temp¥vmware-susan¥VMwareDnD¥de7c302f¥thirty-four.png
図3.30 - 「データベースサーバーインストールの詳細」ダイアログ
PEMサーバインストールをホストしているPostgresインストールの接続情報を提供するには、 Database Server Installation Detailsダイアログ(図3.30参照) のフィールドを使用します。
[ Nextクリックして続行します。 PEMサーバーのインストールを完了する前に、インストーラがデータベースホストに連絡します。 pg _ hba 。 PEMデータベースホスト上のconfファイルは、httpdサーバのホストからの接続を受け入れるように設定する必要があり、ファイアウォールはインストールを続行するための接続を許可する必要があります。 PEMサーバインストーラはPEMサーバのインストールを完了し、PEM-HTTPDサーバのホスト上に存在しなければならない項目だけを追加します。
 
3.1.3 既存のPostgresサーバへのPEMサーバのインストール
既存のPostgresサーバー(バージョン9.3以降)を使用して、PEMサーバーと pemデータベースをホストすることができます。 Postgresインストーラと必要なソフトウェア拡張は、次のEnterpriseDB Webサイトから自由に入手できます。
http://www.enterprisedb.com/
このセクションでは、PEMサーバーのインストール用に既存のPostgresサーバーを構成する方法について説明します。以下の手順はガイドラインとしてのみ考慮する必要があります。 Postgresインストールを設定するために必要な実際の手順は、PostgreSQLサーバの設定によって異なります。
Postgresの以下のバージョンは、 sslutils拡張とサービススクリプトを含むようにあらかじめ設定されています。次のPostgresバージョンをPEMバックエンドデータベースサーバとして使用するための追加の準備は必要ありません。
3.1.3.1 Postgresサーバの準備
既存のPostgresサーバにPEMサーバをインストールする前に、次の作業を行う必要があります。
Postgresサーバに sslutils拡張機能がインストールされていることを確認してください 。詳細は、 3.1.3.1.1項を参照してください。
サーバを準備したら、PEMサーバインストーラを使用して既存のPostgresサーバにPEMをインストールできます。詳細は、 3.1.3.2 項を参照してください
3.1.3.1.1 sslutils拡張機能のインストール
PEMサーバーが存在するPostgresサーバーには、 sslutils拡張が含まれている必要がありますsslutilsパッケージは、次のEnterpriseDB Webサイトから無料でダウンロードできます。
https://www.enterprisedb.com/advanced-downloads
Webページが開いたら、 SRC- SSL Utils 1.2パッケージのリンクを選択します。ダウンロードが完了したら、ファイルを抽出し、Postgresインストールディレクトリにコピーします。
Linuxの場合
PostgresサーバがLinuxシステム上にある場合は、gccコンパイラを使用してsslutilsを構築する必要があります。
1。
yum install gcc
2。
pg_configプログラムを見つけるため PATH の値を設定します
export PATH=$PATH:/opt/ postgres_inst_dir /9. x /bin/
3。
次に、 yum使用してsslutil依存関係をインストールしsslutil
yum install openssl-devel
4。
sslutilsフォルダに移動し、 sslutilsように入力します。
make USE_PGXS=1
make USE_PGXS=1 install
5。
CREATE EXTENSION sslutils
Windowsの場合
覚えておいてください:以下のPostgresインストールを使用する場合、 sslutils拡張子を手動で追加する必要はあり ません
sslutilsは、バックエンドPostgresのインストールをコンパイルするために使用したものと同じコンパイラでビルドする必要があります。 PostgreSQLのワンクリックインストーラ(EnterpriseDB)またはAdvanced Serverインストーラを使用してWindowsプラットフォームにインストールされたバックエンドPostgresデータベースを使用している場合は、Visual Studioを使用してsslutilsをビルドする必要があります。
インストールプロセスの具体的な詳細は、プラットフォームとコンパイラによって異なりますが、基本的な手順は同じです。絶対です:
1。
sslutilsパッケージをPostgresインストールディレクトリにコピーします。
2。
3。
SET USE_PGXS=1
SET GETTEXTPATH=
path_to_gettext
SET OPENSSLPATH=
path_to_openssl
SET PGPATH= path_to_pg_installation_dir
SET ARCH=x86
REM Set ARCH x64 for 64 bit
msbuild sslutils.proj /p:Configuration=Release
場所:
path_to_gettext は、 GETTEXT ライブラリおよびヘッダーファイル の場所を指定し ます。
path_to_openssl は、 openssl ライブラリとヘッダファイルの場所を指定します。
path_to_pg_installation_dirは、Postgresインストールの場所を指定します。
4。
コンパイルされた sslutilsファイルをインストール用の適切なディレクトリにコピーします。 sslutilsディレクトリには次のファイルが含まれます:
sslutils--1.1.sql
sslutils--unpackaged--1.1.sql
sslutils--pemagent.sql.in
sslutils.dll
をコピーしてください。 dllライブラリと。場所にsqlファイル:
COPY sslutils*.sql* "%PGPATH%\share\extension\"
COPY sslutils.dll "%PGPATH%\lib\"
3.1.3.1.2 サービス・スクリプトの作成またはサービスの登録
サービススクリプトを使用すると、構成管理、証明書管理、またはその他の管理タスクを実行する際に、必要に応じてPEMサーバーを起動、停止、または再起動できます。
PostgreSQLワンクリックインストーラなど、EnterpriseDBのインストーラを使用してPostgreSQLまたはAdvanced Serverデータベースをインストールすると、インストーラによってサービススクリプトが作成されるか、またはWindowsでサービスが登録されます。 Postgresインストールをソースからビルドした場合、サービススクリプトを手動で作成する必要があります。
PEMサーバインストーラは、サービススクリプトの存在を確認している間は、スクリプト自体の整合性をチェックしません。 PEMが正しく機能するためには、サービススクリプトが期待通りに機能することを確認する必要があります。
Linuxサービススクリプトの作成
Linuxでは、サービス・スクリプトは /etc/init.dディレクトリーになければなりません 。サービス・スクリプトは、データベース・サーバーを開始、停止、再始動できる必要があります。サービススクリプトはプラットフォーム固有です。 Linuxのサンプルサービススクリプトは、第7章「Linuxサービススクリプト(サンプル)」を参照してください 。 Postgresサービスをカスタマイズする方法については、以下をご覧ください。
https://www.postgresql.org/docs/10/static/server-start.html
Windowsでのサービスの登録
Windowsを使用してPEMバックエンドデータベースをホストする場合は、WindowsサービスマネージャーにPostgresサーバーの名前を登録する必要があります。 EnterpriseDBインストーラを使用して作成されたPostgresサーバを使用している場合、サービスは自動的に登録されます。インストールを手動でビルドする場合は、Postgres pg_ctlコマンドのregister句を使用してサービスを登録できます。コマンドの構文は次のとおりです。
pg_ctl register [-N service_name ] [-U user_name ]
[-P
password ] [-D data_directory ]
場所:
service _ nameは、Postgresクラスタの名前を指定します。
user_nameは、PostgresインストールディレクトリにアクセスしてPostgresサービスを開始するのに十分な特権を持つオペレーティングシステムユーザの名前を指定します。
passwordは、ユーザーに関連付けられているオペレーティングシステムのpassword指定します。
data_directoryは、Postgresのデータディレクトリの場所を指定します。
使用方法の詳細について pg_ctlコマンドと利用可能なコマンドオプションを、利用可能にPostgresのコアドキュメントを参照してください。
http://www.postgresql.org/docs/10/static/app-pg-ctl.html
3.1.3.2 PEM Serverインストーラの起動
既存のPostgresサーバを準備したら、PEMサーバインストーラを起動します。スーパーユーザー(またはWindows、管理者)の権限を持ち、インストーラを含むディレクトリに移動します。次に、次のコマンドを使用してインストーラを起動します。
./pem_server-7.xx-x- platform . ext
インストーラは Welcomeダイアログを表示します (図3.31参照)。
C:¥Users¥susan¥AppData¥Local¥Temp¥vmware-susan¥VMwareDnD¥57e3e521¥one 11.18.38 AM.png
図3.31 - PEM Serverインストーラのウェルカムダイアログ。
[ Nextクリックして[ License Agreement ]ダイアログボックスに進みます。

C:¥Users¥susan¥AppData¥Local¥Temp¥vmware-susan¥VMwareDnD¥42dbd626¥stwo.png
図3.32 - ライセンス契約。
適切なラジオボタンを強調表示して同意を得る前に、使用許諾契約書(図3.32参照)を慎重に確認してください。 [ Next]をクリックして[ Installation Directory ]ダイアログボックスに進みます

C:¥Users¥susan¥AppData¥Local¥Temp¥vmware-susan¥VMwareDnD¥d3d86560¥five.png
図3.33 - 「インストールディレクトリ」ダイアログ。
使用する Installation Directory PEMサーバーの場所を指定し、アクセスするために(Figur 電子3.33に示す)ダイアログをAdvanced options ]ダイアログボックスを:
[ Installation Directoryフィールドを使用してブラウザダイアログを開き、PEMサーバーをインストールするディレクトリを選択します。
既存のサーバー上にPEMサーバーをインストールする場合は、隣のボックスをチェックし Show advanced options含めるようにインストーラに指示するAdvanced optionsインストールプロセスにダイアログを。
[ Nextクリックして続行します。


C:¥Users¥susan¥AppData¥Local¥Temp¥vmware-susan¥VMwareDnD¥9cadff98¥Screenshot-Setup.png
図3.34 - [詳細オプション]ダイアログ。
インストールoptionsを指定するには、[ Advanced options ]ダイアログボックス(図3.34を参照) のラジオボタンを使用します。選択:
PostgresサーバとPEM-HTTPDサーバの両方が現在のホスト上に存在する場合は、 Web Services and Database使用します。このオプションは、既存のPostgresサーバを使用してPEMサーバをホストしている場合、またはPEMサーバインストーラを使用してPEMサーバが常駐するPostgresサーバをインストールする場合に有効です。
Web Services and Database を選択する and 、PEMサーバーインストーラは現在のホストにPEM-HTTPDインストールをチェックし、必要に応じてPEM-HTTPDをアップグレードまたはインストールします。
PEM-HTTPDサーバーのみが現在のホスト上に存在する場合は、 Web Services 。このオプションの呼び出しの詳細については、 3.1.2.2項を参照してください。
DatabaseだけPEMサーバをインストール(および作成している場合はpem現在のホスト上のバックエンドデータベースを)。このオプションは、既存のPostgresサーバを使用してPEMサーバをホストしている場合、またはPEMサーバインストーラを使用してPEMが存在するPostgreSQLサーバをインストールする場合に有効です。
インストールオプションを選択したら、[ Next]をクリックして続行します。
C:¥Users¥susan¥AppData¥Local¥Temp¥vmware-susan¥VMwareDnD¥62b1f884¥three.png
図3.35 - 「データベースサーバーの選択」ダイアログ。
[ Database Server Selection ]ダイアログボックス(図3.35) のドロップダウンリストボックスを使用して 、PEMサーバのバックエンドデータベースを選択します。
選択 PostgreSQL 9.6Packaged PEMサーバインストーラに同梱されてPostgreSQLサーバをインストールして使用するには、インストールウィザードを指示する)オプション。
[ Other Database Server選択すると、PEMサーバインストーラに、EnterpriseDBインストーラ以外のソースからインストールされたPostgresデータベースを使用するように指示されます(rpmまたはソースからビルドされています)。
選択したデータベースサーバには、 sslutils contribモジュールのインストールが含まれていて、起動スクリプト(Linuxの場合)または登録サービス(Windowsの場合)が必要であることに注意してくださいPostgres Serverの準備については、 3.1.3.1項を参照してください。
Advanced optionsダイアログで「 Web Services and Database 」を選択した場合 、インストール・ウィザードは現行ホストに既存のPEM-HTTPDインストールをチェックし、必要に応じてサービスをアップグレードまたはインストールします。
あなたが選択した場合は DatabaseAdvanced options ]ダイアログ、 Database Server Installation Details ]ダイアログボックスが表示されますが(図3.36に示します)。
C:¥Users¥susan¥AppData¥Local¥Temp¥vmware-susan¥VMwareDnD¥0d274565¥thirty-four.png
図3.36 - 「データベースサーバーインストールの詳細」ダイアログ。
[ Database Server Installation Details ]ダイアログボックスのフィールドを使用して 、PEMサーバをホストするPostgresサーバへの接続を記述します。
注意:サービススクリプトの準備については、 3.1.3.1.2項 を参照してください
[ Nextクリックして続行します。
C:¥Users¥susan¥AppData¥Local¥Temp¥vmware-susan¥VMwareDnD¥0da64466¥snine.png
図3.37 - エージェントが接続するネットワークアドレスを指定します。
[ Network Details ]ダイアログボックス(図3.37)を使用して、PEMエージェントがサーバーに接続するCIDR形式のネットワークアドレス( クライアント 側のアドレス)を指定します。指定されたアドレスがサーバのpg_hba.confファイルに追加されます。
必要に応じて、初期エントリをテンプレートとしてPostgreSQLサーバ上のpg_hba.confファイルに手動でエントリを追加することで、追加のネットワークアドレスを指定できます
Network address を追加したら 、[ Nextへ]をクリックして[ Agent Details ]ダイアログボックスに進みます。
PEMサーバーインストーラは、サーバーが常駐するホストにPEMエージェントをインストールし、サーバーを監視し、アラート処理とガベージコレクションサービスを提供します。証明書は、[ Agent certificate pathフィールド(図3.38参照)で指定された場所にもインストールされます
C:¥Users¥susan¥AppData¥Local¥Temp¥vmware-susan¥VMwareDnD¥42d8de23¥sten.png
図3.38 - サーバー上にあるエージェントの説明を入力します。
代替の説明またはPEMエージェントの代替エージェント証明書パスを入力するか、またはデフォルトを受け入れることができます。クリックして Nextに進みReady to Installダイアログを。
これで、ウィザードでPEMサーバーをインストールする準備が整いました(図3.39参照)。
C:¥Users¥susan¥AppData¥Local¥Temp¥vmware-susan¥VMwareDnD¥0f2d43f3¥seleven.png
図3.39 - インストールを開始する準備ができました。
前に選択したオプションを変更する場合は「 Backを、インストールを続行する場合はNext Backクリックします。
C:¥Users¥susan¥AppData¥Local¥Temp¥vmware-susan¥VMwareDnD¥1f2f73b5¥stwelve.png
図3.40 - インストールが進行中です。
インストールプロセス中、インストーラはファイルをシステムにコピーし、PEMサーバのバックエンドデータベースを設定します。 pemデータベースが作成され、設定されたことを確認するポップアップダイアログが開きます(図3.41を参照)
C:¥Users¥susan¥AppData¥Local¥Temp¥vmware-susan¥VMwareDnD¥1dac7439¥sthirteen.png
図3.41 - OKをクリックして、pemデータベースが作成されたことを確認します。
OKクリックしてpemデータベースが作成されたことを確認し、 Completed…ダイアログ(図3.42を参照)に進みます。
 
C:¥Users¥susan¥AppData¥Local¥Temp¥vmware-susan¥VMwareDnD¥1a9d79ec¥nine 11.37.35 AM.png
図3.42 - PEMサーバーのインストールは完了です。
別のホストにあるPEM-HTTPDサービスを使用している場合は、次の作業を行う必要があります。
Postgresサーバホスト上 pg_hba.confファイルを変更して 、ホスト間の接続を許可します。
3.2 RPMパッケージを使用したPEMサーバーのインストール
RHELまたはCentOS 6.xまたは7.xホスト上のRPMパッケージを使用して、PEMサーバーとPEMエージェントをインストールできます。
RPMパッケージを使用してPEMサーバーをインストールする場合は、まずバッキングデータベースを手動でインストールし、データベースクラスタを作成する必要があります。サーバーのバッキングデータベースは、RPMパッケージまたはBitRock経由でインストールする必要があります。データベースは、次のいずれかのバージョンでなければなりません。
For detailed information about installing an Advanced Server or PostgreSQL database, please see the product documentation at:
https://www.enterprisedb.com/resources/product-documentation
file on the backing database must be configured to use trust authentication for connections. For information about modifying the The pg_hba.conf file on the backing database must be configured to use trust authentication for connections. For information about modifying the pg_hba.confファイルのfile on the backing database must be configured to use trust authentication for connections. For information about modifying the pg_hba.conf file on the backing database must be configured to use trust authentication for connections. For information about modifying the , visit:
https://www.postgresql.org/docs/10/static/auth-pg-hba-conf.html
You must also install the hstore contrib module; for more information, visit: You must also install the module; for more information, visit:
https://www.postgresql.org/docs/10/static/hstore.html
インストーラは既存のエージェントをアップグレードしないことに注意してください。既存のエージェントを手動で削除する必要があります。
PEM's Package Deployment and Streaming Replication Deployment/Configuration features are designed to work with the EnterpriseDB installer packages, not platform native packaging packages. While those features will still work with a natively packaged version of PEM (such as an RPM or DEB), the features can only deploy installer packages and not RPM or DEB packages. You should instead use vendor supplied management tools such Yum or Aptitude to deploy native packages, in conjunction with configuration management tools such as Chef, Puppet, SaltStack or Ansible if desired.
You can also use EDB Ark to deploy and manage Postgres clusters using streaming replication on cloud platforms using native packages.
PEMサーバーをインストールする前に、リポジトリー構成ファイル( edb.repo )を作成する必要があります 。リポジトリ構成ファイルには、EnterpriseDBリポジトリの接続および認証情報が含まれています。システムにRPMインストールを実行する準備をするには、スーパーユーザー権限を持ち、 yumを使用してリポジトリ構成ファイルを作成します。
yum install -y http://yum.enterprisedb.com/edbrepos/edb-repo-latest.noarch.rpm
You must also install the epel-release package. If you are using a CentOS host, use the command:
yum install epel-release
If you are using a RHEL host, use the following command:
yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
Please note: If you are a Red Hat Network user you must also enable the rhel-x-server-optional-rpms repository to use EPEL packages, where x specifies the version of RHEL on the host. You can make the repository accessible by enabling the RHEL optional subchannel for RHN-Classic. If you have a certificate-based subscription, please see the Red Hat Subscription Management Guide. You must also enable Please note: If you are a Red Hat Network user you must also enable the repository to use EPEL packages, where x specifies the version of RHEL on the host. You can make the repository accessible by enabling the RHEL optional subchannel for RHN-Classic. If you have a certificate-based subscription, please see the Red Hat Subscription Management Guide. You must also enable rhel-x-server-optional-rpms repository to use EPEL packages, where x specifies the version of RHEL on the host. You can make the repository accessible by enabling the RHEL optional subchannel for RHN-Classic. If you have a certificate-based subscription, please see the Red Hat Subscription Management Guide. You must also enable the rhel-x-server-extras-rpms repository, where x specifies the version of RHEL on the host. repository to use EPEL packages, where x specifies the version of RHEL on the host. You can make the repository accessible by enabling the RHEL optional subchannel for RHN-Classic. If you have a certificate-based subscription, please see the Red Hat Subscription Management Guide. You must also enable repository, where x specifies the version of RHEL on the host.
After creating the repository configuration file, use your choice of editor to enable the repository entries from which you will install packages. The repository configuration file is named edb.repo , and resides in /etc/yum.repos.d . Toリポジトリ. To有効にするには、 enabledパラメータの値を1 baseurl仕様のusernamepasswordプレースホルダーをユーザー名とリポジトリー・パスワードに置き換えます。
EnterpriseDBリポジトリの資格情報が必要な場合は、EnterpriseDBに連絡してください。
次のリポジトリを有効にします。
[enterprisedb-tools]
[enterprisedb-dependencies]
 
RHELまたはCentOS 6.xホストを使用している場合は、デフォルトのhttpdサーバーを停止し、PEMサーバーをインストールする前にrh-python36をインストールするコマンドを実行する必要があります。 PEMサーバーのインストールの一部として、RHELまたはCentOS 6.xホストを使用している場合は、httpd24サーバーがインストールされます。
次のコマンドを使用して、デフォルトのhttpdサーバーを停止します。
サービスhttpd stop
次のコマンドを実行して rh-python36 をインストールします
yum install centos-release-scl
yum install rh-python36
PEMサーバーをインストールする前に、 SELinux 無効にする必要があります。次のコマンドを使用します。
setenforce 0
ファイアウォールを使用している場合は、ポート8443へのアクセスを許可する必要があります。次のコマンドを使用します。
firewall-cmd --permanent --zone = public --add-port = 8443 / tcp
firewall-cmd --reload
次に、yumを使用してPEMサーバーをインストールできます。
yum install edb-pem edb-pem-server
インストーラはWebサービスコンポーネントをインストールします。次のコマンドを使用して、システムの起動時にWebサーバーの起動を指示します。
systemctl enable httpd
PEMサーバを設定する前に、バッキングデータベース用にsslutils拡張機能がインストールされていることを確認してください。 Advanced Serverバッキングデータベースの場合は、ご使用のサーバーのバージョンに対応するリポジトリを有効にして、次のコマンドを使用します。
yum install edb-as X -server-sslutils
ここで、Xはサーバーのバージョンです。 PostgreSQLバッキングデータベースを使用している場合は、PostgreSQLコミュニティリポジトリにアクセスできることを確認し、次のコマンドを使用します。
yum install sslutils_ X postgresql X -contrib
バッキングデータベースとPEMサーバーをインストールしたら、インストールを構成する必要があります。
Configuring the PEM Server
RHELまたはCentOS 6.xホストを使用している場合は、PEMサーバーを設定する前にデフォルトのpythonパスを設定する必要があります。次のコマンドを使用します。
scl enable rh-python36 bash
このコマンドは、デフォルトのpythonパスを次のように設定します。
/ opt / rh / rh-python36 / root / usr / bin / python
PEMサーバインストーラには、RPMインストールの設定プロセスを自動化するためのスクリプト(configure-pem-server.sh)が含まれています。スクリプトは/ usr / edb / pem / binディレクトリにインストールされます。スクリプトを起動するには、次のコマンドを使用します。
/usr/edb/pem/bin/configure-pem-server.sh
スクリプトを呼び出すときに、コマンドラインオプションを組み込んで構成プロパティを指定することができます。スクリプトは、コマンド行で省略した値を入力するように指示します。受け入れ可能なオプションは次のとおりです。
-ci
The directory for the database server installation. For example, for Advanced Server or The directory for the database server installation. For example, /usr/edb/as10 for PostgreSQL. for Advanced Server or /usr/pgsql-10 for PostgreSQL.
-ds
-ho
-p
-ps
-sp
-su
-t
The installation type: Specify if the configuration is for web services and backing database, 2 if you are configuring web services, or 3 if you are configuring the backing database. If you specify 3, please note that the database must reside on the local host. 1 if the configuration is for web services and backing database, 2 if you are configuring web services, or 3 if you are configuring the backing database. If you specify 3, please note that the database must reside on the local host.
If you do not provide configuration properties on the command line, you will be prompted for values by the script. When you invoke the script, choose from:
1。
Select this option if the web server and database both reside on the same host as the PEM server.
2。
Select this option if the web server resides on a different host than the PEM server.
3。
Select this option to configure the PEM backing database for use by the PEM server. Please note that the specified database must reside on the local host.
Webサーバーとバッキングデータベースが別々のホストにある場合は、データベースサーバーを最初に構成し(オプション3)、次にWebサービスを構成する(オプション2)ことに注意してください。 Webサービスの前にバッキングデータベースが設定されていない場合、スクリプトは終了します。
設定オプションを選択すると、スクリプトは設定プロパティの入力を促します。スクリプトが完了すると、PEMサーバーに必要なオブジェクトが作成されるか、必要な設定手順が実行されます。
スクリプト関連のヘルプを表示するには、次のコマンドを使用します。
/usr/edb/pem/bin/configure-pem-server.sh –help
RHELまたはCentOS 6.xホストを使用している場合は、PEMサーバーの設定後にhttpd24サーバーを再起動してください。次のコマンドを使用します。
service httpd24-httpd restart
PEMサーバを設定したら、ブラウザのPEM Webインターフェイスにアクセスできます。案内する:
https:// ip_address_of_PEM_server :8443
3.3 PEMエージェントのインストール
PEMエージェントは、PEMサーバーを介してスケジュールされたタスクを実行し、エージェントのオペレーティングシステムと監視されている1つ以上のPostgresサーバーから統計をレポートします。
3.3.1 グラフィカル・インストーラを使用したエージェントのインストール
PEMエージェントインストーラを起動するには、スーパーユーザ(または管理者)権限を持ち、インストーラを含むディレクトリに移動します。次に、次のコマンドを使用してインストーラを起動します。
pem_agent-7.xx-x- platform . ext
[ Setup…ページが開き、PEMエージェントインストーラーが表示されます(図3.43を参照)。
C:¥Users¥susan¥AppData¥Local¥Temp¥vmware-susan¥VMwareDnD¥4df2db57¥one.png
図3.43 - PEMエージェントインストーラのウェルカムダイアログ。
[ Nextクリックして、 License Agreementに進みます。

C:¥Users¥susan¥AppData¥Local¥Temp¥vmware-susan¥VMwareDnD¥830cc330¥two.png
図3.44 - PEMライセンス契約
適切なラジオボタンをハイライト表示して契約に同意する前に、ライセンス契約(図3.44参照)を慎重に確認してください。 [ Next]をクリックして[ Installation Directory ]ダイアログボックスに進みます

C:¥Users¥susan¥AppData¥Local¥Temp¥vmware-susan¥VMwareDnD¥c27a0f2a¥one.png
図3.45 - インストールディレクトリを指定する
デフォルトでは、PEMエージェントは /home/opt/PEMディレクトリにインストールされ /home/opt/PEM 。デフォルトのインストールディレクトリを受け入れるか、 Installation Directoryフィールド(図3.45参照)の内容を変更して、PEMエージェントの代替インストールディレクトリを指定します。
デフォルトでは、PEMエージェントインストーラは %APPDATA%\pem ~root/.pem (Linuxの場合)またはAdministratorの%APPDATA%\pemディレクトリ(Windowsの場合)に証明書を配置します。 [ Show advanced optionsチェックボックスをオンにして、PEMエージェントインストーラに証明書ファイルの代替パスを指定できるダイアログを含めることを指定します。
横にあるボックスをチェックし Register now?インストーラが新しくインストールされたPEMエージェントをPEMサーバに登録するようインストーラに指示します。
Nextクリックして、「 PEM Server Installation Detailsダイアログに進みServer

C:¥Users¥susan¥AppData¥Local¥Temp¥vmware-susan¥VMwareDnD¥9009a1db¥pafour.png
図3.46 - PEMサーバーのインストールの詳細を提供する
PEM server installation detailsダイアログで、 PEM server の接続の詳細を入力し server (図3.46を参照)。
Hostフィールドに、PEMデータベースサーバーが存在するシステムの名前またはIPアドレスを指定します。注意:PEM-HTTPD WebサーバーとPEMデータベースが異なるシステムでホストされている場合は、PEMデータベースのホストを指定する必要があります。
[ Nextクリックして続行します。インストーラは、サーバーに接続して、詳細が正しいことを確認します。
注意: PEMサーバーは、PEMエージェントインストーラからの接続を許可する必要があります。接続エラーが発生した場合は、 PEM 指定されている接続プロパティを確認してください Server Installation Details ダイアログが正しいことを確認し、 pg_hba.conf ファイル(PEMサーバー上)がエラーメッセージに記述されているサーバーへの接続を許可 することを確認し ます。
C:¥Users¥susan¥AppData¥Local¥Temp¥vmware-susan¥VMwareDnD¥dd7f3d0f¥pafive.png
図3.47 - PEMエージェントのわかりやすい名前を指定する
PEM Webインターフェイスの[ Browser ]パネルに表示されるツリーコントロールには、[ Descriptionフィールド(図3.47)に入力された値が表示され、PEMエージェントが識別されます。エージェントがインストールされているマシンのホスト名やホストの機能を反映した名前など、エージェントのわかりやすい名前を指定します。
わかりやすい名前を指定するか、PEMエージェントホストによって提供されるデフォルトを受け入れ、[ Next]をクリックして続行します。
図3.24に示す[ Show advanced optionsチェックボックスをオンにすると、[ Advanced options ]ダイアログボックスが開きます(図3.48参照)。
C:¥Users¥susan¥AppData¥Local¥Temp¥vmware-susan¥VMwareDnD¥82029723¥painstadvopt.png
図3.48 - 証明書のパスを指定する
デフォルトでは、PEMエージェントインストーラは証明書を /root/.pemディレクトリに/root/.pemます。証明書の代替パスを指定するか、デフォルトを受け入れてNextをクリックします。
ウィザードでPEMエージェントをインストールする準備が整いました。 Backクリックしてインストールディレクトリを修正するか、 Next Backクリックして続行します。

C:¥Users¥susan¥AppData¥Local¥Temp¥vmware-susan¥VMwareDnD¥828b9618¥pasix.png
図3.49 - PEMエージェントのインストールを開始する準備ができました。
クリックして NextReady to Installシステムにファイルをコピーして、PEMサーバにエージェントを登録するには、インストーラに指示する(図3.49に示す)ダイアログを。

C:¥Users¥susan¥AppData¥Local¥Temp¥vmware-susan¥VMwareDnD¥82819606¥paseven.png
図3.50 - 進捗バーはインストールの進行状況を示します
PEMエージェントのインストーラは、PEMエージェントのインストールの進行状況を示す進捗バー(図3.50を参照)を表示します。

C:¥Users¥susan¥AppData¥Local¥Temp¥vmware-susan¥VMwareDnD¥dcfa6880¥three.png
図3.51 - PEMエージェントのインストールが完了しました
インストールが完了すると(図3.51参照)、PEMエージェントが実行され、オペレーティングシステムとホストデータがPEMサーバーに報告されます。 PEMエージェントのホスト上でPostgresインスタンスの監視を開始するには、それらをPEMのエンタープライズディレクトリに追加してエージェントにバインドする必要があります。
 
3.3.2 RPMパッケージによるエージェントのインストール
Linuxシステムでは、 yumパッケージマネージャを使用してPEMエージェントをインストールできます 。パッケージマネージャを使用してPEMエージェントをインストールする前に、ホストに次のパッケージが含まれている必要があります。
epel-release
wxBase
必要なパッケージを提供したら、PEMエージェントをインストールできます。
1。
edb-repoインストールパッケージを以下からダウンロードして edb-repo
http://yum.enterprisedb.com/
edb-repoパッケージは、(名前のリポジトリの設定ファイルを作成edb.repo )。 edb.repoファイルは、EnterpriseDB.comでホストされている複数のリポジトリを定義します。
2。
スーパーユーザー権限を持ち、次のコマンドを使用して edb - repoパッケージをインストールし 、リポジトリ構成ファイルを作成します。
rpm -Uvh edb-repo-9. x - x .noarch.rpm
どこで xは 、ファイルのバージョンを指定します。
次に、選択したエディタを使用して設定ファイルを変更し、 enterprisedb - toolsenterprisedb - dependenciesリポジトリを有効にします。設定ファイルの名前はedb.repoです。 /etc/yum.repos.d.
リポジトリを有効にするには、 enabledパラメータの値を1 baseurl仕様のuser _ nameおよびpasswordプレースホルダをリポジトリの資格情報でbaseurlます。リポジトリの資格情報についてはEnterpriseDBに問い合わせてください。
例えば:
[enterprisedb-tools]
name=EnterpriseDB Tools $releasever - $basearch
baseurl=http:// user_name : password @yum.enterprisedb.com/tools/redhat/rhel-$releasever-$basearch
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/ENTERPRISEDB-GPG-KEY
 
[enterprisedb-dependencies]
name=EnterpriseDB Dependencies $releasever - $basearch
baseurl=http:// user_name : password @yum.enterprisedb.com/dependencies/redhat/rhel-$releasever-$basearch
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/ENTERPRISEDB-GPG-KEY
 
[edbas96]
name=EnterpriseDB Advanced Server 9.6 $releasever - $basearch
baseurl=http:// user_name : password @yum.enterprisedb.com/9.6/redhat/rhel-$releasever-$basearch
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/ENTERPRISEDB-GPG-KEY
 
 
3。
リポジトリ設定ファイルの内容を変更した後、 yum使用してPEMエージェントをインストールすることができます
yum install edb-pem-agent
インストールが完了すると、 yumはインストールされているパッケージと依存関係のリストを表示します(図3.52を参照)。
C:\ Users \ susan \ Desktop \ one.png
図3.52 - RPMパッケージを使用したPEMエージェントのインストール
システムによって認識されないソースによって署名されたRPMパッケージをインストールすると、yumはキーをローカルサーバーにインポートするためのあなたの許可を求めることがあります。プロンプトが表示され、パッケージが信頼できるソースから取得されたことを確認したら、 y入力して Return キーを押して続行します。
インストール中にyumが解決できない依存関係が発生することがあります。存在する場合は、手動で解決する必要のある依存関係のリストを提供します。
3.3.2.1 エージェントの登録
各PEMエージェントは 、PEMサーバーに登録する必要があります。登録プロセスは、エージェントと通信するために必要な情報をPEMサーバーに提供します。 PEMエージェントのグラフィカルインストーラはエージェントの自己登録をサポートしますが、グラフィカルインストール中にPEMエージェントの登録をスキップするか、RPMパッケージを使用してPEMエージェントをインストールする場合は、 pemworkerユーティリティを使用してエージェントを登録できます。
RPMインストーラは、PEMエージェントを /usr/pem/agent/binディレクトリに配置します。エージェントを登録するには、 pemworkerユーティリティーを呼び出すときに--register-agentキーワードと登録の詳細をpemworkerます。
pemworker -–register-agent
pemworkerユーティリティを呼び出すときにコマンドラインオプションをコマンド文字列に追加します。各オプションの後には対応する値を指定する必要があります。
PEMデータベースに変更が加えられる前に、接続エージェントはPEMデータベースサーバーで認証されます。 pemworkerユーティリティを呼び出すときは、PEMサーバーの管理者ユーザーロール( postgres )に 関連付けられたパスワードを提供する必要があります 。管理パスワードを指定する方法は3つあります。あなたはできる:
PEM_MONITORED _ SERVER _ PASSWORD環境変数を設定します。
のエントリを作成します。 pgpassファイル。
パスワードを入力しないと、パスワード認証エラーが発生します。必要な情報は省略されていますが、省略された情報が表示されます。登録が完了すると、サーバーはエージェントが正常に登録されたことを確認します。
PEMエージェントの設定パラメータの設定
PEMエージェントのRPMインストーラは、 agent という名前のサンプル構成ファイルを作成します cfg /usr/pem/agent/etc ディレクトリー 内の sample 。 PEMエージェントを登録すると、 pemworker プログラムは実際のエージェント構成ファイル( agent.cfg という名前 )を 作成します agent 変更する必要があり ます。 cfg ファイルに次の構成パラメータを追加します。
heartbeat_connection = true
ca-bundle.crtファイル(認証局) の場所も追加する必要があります。デフォルトでは、インストーラはagent.cfg.sampleファイルで指定された場所にca-bundle.crtファイルを作成します。デフォルトのパラメータ値をサンプルファイルからコピーするか、別の場所に格納されているca-bundle.crtファイルを使用する場合は、その値を ca_file パラメータ 指定 ます。
ca_file=/usr/libexec/libcurl-pem7/share/certs/ca-bundle.crt
次に、プラットフォーム固有のコマンドを使用してPEMエージェントサービスを開始します。サービスは pemagent という名前 pemagent 。たとえば、CentOSまたはRHEL 6.xシステムでは、次のコマンドを使用します。
/etc/init.d/pemagent
CentOSまたはRHEL 7.xホストでは、servicectlを使用してサービスを開始します。
systemctl start pemagent
サービスがエージェントを起動していることを確認します。エージェントが登録されて開始されると、 Global OverviewダッシュボードおよびPEM WebインターフェイスのObject browserツリーコントロールに表示されます。
pemworkerユーティリティを使用してサーバを登録する方法については、 PEM Getting Started Guideを参照してください。
https://www.enterprisedb.com/resources/product-documentation
3.4 コマンド行からのサーバーまたはエージェントインストーラの呼び出し
PEMサーバーおよびPEMエージェントインストーラのコマンドラインオプションは、限られたリソースまたはシステム構成のためにグラフィカルインストールが機能しない状況で機能を提供します。あなたはできる:
追加のユーザー入力なしでインストールを実行するためにインストーラーを呼び出すときは、 - --mode unattendedオプションを含めます
インストーラを起動して対話式インストーラを使用してコマンドラインからインストールを実行するときは、 - --mode textオプションを含めます
すべてのコマンドラインオプションがすべてのプラットフォームに適しているわけではありません。コマンドラインオプションの完全なリファレンスガイドについては 、インストーラを起動するときに--helpオプションを指定してください。
 
3.4.1 無人モードでのPEMサーバー・インストーラの起動
無人PEMサーバーのインストールは、インストーラの起動時にコマンドラインでインストールの設定を行うことで実行できます。 PEMサーバーをインストールするシステムにインターネットにアクセスできる必要があります。
Linuxの場合
インストーラを起動する前に、SE Linuxを無効にする必要があります。詳細は、 2.3 項を参照してください 。 PEMサーバーをインストールするには、スーパーユーザーでなければなりません。
PEMサーバインストーラには、次の3つの依存関係があります。
PEMサーバーのインストーラーを使用して、PEMサーバーの依存関係を満たすことができます。次のコマンドを使用して依存関係を抽出します。
./pem-server-7. xx- linux-x64.run --extract-dependents /opt
ファイルを抽出したら、各プログラムをインストールする必要があります。ファイルを含むディレクトリに移動し、次のように入力します。
./edb-languagepack- version -linux-x64.run --mode unattended
./pem-httpd-
version -linux-x64.run --mode unattended
./postgresql-
version -linux-x64.run --mode unattended
次に、PEMサーバーインストーラを呼び出すことができます。
./pem-server-7. xx- linux-x64.run --mode unattended
--existing-user
xx- linux-x64.run --mode unattended
--existing-user
registered_edb_user --existing-password edb_user_password --pgport port --pguser postgres
--pgpassword postgres -–cidr-address
cidr_address_range
場所:
registered_edb_user 登録済みのEnterpriseDBユーザーの名前を指定します。登録するには、EDBウェブサイト( https://www.enterprisedb.com/user/register)をご覧ください。
edb_user_password EDBユーザーアカウントに関連付けられたパスワードを指定します。
port バッキングPostgreSQLデータベースが使用するポートを指定します。デフォルトでは、PostgreSQLデータベースはポート5432使用します。
cidr_address_range サーバによって監視されるエージェントからの接続を許可するために、PEMサーバのバッキングデータベースのpg_hba.confファイルに追加されるアドレス範囲を指定します。同じネットワーク上にあるエージェントへのサーバーアクセスを提供するために、ネットワーク範囲(192.168.2.0/24など)を指定したい場合があります。
ご注意:無人モードで起動すると、PostgreSQLインストーラは postgres という名前のユーザを作成し、パスワードはpostgresます。
インストールが完了すると、Webサービスがインストールされていることと、監視しているポート番号が通知されます。
Configured the webservice for Postgres Enterprise Manager (PEM) Server on port '8443'
Windowsの場合
PEMサーバーをインストールするには、管理者権限が必要です。 PEMサーバーインストーラを起動する前に、次の依存関係をインストールする必要があります。
PEMサーバーのインストーラーを使用して、PEMサーバーの依存関係を満たすことができます。次のコマンドを使用して依存関係を抽出します。インストーラの場所に移動し、次のコマンドを使用して依存関係を抽出します。
pem-server-7. xx- windows-x64.exe --extract-dependents C:\
この例では、ファイルは C:\ディレクトリに抽出されます 。ファイルを抽出したら、各プログラムをインストールする必要があります。ファイルを含むディレクトリ(この例ではC:\ )に移動し、次のように入力します。
edb-languagepack- version -windows-x64.exe --mode unattended
pem-httpd-
version -windows-x64.exe --mode unattended
postgresql-
version -windows-x64.exe --mode unattended
次に、PEMサーバーインストーラを呼び出すことができます。
pem-server-7. xx- windows-x64.exe --mode unattended
--existing-user
registered_edb_user --existing-password edb_user_password --pgport port --pguser postgres
--pgpassword postgres -–cidr-address
cidr_address_range
--agent_description pem-agent --systempassword windows_password
--agent-crt-path
C:\edb
場所:
registered_edb_user 登録済みのEnterpriseDBユーザーの名前を指定します。登録するには、EDBウェブサイト( https://www.enterprisedb.com/user/register)をご覧ください。
edb_user_password EDBユーザーアカウントに関連付けられたパスワードを指定します。
port バッキングPostgreSQLデータベースが使用するポートを指定します。デフォルトでは、PostgreSQLデータベースはポート5432使用します。
cidr_address_range サーバによって監視されるエージェントからの接続を許可するために、PEMサーバのバッキングデータベースのpg_hba.confファイルに追加されるアドレス範囲を指定します。同じネットワーク上にあるエージェントへのサーバーアクセスを提供するために、ネットワーク範囲(192.168.2.0/24など)を指定したい場合があります。
windows_password Windows管理者のアカウントに関連付けられているパスワードを指定します。
ご注意:無人モードで起動すると、PostgreSQLインストーラは postgres という名前のユーザを作成し、パスワードはpostgresます。
 
3.4.2 無人モードでPEMエージェントインストーラを起動する
無人PEMサーバーのインストールは、インストーラの起動時にコマンドラインでインストールの設定を行うことで実行できます。 PEMサーバーをインストールするシステムにインターネットにアクセスできる必要があります。
Linuxの場合
無人モードでPEMエージェントインストーラを起動する前に、次の作業を行う必要があります。
PEMサーバーをインストールします。 PEMサーバ pg_hba.confファイルは、PEMエージェントのホストからの接続を許可する必要があります。
PEMエージェントをインストールするには、スーパーユーザーでなければなりません。次のコマンドを使用して、PEMエージェントインストーラを無人モードで起動します。
./pem-agent-7. xx -linux-x64.run --mode unattended
--pghost
pem_server_host _ address --pgport pem_server_port
--pguser postgres --pgpassword
pguser_password
--agent_description
agent_name
場所:
pem_server_host _ address PEMサーバーのホストのIPアドレスを指定します。
pem_server_port バッキングPEMデータベースによって使用されるポートを指定します。デフォルトでは、データベースはポート5432使用します。
pguser_password PEMデータベースのスーパーユーザーに関連付けられているパスワードを指定します。
agent_nameは、PEMエージェントのわかりやすい名前を指定します。
Windowsの場合
無人モードでPEMエージェントインストーラを起動する前に、次の作業を行う必要があります。
PEMサーバーをインストールします。 PEMサーバ pg_hba.confファイルは、PEMエージェントのホストからの接続を許可する必要があります。
PEMエージェントをインストールするには、管理者権限が必要です。次のコマンドを使用して、PEMエージェントインストーラを無人モードで起動します。
pem-agent-7. xx -windows-x64.exe --mode unattended
--pghost
pem_server_host _ address --pgport pem_server_port
--pguser postgres --pgpassword
pguser_password
--agent_description
agent_name
場所:
pem_server_host _ address PEMサーバーのホストのIPアドレスを指定します。
pem_server_port バッキングPEMデータベースによって使用されるポートを指定します。デフォルトでは、データベースはポート5432使用します。
pguser_password PEMデータベースのスーパーユーザーに関連付けられているパスワードを指定します。
agent_nameは、PEMエージェントのわかりやすい名前を指定します。
 
3.4.3 テキスト・モードでのPEMサーバー・インストーラの起動
ご使用のシステムが完全なグラフィカルインストールをサポートしていない場合は、コマンドラインでPEMサーバーインストーラを呼び出して対話型インストールを実行できます。 PEMをインストールするシステムには、インターネットにアクセスできる必要があります。
Linuxでインストーラを起動する
インストーラを起動する前に、SE Linuxを無効にする必要があります。詳細は、 2.3 項を参照してください 。 PEMサーバーをインストールするには、スーパーユーザーでなければなりません。
PEMサーバインストーラには、次の3つの依存関係があります。
PEMサーバーのインストーラーを使用して、PEMサーバーの依存関係を満たすことができます。次のコマンドを使用して依存関係を抽出します。
./pem-server-7. xx- linux-x64.run --extract-dependents /opt
ファイルを抽出したら、各プログラムをインストールする必要があります。ファイルを含むディレクトリに移動し、次のように入力します。
./edb-languagepack- version -linux-x64.run --mode unattended
./pem-httpd-
version -1-linux-x64.run --mode unattended
./postgresql-
version -linux-x64.run --mode unattended
次に、次のコマンドを使用してインストーラを起動します。
./pem-server-7. xx -linux-x64.run --mode text
Windowsでのインストーラの起動
PEMサーバーをインストールするには、管理者権限が必要です。 PEMサーバーインストーラを起動する前に、次の依存関係をインストールする必要があります。
PEMサーバーのインストーラーを使用して、PEMサーバーの依存関係を満たすことができます。次のコマンドを使用して依存関係を抽出します。インストーラの場所に移動し、次のコマンドを使用して依存関係を抽出します。
pem-server-7. xx- windows-x64.exe --extract-dependents C:\
ファイルを抽出したら、各プログラムをインストールする必要があります。ファイルを含むディレクトリに移動し、次のように入力します。
edb-languagepack- version -windows-x64.exe --mode unattended
pem-httpd-
version -windows-x64.exe --mode unattended
postgresql-
version -windows-x64.exe --mode unattended
次に、次のコマンドを使用してPEMサーバーインストーラを呼び出すことができます。
pem-server-7. xx- windows-x64.exe --mode text
以下の例は、Linuxシステムでテキストモードのインストールを実行する方法を示しています。 Windowsシステムでのインストール処理は似ています。
インストーラを起動すると、インストーラはあなたを歓迎します:
----------------------------------------------------------------
Welcome to the Postgres Enterprise Manager (PEM) Server Setup Wizard.
----------------------------------------------------------------
Before installing the PEM server, you must review and accept the terms of the PEM license agreement:
Please read the following License Agreement. You must accept the terms of this agreement before continuing with the installation.
Review the license agreement; when prompted, accept the agreement, and press Return.
Do you accept this license? [y/n]: y
----------------------------------------------------------------
使用許諾契約に同意すると、登録済みのEnterpriseDBユーザーの名前と住所を入力するよう求められます。プロンプトが表示されたら情報を提供する:
EnterpriseDB User Account Information

Please enter the email address and password for your enterprisedb.com user account.
Email address []:
Password :
----------------------------------------------------------------
次に、インストールディレクトリを求めるプロンプトが表示されます。デフォルトのインストールディレクトリを使用するか、別の場所を指定することができます。
PEMサーバに既存のPostgresサーバインストールまたはPEM-HTTPDインストールを使用できるようにするメニューShow advanced optionsにアクセスするには、拡張Show advanced optionsShow advanced options 後にYを入力します。
Installation Directory
Please select a directory for the PEM server installation.
Installation Directory [/opt/edb/pem]:
Show advanced options [y/N]:
----------------------------------------------------------------
データベースサーバインストールの詳細の見出しに続くフィールドを使用して、PEMバッキングデータベースのPostgreSQLデータベーススーパーユーザの名前とパスワードを入力します。
Database Server Installation Details
Please specify user and password for the local server - 'PostgreSQL 10' installation running on port 5432.
User [postgres]:
Password :
----------------------------------------------------------------
プロンプトが表示されたら、 pg _ hba追加されるネットワークアドレスまたは範囲を入力します。 PEMサーバホストのconfファイル。これにより、監視対象ホスト上のPEMエージェントがサーバーに接続できます。
Network Details
Please enter the CIDR formatted network address range that agents will connect to the server from, to be added to the server's pg_hba.conf file. For example, 192.168.1.0/24.
Network address [127.0.0.1/32]:
----------------------------------------------------------------
[ Agent Detailsフィールドを使用して、 Agentのわかりやすい名前とエージェント証明書の場所を指定します。
Agent Details.
Please specify a description for the agent.
Description. [Postgres Enterprise Manager Host]:
Agent certificate path [/root/.pem]:
----------------------------------------------------------------
インストーラは、インストールを続行する前にプロンプトを表示します。 Returnキーを押してインストールを開始します。
Setup is now ready to begin installing the PEM server on your computer.
Do you want to continue? [Y/n]:
Please wait while Setup installs the PEM server on your computer.
Installing
0% ______________ 50% ______________ 100%
###########################
インストールが完了したら、インストーラーが通知します。
Info: Configured the webservice for Postgres Enterprise Manager (PEM) Server on port '8443'.
Created and configured the 'pem' database.
EnterpriseDB is the leading provider of value-added products and services for the Postgres community.
Please visit our website at www.enterprisedb.com
 
3.4.4 テキストモードでのPEMエージェントインストーラの呼び出し
システムが完全なグラフィカルインストールをサポートしていない場合は、コマンドラインでPEMエージェントインストーラを呼び出して対話型インストールを実行できます。エージェントをインストールするシステムは、PEMサーバーにアクセスできる必要があります。
Linuxでインストーラを起動する
インストーラを起動する前に、SE Linuxを無効にする必要があります。詳細は、 2.3 項を参照してください 。 PEMエージェントをインストールするには、スーパーユーザーでなければなりません。
次のコマンドでインストーラを起動します。
./pem-agent-7. xx -linux-x64.run --mode text
Windowsでのインストーラの起動
PEMサーバーをインストールするには、管理者権限が必要です。次のコマンドを使用して、PEMサーバインストーラを呼び出すことができます。
pem-server-7. xx- windows-x64.exe --mode text
以下の例は、Linuxシステムでテキストモードのインストールを実行する方法を示しています。 Windowsシステムでのインストール処理は似ています。
PEMエージェントインストーラを起動すると、インストーラはあなたを歓迎します:
-----------------------------------------------------------------
Postgres Enterprise Manager(PEM)エージェントセットアップウィザードへようこそ。
-----------------------------------------------------------------
Before installing the PEM server, you must review and accept the terms of the PEM license agreement:
Please read the following License Agreement. You must accept the terms of this agreement before continuing with the installation.
Press [Enter] to continue:
Do you accept this license? [y/n]:
-----------------------------------------------------------------
次に、インストールディレクトリを求めるプロンプトが表示されます。デフォルトのインストールディレクトリを使用するか、別の場所を指定することができます。
デフォルトでは、PEMエージェントインストーラは %APPDATA%\pem ~root/.pem (Linuxの場合)またはAdministratorの%APPDATA%\pemディレクトリ(Windowsの場合)に証明書を配置します。 Show advanced optionsShow advanced options後にYを入力して、証明書ファイルの代替パスを指定できるメニューShow advanced optionsにアクセスします。
Installation Directory
Please select a directory for PEM agent installation.
Installation Directory [/opt/edb/pem]:
Show advanced options [y/N]:
-----------------------------------------------------------------
プロンプトが表示されたら、PEMサーバーのインストールに関する情報を入力します。
PEM server installation details
Please verify the PEM server installation details
Host [localhost]:
User Name [postgres]:
Password :
Port [5432]:
-----------------------------------------------------------------
エージェントのわかりやすい名前を指定するか、returnキーを押してデフォルトを受け入れることができます。
Agent Details
Please provide the agent description
Description [localhost]:
-----------------------------------------------------------------
インストーラは、インストールを続行する前にプロンプトを表示します。 Returnキーを押してインストールを開始します。
Setup is now ready to begin installing the PEM agent on your computer.
Do you want to continue? [Y/n]:
-----------------------------------------------------------------
Please wait while Setup installs the PEM agent on your computer.
Installing
0% ______________ 50% ______________ 100%
#########################################
インストールが完了したら、インストーラーが通知します。
EnterpriseDB is the leading provider of value-added products and services for the Postgres community.
Please visit our website at www.enterprisedb.com
4 PEM Webインターフェイス
PEMサーバとエージェントをインストールした後、PostgreSQLまたはAdvanced Serverインスタンスの監視と管理を開始するようにPEMを設定できます。 PEMサーバーインストーラは、PEM Webインターフェイスをインストールします。このインターフェースを使用して、監視対象サーバー上のオブジェクトに関する情報を確認したり、PEMサーバーによって収集された統計情報を確認したりすることができます。
PEMをインストールして設定したら、ブラウザを使用してPEM Webインターフェイスにアクセスできます。ブラウザを開き、次の場所に移動します。
https:// ip_address_of_PEM_host :8443/pem
どこで ip_address_of_PEM_host PEMサーバーのホストのIPアドレスを指定します。 Postgres Enterprise Manager Web Loginウィンドウ(図4.1を参照)が開きます。
C:\ Users \ susan \ Desktop \ Screen Shot 2017-03-07 at 2.22.08 PM.png
図4.1 - PEM Webログインページ。
Postgres Enterprise Manager Loginウィンドウのフィールドを使用して、PEMサーバで自分自身を認証します。
Usernameフィールドにpemデータベースユーザーの名前を入力します。最初のユーザー接続の場合、これはPEMサーバーをインストールするときに指定された名前になります。
Loginボタンをクリックして、PEMサーバーに接続します。
C:¥Users¥susan¥AppData¥Local¥Temp¥vmware-susan¥VMwareDnD¥6410fec1¥Screen Shot 2018-08-24 at 10.50.04 AM.png
図4.2 - PEM Webインターフェイス
PEM Webインタフェースを使用してデータベースサーバを管理または監視するには、事前にサーバをPEMサーバに登録 する必要があります。サーバーを登録するときは、サーバーへの接続を記述し、接続の認証情報を提供し、任意の管理設定を指定します(オプションでエージェントにバインドします)。
サーバーは管理対象または非管理対象にすることができます。
管理対象サーバは、PEMエージェントにバインドされています。 PEMエージェントは、バインド先のサーバーを監視し、タスクを実行したり、PEMダッシュボードに表示する統計をレポートしたりします。管理対象サーバは、パッケージ管理やカスタムアラートなどの拡張PEM機能にアクセスできます。サーバーを登録するときに、管理対象サーバーを必要に応じてPEMによって再起動できるようにすることもできます。
アン マネージドサーバはPEMエージェントにバインドされていません。アンマネージサーバー上でデータベースオブジェクトを作成できますが、パッケージ管理やカスタムアラートなどの拡張PEM機能は、アンマネージサーバーではサポートされていません。
また、登録しているサーバのpg_hba.confファイルがPEM Webインタフェースのホストからの接続を許可していることを確認する必要があります。
PEM Webインターフェイスに関するオンラインヘルプ情報にアクセスするには、メニューバーからHelp選択します(図4.2参照)。追加情報は、EnterpriseDBのWebサイト(.pdfおよび.html)で入手できます。
https://www.enterprisedb.com/resources/product-documentation
PEM入門ガイド」には、サーバー、エージェント、およびユーザーの登録と管理に関する情報が含まれています。
PEMエンタープライズ機能ガイド」には、Webインターフェイスの一部であるツールとウィザードの使用に関する情報が含まれています。
PEM EDB アーク 管理 ガイドは、高度なサーバーとPostgreSQLの雲のインストールを管理するために、PEMの使用に関する情報が含まれています。
PEMアップグレードおよび移行ガイド」には、以前のバージョンからPEM 7.5へのアップグレードに関する情報が含まれています。
5 SQLプロファイラプラグインのインストール
SQLプロファイラプラグインを使用すると、サーバーのワークロードをプロファイルすることができます。 SQLプロファイラを使用する各サーバーにプラグインをインストールする必要があります。たとえば、PostgreSQL 9.6およびPostgreSQL 10を実行しているホストがある場合は、プラグインの2つのバージョンを各サーバーに1つずつインストールする必要があります。
Postgres Enterprise Manager™のSQLプロファイラは、PostgreSQLバージョン9.3(以上)およびAdvanced Serverバージョン9.3(以上)のEnterpriseDBディストリビューションでのみ正式にサポートされています。このプラグインはStackBuilderを介して配布されるか、EnterpriseDBのWebサイトから入手できます。
https://www.enterprisedb.com/advanced-downloads
このプラグインは、Advanced Serverインストーラのサーバーコンポーネントとともに配布され、インストールされます。
SQLプロファイラプラグインは、PEMエージェントの有無にかかわらずサーバーにインストールできますが、トレースは管理されていないサーバーではアドホックモードでのみ実行でき、管理対象サーバーでのみスケジュールできます。
PostgreSQLのプラグインをインストールする前に、以下のインストール手順に従って、 Configurationセクションに進みます。 Advanced Serverを使用している場合は、 Configurationセクションに進んでください。
5.1 SQLプロファイラのインストール
SQLプロファイラインストーラを起動するには、スーパーユーザー権限(またはWindowsの管理者権限)を想定し、インストーラを含むディレクトリに移動し、次のコマンドを使用してインストーラを呼び出します。
sqlprofiler-pg- x . x -6.0. x - platform . ext
SQLプロファイラインストーラは、セットアップウィザード(図 5.1を参照)を 歓迎します
C:¥Users¥susan¥AppData¥Local¥Temp¥vmware-susan¥VMwareDnD¥89a0d800¥one.png
図5.1 - SQLプロファイラインストーラの「ようこそ」ダイアログ
[ Nextクリックして 、図5.2のLicense Agreementに進みます。
 
 
 
 
 

C:¥Users¥susan¥AppData¥Local¥Temp¥vmware-susan¥VMwareDnD¥8ba2de0e¥twp.png
図5.2 - SQLプロファイラライセンス契約
適切なラジオボタンを強調表示して契約に同意する前に、ライセンス契約を慎重に確認してください。 [ Next]をクリックして[ Installation Directory ]ダイアログ(図5.3)を続行します

C:¥Users¥susan¥AppData¥Local¥Temp¥vmware-susan¥VMwareDnD¥f3b94373¥six.png
図5.3 - PostgreSQLインストールディレクトリ
インストールディレクトリの別の場所を指定するか、デフォルトの場所を受け入れて Nextクリックして続行します。
ウィザードで、SQLプロファイラプラグインをインストールする準備が整いました(図5.4を参照)。
C:¥Users¥susan¥AppData¥Local¥Temp¥vmware-susan¥VMwareDnD¥d65d7381¥four.png
図5.4 - インストール準備完了
[ Nextクリックして続行します。

C:¥Users¥susan¥AppData¥Local¥Temp¥vmware-susan¥VMwareDnD¥8093d075¥installingsqlprof.png
図5.5 - SQLプロファイラプラグインのインストール
SQLプロファイラプラグインインストーラは、ファイルをシステムにコピーする際にプログレスバーを表示します(図5.5を参照)。
C:¥Users¥susan¥AppData¥Local¥Temp¥vmware-susan¥VMwareDnD¥d6d6721d¥six.png
図5.6 - SQLプロファイラのインストールが完了しました。
インストールが完了すると、SQLプロファイラプラグインを設定する準備が整います。
5.2 SQLプロファイラの設定
SQLプロファイラプラグインは、インストール処理が完了すると自動的に有効になりません。これにより、都合の良い時間にサーバーを再起動することができ、継続的に必要とされないシステムにプラグインが不必要にロードされるのを防ぐことができます。
プラグインを有効にするには、次の手順を実行します。
1。
postgresql.confするサーバー上 postgresql.confファイルを編集しshared_preload_librariesパラメータを次のように変更します。
shared_preload_libraries = '$libdir/sql-profiler'
2。
3。
Query Toolまたはpsqlコマンドラインインタフェースを使用して、 Maintenanceとして指定されたデータベースでsql-profiler.sqlスクリプトを実行します プロファイルするサーバー上のDatabase 。あなたが使用している場合:
PEMクエリツールを使用してスクリプトを実行するには、 Browserツリーコントロールでメンテナンスデータベースの名前を強調表示し、 [ Tools ]メニューをナビゲートして[ Query Tools ]を選択しtool 。クエリツールが開いたら、[ Files ]メニューの[ Open ]オプションを使用してWebブラウザを開き、 sql-profiler.sqlスクリプトに移動します。デフォルトでは、 sql-profiler.sqlスクリプトはPostgresインストールのcontribフォルダにあります。
スクリプトがで開くと SQL Editorクエリツールのパネルでスクリプトの内容ハイライトSQL Editor選択しExecuteからオプションをQueryメニュー(またはクリックExecuteスクリプトを呼び出すと、SQLプロファイラを設定するには、アイコンを)。
また、psqlコマンドラインを使用して設定スクリプトを呼び出すこともできます。次のコマンドは、psqlを使用して、Linuxシステム上のAdvanced Serverデータベース上 sql-profiler.sqlスクリプトを呼び出します。
$ /opt/edb/as10/bin/psql -U postgres postgres <
/opt/edb/as10/share/contrib/sql-profiler.sql
SQLプロファイラを設定すると、サーバー上のすべてのデータベースで使用できる状態になります。
SQLプロファイラ機能にアクセスするには、PEM Browserツリーコントロールでデータベースの名前を強調表示します 。 [ Management ]メニューから[ SQL Profiler ]プルダウンメニューに移動します。メニューオプションを使用すると、SQLトレースを管理できます。
Create trace ...を選択して新しいトレースを定義します(図5.7参照)。
選択して Open trace ...既存のトレースを開きます。
1つまたは複数のトレースを削除するには、 Delete trace(s)を削除... Delete trace(s) 選択します。
[ scheduled trace(s) View ... View 選択して 、スケジュールされたトレースのリストを確認します。
C:¥Users¥susan¥AppData¥Local¥Temp¥vmware-susan¥VMwareDnD¥10287ac6¥sp_create_new_trace.png
図5.7 - 新しいトレースの作成
SQLプロファイラの使用の詳細については、SQLプロファイラのオンラインヘルプテキスト( Helpメニューからアクセスできます)またはPEMスタートアップガイドを参照してください。
6 PEMコンポーネントのアップグレードとアンインストール
PEMコンポーネントのアップグレードおよび移動の詳細については、「PEMアップグレードおよび移行ガイド」を参照してください。 PEMドキュメントとPEMおよびSQLプロファイラインストーラへのリンクは、次のEnterpriseDB Webサイトから入手できます。
https://www.enterprisedb.com/resources/product-documentation
Postgres Enterprise Manager™のアップグレード
ご使用のPEMのバージョンをアップグレードするには、PEMコンポーネントインストーラを起動します。各インストーラは、以前のインストールが検出された場合に通知し、PEMの最新バージョンにアップグレードします。
次の順序でPEMインストーラを呼び出す必要があります。
1。
2。
PEMサーバーインストーラを起動します。このインストーラは 、PEMサーバーと、PEMサーバーノードにあるPEMエージェントの両方 をアップグレードします。
以前のバージョンからのアップグレードの詳細については、「 PEMアップグレードおよび移行ガイド」を 参照してください
LinuxホストでのSQLプロファイラのアップグレード
Linuxホスト上に存在するSQLプロファイラのインストールをアップグレードするには:
1。
デフォルトでは、Linuxホスト上でAdvanced Serverを使用している場合、スクリプトは次の場所にあります。
/opt/PostgresPlus/9. x /share/contrib
LinuxホストでPostgreSQLのインストールを使用している場合、スクリプトは次の場所にあります。
/opt/PostgreSQL/9. x /share/postgresql/contrib
どこで xインストールPostgresのバージョンを指定します。
2。
WindowsホストでのSQLプロファイラのアップグレード
WindowsホストでSQLプロファイラを使用している場合、Windowsは実行されたファイルまたはメモリにロードされたファイルをすべてロックします。ロックされたファイルを解放するには、アップグレードを実行する前にPostgresサーバを停止する必要があります。
Postgresサーバーを停止した後:
1。
Windowsホスト上でAdvanced Serverを使用している場合、スクリプトは次の場所にあります。
C:\Program Files\PostgresPlus\9. x \share\contrib
WindowsホストでPostgreSQLのインストールを使用している場合、スクリプトは次の場所にあります。
C:\Program Files\PostgreSQL\9. x \share\contrib
どこで xインストールPostgresのバージョンを指定します。
2。
次に、Postgres Serverを再起動してノードのプロファイリングを再開します。
トラブルシューティング
(新しいバージョンのSQLプロファイラにアップグレードした後で)次のエラーが発生した場合:
An error has occurred:
ERROR: function return row and query-specified return row do not match
DETAIL: Returned row contains 11 attributes, but query expects 10.
このエラーを修正するには、既存のクエリセットを新しいクエリセットに置き換える必要があります。まず、起動することによって、SQLプロファイラをアンインストールし uninstall-sql-profiler.sqlスクリプトを、次に起動することによって、SQLプロファイラを再インストールしsql-profiler.sqlスクリプトを。
Postgres Enterprise Manager™のアンインストール
LinuxまたはSolarisのAdvanced ServerまたはPostgreSQLインストールからPEMコンポーネントを削除するには、PEMインストールディレクトリにあるアンインストーラを使用します。デフォルトでは、PEMアンインストーラは次の場所にあります。
コンポーネントを削除するには、スーパーユーザー権限を引き受け、ターミナルウィンドウを開き、アンインストーラが存在するディレクトリに移動します。次のようにインストーラを起動します。
./uninstall- component _ name
ここで、 component_nameは削除するコンポーネントの名前です。
PEMのインストールがWindowsホストにある場合は、Windows Uninstall a Programアプレットを使用してPEMコンポーネントを削除できます。 [ a ProgramUninstall a Programアプレットを開くには、Windowsの[ Control Panel Control Panel ProgramsサブメニューからPanel Programs and Features選択Programs and Features 。 [ ProgramUninstall Programウィンドウが開いたら、 Uninstall a PEMコンポーネントの名前を強調表示して、[ Uninstall/Change ]ボタンをクリックします。 Windowsポップアップが開き、コンポーネントの削除を確認するメッセージが表示されます。 [ Yes ]をクリックしてコンポーネントを削除します。
7 リファレンス - Linuxサービススクリプト
PEMサーバーが存在するPostgresサーバーには、サービススクリプトが含まれている必要があります。 EnterpriseDBによって生成されたPostgresインストーラは、あなたのためのサービススクリプトを作成します。別のソースからPostgresサーバを使用している場合は、サービススクリプトを提供する必要があります。
以下のLinuxサービススクリプトの例を、Postgresインストール用のスクリプトを開発する際の出発点として使用することができます。改行が正しくコピーされていることを確認してください(この例からコピーアンドペーストする場合)。
#!/bin/bash
#
# chkconfig: 2345 85 15
# description: Starts and stops the PostgreSQL/Postgres Plus Advanced Server database server

# PostgreSQL/Postgres Plus Advanced Server Service script template for Linux
# Please modify the values accordingly

DB_DESC="Database Server - PostgreSQL 9.5"
DB_INSTALL_DIR=/opt/PostgreSQL/9.5
DB_BIN_DIR=${DB_INSTALL_DIR}/bin
DB_LIB_DIR=${DB_INSTALL_DIR}/lib
DB_DATA_DIR=${DB_INSTALL_DIR}/data
DB_HBA_FILE=${DB_DATA_DIR}/pg_hba.conf
DB_CONF_FILE=${DB_DATA_DIR}/postgresql.conf
DB_PID_FILE=${DB_DATA_DIR}/postmaster.pid
DB_STARTUP_LOG=${DB_DATA_DIR}/pg_log/startup.log
DB_SERVICE_USER=postgres

_die()
{
echo ""
echo "FATAL ERROR: $*"
echo ""
exit 1
}

if [ `id -u` != 0 ]; then
_die "You must run this script as the root."
fi

# Source function library.
if [ -f /etc/rc.d/functions ];
then
. /etc/init.d/functions
fi

start()
{
STARTDBSERVER=0
if [ -e "${DB_PID_FILE}" ]
then
PIDOFDB=`head -n 1 "${DB_PID_FILE}"`
PIDALIVEDB=""
if [ -n "${DB_PID_FILE}" ]; then
PIDALIVEDB=`ps -p "${PIDOFDB}" | grep "${PIDOFDB}"`
fi

if [ -n "${PIDALIVEDB}" ]
then
echo "The '${DB_DESC}' is already running. PID(${PIDALIVEDB})."
exit
else
STARTDBSERVER=1
fi
else
STARTDBSERVER=1
fi

if [ "${STARTDBSERVER}" != 0 ]
then
echo "Starting ${DB_DESC}..."
su - "${DB_SERVICE_USER}" -c "LD_LIBRARY_PATH=\"${DB_LIB_DIR}:\$LD_LIBRARY_PATH\" \"${DB_BIN_DIR}/pg_ctl\" -w start -D \"${DB_DATA_DIR}\" -l \"${DB_STARTUP_LOG}\" -o \"${DB_STARTUP_OPTIONS}\""

if [ $? -eq 0 ];
then
echo "${DB_DESC} started successfully."
exit 0
else
echo "${DB_DESC} did not start in a timely fashion, please see '${DB_STARTUP_LOG}' for details."
exit 1
fi
fi
}

stop()
{
if [ -e "${DB_PID_FILE}" ]
then
PIDOFDB=`head -n 1 "${DB_PID_FILE}"`
PIDALIVEDB=""
if [ -n "${DB_PID_FILE}" ]; then
PIDALIVEDB=`ps -p "${PIDOFDB}" | grep "${PIDOFDB}"`
fi

if [ -n "${PIDALIVEDB}" ]
then
echo "Stopping ${DB_DESC}..."
su - "${DB_SERVICE_USER}" -c "LD_LIBRARY_PATH=\"${DB_LIB_DIR}:\$LD_LIBRARY_PATH\" \"${DB_BIN_DIR}/pg_ctl\" stop -m fast -D \"${DB_DATA_DIR}\" -l \"${DB_STARTUP_LOG}\" -o \"${DB_STARTUP_OPTIONS}\""
else
echo "The '${DB_DESC}' is not running."
fi
else
echo "The '${DB_DESC}' is not running."
fi
}

reload()
{
echo "Reloading '${DB_DESC}'..."
su - "${DB_SERVICE_USER}" -c "LD_LIBRARY_PATH=\"${DB_LIB_DIR}:\$LD_LIBRARY_PATH\" \"${DB_BIN_DIR}/pg_ctl\" reload -D \"${DB_DATA_DIR}\" -l \"${DB_STARTUP_LOG}\" -o \"${DB_STARTUP_OPTIONS}\""
}

restart()
{
echo "Restarting '${DB_DESC}'..."
su - "${DB_SERVICE_USER}" -c "LD_LIBRARY_PATH=\"${DB_LIB_DIR}:\$LD_LIBRARY_PATH\" \"${DB_BIN_DIR}/pg_ctl\" restart -m fast -w -D \"${DB_DATA_DIR}\" -l \"${DB_STARTUP_LOG}\" -o \"${DB_STARTUP_OPTIONS}\""

if [ $? -eq 0 ];
then
echo "'${DB_DESC}' restarted successfully."
exit 0
else
echo "'${DB_DESC}' did not start in a timely fashion, please see '${DB_STARTUP_LOG}' for details."
exit 1
fi
}

_die_incomplete_requirement()
{
echo "One or more required configuration variables are not set:"
_die $*
}

_validate_script()
{
if [ -z "${DB_INSTALL_DIR}" ]; then
_die_incomplete_requirement "Missing installation directory";
fi
if [ ! -d "${DB_INSTALL_DIR}" ]; then
_die_incomplete_requirement "The specified - '${DB_INSTALL_DIR}' is not a valid installation directory. It is not present on the system.";
fi

if [ -z "${DB_BIN_DIR}" ]; then DB_BIN_DIR=${DB_INSTALL_DIR}/bin; fi
if [ ! -d "${DB_BIN_DIR}" ]; then
_die_incomplete_requirement "The specified - '${DB_BIN_DIR}' is not a valid bin directory. It is not present on the system.";
fi
if [ ! -f "${DB_BIN_DIR}/pg_config" -o ! -f "${DB_BIN_DIR}/pg_ctl" ]; then
_die_incomplete_requirement "The specified - '${DB_BIN_DIR}' does not contain the database server binaries.";
fi

if [ -z "${DB_LIB_DIR}" ]; then DB_LIB_DIR=${DB_INSTALL_DIR}/lib; fi
if [ -z "${DB_DESC}" ]; then DB_DESC=`${DB_BIN_DIR}/pg_config --version`; fi

if [ -z "${DB_DATA_DIR}" ]; then
_die_incomplete_requirement "Missing data directory settings in the script. Please set 'DB_DATA_DIR' variable in the script.";
fi

if [ ! -d "${DB_DATA_DIR}" ]; then
_die_incomplete_requirement "The specified - '${DB_DATA_DIR}' is not a valid. It is not present on the system.";
fi
if [ ! -f "${DB_DATA_DIR}/PG_VERSION" -o ! -d "${DB_DATA_DIR}/base" -o ! -d "${DB_DATA_DIR}/global" ]; then
_die_incomplete_requirement "The directory - '${DB_DATA_DIR}' does not look like a valid PostgreSQL/Postgres Plus Advanced Server data directory."
fi
if [ -z "${DB_SERVICE_USER}" ]; then
_die_incomplete_requirement "The service-user is not specified in the service script. Please set 'DB_SERVICE_USER' variable in the script."
fi
DB_VALID_SERVICE_USER=`cat /etc/passwd | grep "^${DB_SERVICE_USER}:"`
if [ -z "${DB_VALID_SERVICE_USER}" ]; then
_die_incomplete_requirement "The service-user '${DB_SERVICE_USER}' is not present on the system. Please specify the correct information."
fi
DB_DATA_DIR_OWNER=`ls -l ${DB_DATA_DIR}/PG_VERSION | awk '{print $3}'`
if [ x"${DB_DATA_DIR_OWNER}" != x"${DB_SERVICE_USER}" ]; then
_die_incomplete_requirement "The specified user - '${DB_SERVICE_USER}' does not own the data directory - '${DB_DATA_DIR}'. The data directory is owned by the user - '${DB_DATA_DIR_OWNER}'."
fi
if [ -z "${DB_HBA_FILE}" ]; then DB_HBA_FILE=${DB_DATA_DIR}/pg_hba.conf; fi
if [ ! -f "${DB_HBA_FILE}" ]; then
_die_incomplete_requirement "The hba-file - '${DB_HBA_FILE}' does not exist."
fi
if [ -z "${DB_CONF_FILE}" ]; then DB_CONF_FILE=${DB_DATA_DIR}/postgresql.conf; fi
if [ ! -f "${DB_CONF_FILE}" ]; then
_die_incomplete_requirement "The config-file - '${DB_CONF_FILE}' does not exist."
fi
if [ -z "${DB_PID_FILE}" ]; then DB_PID_FILE=${DB_DATA_DIR}/postmaster.pid; fi
if [ -z "${DB_STARTUP_LOG}" ]; then DB_STARTUP_LOG=${DB_DATA_DIR}/pg_log/startup.log; fi

DB_STARTUP_OPTIONS=""
if [ x"${DB_CONF_FILE}" != x"${DB_DATA_DIR}/postgresql.conf" ]; then
DB_STARTUP_OPTIONS="-c 'config_file=${DB_CONF_FILE}'"
fi
if [ x"${DB_HBA_FILE}" != x"${DB_DATA_DIR}/pg_hba.conf" ]; then
DB_STARTUP_OPTIONS="${DB_STARTUP_OPTIONS} -c 'hba_file=${DB_HBA_FILE}'"
fi
if [ x"${DB_PID_FILE}" != x"${DB_DATA_DIR}/postmaster.pid" ]; then
DB_STARTUP_OPTIONS="${DB_STARTUP_OPTIONS} -c 'external_pid_file=${DB_PID_FILE}'"
fi

if [ x"${DEBUG_VALIDATION}" = x"1" ]; then
echo "Using these values in the scripts:"
echo ""
echo "DB_DESC : ${DB_DESC}"
echo ""
echo "DB_INSTALL_DIR : ${DB_INSTALL_DIR}"
echo "DB_BIN_DIR : ${DB_BIN_DIR}"
echo "DB_LIB_DIR : ${DB_LIB_DIR}"
echo ""
echo "DB_DATA_DIR : ${DB_DATA_DIR}"
echo "DB_HBA_FILE : ${DB_HBA_FILE}"
echo "DB_CONF_FILE : ${DB_CONF_FILE}"
echo "DB_PID_FILE : ${DB_PID_FILE}"
echo "DB_STARTUP_LOG : ${DB_STARTUP_LOG}"
echo ""
echo "DB_SERVICE_USER : ${DB_SERVICE_USER}"
echo "DB_STARTUP_OPTIONS : ${DB_STARTUP_OPTIONS}"
echo ""
fi
}

DEBUG_VALIDATION=0
# See how we were called.
case "$1" in
start)
_validate_script
start
;;
stop)
_validate_script
stop
;;
reload)
_validate_script
reload
;;
restart)
_validate_script
restart
;;
condrestart)
_validate_script
if [ -e "${DB_PID_FILE}" ]
then
PIDOFDB=`head -n 1 "${DB_PID_FILE}"`
PIDALIVEDB=""
if [ -n "${DB_PID_FILE}" ]; then
PIDALIVEDB=`ps -p "${PIDOFDB}" | grep "${PIDOFDB}"`
fi

if [ -n "${PIDALIVEDB}" ]
then
restart
else
echo "The '${DB_DESC}' is not running."
fi
else
echo "The '${DB_DESC}' is not running."
fi
;;
status)
_validate_script
su - "${DB_SERVICE_USER}" -c "LD_LIBRARY_PATH=\"${DB_LIB_DIR}:\$LD_LIBRARY_PATH\" \"${DB_BIN_DIR}/pg_ctl\" status -D \"${DB_DATA_DIR}\" -l \"${DB_STARTUP_LOG}\" -o \"${DB_STARTUP_OPTIONS}\""
;;
validate)
DEBUG_VALIDATION=1
_validate_script
exit 0
;;
*)
echo "Usage: $0 {start|stop|restart|condrestart|reload|status|validate}"
exit 1
esac