EDB Postgres™エンタープライズマネージャ
アップグレードおよび移行ガイド
バージョン7.7
 
 
 
2019年3月27日
 
1 はじめに
この文書はPostgres Enterprise Manager™(PEM)サーバーのアップグレードに関する詳細な情報を提供します。
•
PEMインストールのアップグレード - セクション2では、PEMサーバをあるメジャーバージョンから別のメジャーバージョンにアップグレードする方法(6.0から7.5へのアップグレード)について説明します。
•
バッキングデータベースのアップグレード - セクション3では、同じバージョンのPEMサーバを維持しながらバッキングデータベースをアップグレードする方法について詳細に説明します。
•
PEMサーバの移動 -セクション4では、PEMサーバをあるホストから別のホストに移動する方法について詳しく説明します。
PEMの将来のリリースでは、Linuxホスト上のPEMエージェントまたはサーバー用のグラフィカルインストーラーは利用できなくなります。 PEMインストールをインストールまたは更新するにはRPMパッケージを使用する必要があります。 RPMパッケージを使用してグラフィカルインストーラでインストールされたPEMサーバまたはエージェントのLinuxホストを更新する方法については、セクション 5 を参照してください 。
この文書では、 PostgreSQLまたはAdvanced Serverデータベースを意味するためにPostgres という用語を使用しています。
1.1 このガイドで使用されている表記規則
このマニュアルでは、さまざまなコマンド、ステートメント、プログラム、例などの意味と使用方法を明確にするために、特定の表記規則が使用されています。この節では、これらの規則の概要を説明します。
以下の説明では、 用語は、言語キーワード、ユーザー指定の値、リテラルなどである任意の単語または単語のグループを指します。用語の正確な意味は、それが使用される文脈によって異なります。
•
イタリック体のフォント は、通常、初めてそれを定義する文中に新しい用語を導入します。
•
Fixed-width (mono-spaced) font は、 SQL コマンド、例で使用されている特定のテーブル名および列名、プログラミング言語のキーワード など、文字通りに与えなければならない用語に使用され ます 。例えば、 SELECT * FROM emp;
•
Italic fixed-width font は、ユーザーが実際の使用法で値を置き換える必要がある用語に使用されます。例えば、 DELETE FROM table_name ;
•
•
角括弧[]は、囲まれた用語の1つまたはすべてを置換できることを示します。たとえば、 [ a | b ] 、「 a 」または「 b 」のいずれかを選択するか、または両方を選択しないことを意味します。
•
中括弧{}は、囲まれた選択肢のうち1つだけを指定する必要があることを示します。たとえば、 { a | b }正確に一つ「の意味a 」又は「 b 」を指定しなければなりません。
•
省略記号...は、前の用語が繰り返される可能性があることを示します。たとえば、 [ a | b ] ...あなたが「 baaba 」というシーケンスを持っているかもしれないことを意味します。
2 PEMインストレーションのアップグレード
PEMグラフィカルインストーラを使用して、グラフィカルインストーラでインストールされたPEMエージェントまたはサーバを最新のバージョンに更新できます。 PEMおよびSQLプロファイラのインストーラへのリンクは、次のEnterpriseDB Webサイトで入手できます。
http://www.enterprisedb.com/products-services-training/products/postgres-enterprise-manager
Postgres Enterprise Manager™コンポーネントのアップグレード
PEMコンポーネントソフトウェアをアップグレードするには、次の順序で新しいバージョンのPEMコンポーネントインストーラを起動します。
1。
PEMサーバノードを除く 各監視対象ノードでPEMエージェントインストーラを起動します。アップグレードの実行中は、アップグレードしたPEM 7.5エージェントがPEM 6サーバと連携することに注意してください。
2。
PEMサーバインストーラを起動します。このインストーラは 、PEMサーバとPEMサーバノードにあるPEMエージェントの両方 をアップグレードします。
インストール中に、コンポーネントインストーラは既存のインストールを自動的に検出し、アップグレードを実行します。 PEMコンポーネントをアップグレードしたら、SQLプロファイラをアップグレードする必要があります。この手順はプラットフォーム固有です。
PEM 7以降、PEMクライアントインターフェイスはPEMサーバコンポーネントの一部としてインストールされ、選択したWebブラウザでアクセスされます。 PEM 7 Webインターフェイスの使用方法の詳細については、 『 PEM Getting Started Guide』 を参照してください 。
サーバーまたはエージェントのインストールにRPMパッケージを使用したことがある場合は、インストールをアップグレードするためにRPMパッケージを使用する必要があります。同様に、最初にグラフィカルインストーラを使用してインストールした場合は、グラフィカルインストーラを使用してアップグレードする必要があります。
次のセクションでは、アップグレードプロセスについて順を追って説明します。
2.1 PEMエージェントのアップグレード
現在PEMエージェントによって監視されているシステムを最新バージョンのPEMエージェントにアップグレードするには、エージェントが監視しているシステムに新しいバージョンのプラットフォーム固有のPEMエージェントインストーラをダウンロードして起動します。
Linuxユーザーの場合は、スーパーユーザー権限を想定して端末ウィンドウを開き、インストーラが存在するディレクトリに移動して次のように入力して、インストーラを起動できます。
./pem_agent- xxx -linux.run
どこ xxx 、インストーラのバージョン情報を指定します。
Windowsユーザーの場合は、ダウンロードしたインストーラのアイコンを右クリックし、[ Administrator as Run ]を選択してインストーラを起動できます 。
C:¥Users¥susan¥AppData¥Local¥Temp¥vmware-susan¥VMwareDnD¥4ddc8f39¥one.png
図2.1 - PEMエージェントインストーラへようこそのウィンドウ
PEM Agent Setup Wizardあなたを歓迎し、開きます(図2.1を参照)。

C:¥Users¥susan¥AppData¥Local¥Temp¥vmware-susan¥VMwareDnD¥16126cee¥patwo.png
図2.2 - PEM使用許諾契約
[ Next ]をクリックして先に進む前に、 License Agreement (図2.2を参照) を読んで同意します。

C:¥Users¥susan¥AppData¥Local¥Temp¥vmware-susan¥VMwareDnD¥14106ae0¥pathree.png
図2.3 - インストーラは既存のインストールを検出します。
セットアップウィザードは既存のエージェントを自動的に検出し、インストールされているバージョンをアップグレードします(図2.3を参照)。 Nextをクリックして続けます。
C:¥Users¥susan¥AppData¥Local¥Temp¥vmware-susan¥VMwareDnD¥4966c6d5¥pafour.png
図2.4 - PEMエージェントがアップグレードを実行します。
ときに Ready to Install (図2.4に示されている)ダイアログは、インストールが開始されようとしていることを通知、クリックしNext継続します。

C:¥Users¥susan¥AppData¥Local¥Temp¥vmware-susan¥VMwareDnD¥04185ab8¥pafive.png
図2.5 - 進捗バーはインストールプロセスをグラフ化します。
セットアップウィザードに進捗バーが表示され、インストール中の各コンポーネントについて通知されます(図2.5を参照)。

C:\ Users \ susan \ AppData \ Local \ Temp \ vmware-susan \ VMwareDnD \ 949cec36 \ two.png
図2.6 - PEMエージェントセットアップウィザードはアップデートを終了しました。
PEM Agent Setup Wizard 、インストールが完了したときにお知らせします(図2.6を参照)。 [ Finishをクリックしてウィザードを終了し、ウィンドウを閉じます。
 
2.1.1 RPMパッケージを使用したPEMエージェントのアップグレード
RPMパッケージを使用して、パッケージによって最初にインストールされた既存のエージェントをアップグレードできます。アップグレードプロセスでは、PEMエージェント設定ファイルは更新されません。新しいエージェントをインストールしたら、既存のエージェントの設定ファイルを新しいインストール場所に手動でコピーする必要があります。
RPMパッケージを使用してPEMエージェントをアップグレードするには、次の手順を実行する必要があります。
1。
yum upgrade pem-agent
2。
cp /usr/pem-6.0/etc/agent.cfg /usr/pem/agent/etc/agent.cfg
RPMパッケージを使用してPEMエージェントをインストールする方法の詳細については、次の Webサイトで入手可能な『 PEMインストールガイド』または 『 Advanced Serverインストールガイド』 を参照してください 。
http://www.enterprisedb.com/products-services-training/products/documentation/enterpriseedition
2.2 PEMサーバのアップグレード
PEMサーバインストーラを使用すると、PEMサーバのメジャーバージョン間で直接アップグレードできます(たとえば、最初にバージョン6.0にアップグレードせずに、バージョン5.0からバージョン7.5に直接アップグレードできます)。サーバのインストール中に、セットアップウィザードは依存関係チェックも実行して、Apache / PHPのバージョンが新しいPEMサーバのバージョンに必要なバージョンにアップグレードされていることを確認します。
Linuxユーザの場合は、スーパーユーザ権限を想定してターミナルウィンドウを開き、インストーラがあるディレクトリに移動して次のように入力して、ダウンロードしたPEMサーバインストーラを起動できます。
./pem_server- xxx -linux.run
どこ xxx 、インストーラのバージョン情報を指定します。
Windowsユーザーの場合は、ダウンロードしたインストーラのアイコンを右クリックし、[ Administrator as Run ]を選択してインストーラを起動できます 。
C:¥Users¥susan¥AppData¥Local¥Temp¥vmware-susan¥VMwareDnD¥05175ec4¥one.png
図2.7 - PEMサーバセットアップウィザード
PEM Server Setup Wizard図2.7に示すように、あなたを歓迎します。 [ NextをクリックしてLicense Agreementに進みます。
C:¥Users¥susan¥AppData¥Local¥Temp¥vmware-susan¥VMwareDnD¥8a3f83f5¥pstwo.png
図2.8 - 使用許諾契約に同意して続行します。
PEMサーバのセットアップウィザードで、 License Agreement に同意するように求められます (図2.8を参照)。使用許諾契約書を確認した後、次のラジオボタンをチェックしI accept the agreementし、クリックしNextし続けるためにExisting installationダイアログ。

C:¥Users¥susan¥AppData¥Local¥Temp¥vmware-susan¥VMwareDnD¥d5412951¥psthree.png
図2.9 - PEMサーバインストーラは既存のPEMサーバインストールを検出します。
ウィザードは、既存のPEMサーバインストールのPEMサーバホストを確認します。ウィザードがインストールを見つけると、アップグレードを実行します(図2.9を参照)。 Nextをクリックして続けます。

C:¥Users¥susan¥AppData¥Local¥Temp¥vmware-susan¥VMwareDnD¥d7cb600a¥one.png
図2.10 - インストールには依存関係のアップグレードが必要です。
PEMサーバをアップグレードする前に、ウィザードは新しいPEMサーバの要件が存在することを確認します。サポートしているコンポーネントが見つからない場合、または新しいPEMインストールをサポートしないバージョンの場合、PEMインストールウィザードは依存関係をアップグレードする必要があることを通知し、必要なインストーラを起動します(図2.10を参照)。
インストールウィザードが依存関係のアップグレードを完了すると、PEMサーバセットアップウィザードに戻ります。

C:¥Users¥susan¥AppData¥Local¥Temp¥vmware-susan¥VMwareDnD¥8a3e8356¥psfive.png
図2.11 - バッキングデータベースの接続情報を入力します。
その後、ウィザードは [ Database Server Installation Details ]ダイアログを開き、 PEMバッキングデータベースのデータベーススーパーユーザの接続認証情報を要求します(図2.11を参照)。提供する:
•
•
Nextをクリックして続けます。
pemAgentサービスアカウントダイアログで、PEMエージェントサービスを実行するアカウントのパスワードを入力するように求められる場合があります。メッセージが表示されたら、パスワードを入力し、[ Nextへ]をクリックして続行します。
C:\ Users \ susan \ AppData \ Local \ Temp \ vmware-susan \ VMwareDnD \ 883e85ff \ pssix.png
図2.12 - PEMセットアップウィザードはPEMサーバをインストールする準備ができています。
Ready to Installダイアログは、セットアップウィザードは、インストールを実行する準備ができていることを通知します。 Nextをクリックしてインストールを開始します(図2.12を参照)。

C:¥Users¥susan¥AppData¥Local¥Temp¥vmware-susan¥VMwareDnD¥883c85d9¥psseven.png
図2.13 - PEMサーバのインストールが進行中
インストール中は、プログレスバーによってアップデートの進行状況が通知されます(図2.13を参照)。
C:¥Users¥susan¥AppData¥Local¥Temp¥vmware-susan¥VMwareDnD¥c548198b¥pseight.png
図2.14 - セットアップウィザードはPEM Webサービスを設定します。
PEMサーバ(およびPEMサーバと同じホスト上にあるエージェント)を更新し、Webサービスを設定した後、PEMセットアップウィザードはサービスがリスンしているポートを通知します(図2.14を参照)。 PEMクライアントを使用してPEMサーバに接続するときにこのポート番号を使用します。
[ OKをクリックして[ Infoポップアップを閉じます。 PEMサーバセットアップウィザードは、インストールが完了したことを通知します(図2.15を参照)。
C:¥Users¥susan¥AppData¥Local¥Temp¥vmware-susan¥VMwareDnD¥48ebcbaf¥three.png
図2.15 - PEMサーバのアップグレードは完了です。
PEMサーバをアップグレードした後は、バッキングデータベースをより新しいバージョンにアップグレードすることをお勧めします。バッキングデータベースのアップグレードについては、 セクション3を 参照してください 。
 
2.1.1 RPMパッケージを使用したPEMサーバのアップグレード
PEMサーバをRPMパッケージとともにインストールした場合は、RPMを使用してPEMサーバをアップグレードできます。グラフィカルインストーラを使用して既存のPEMサーバをインストールした場合は、RPMパッケージを使用して PEM 7.5以降のバージョン をインストールする前に、既存のサーバを削除する必要があり ます。 RPMパッケージを使用してPEMをインストールする方法の詳細については、次のWebサイトで入手可能な『PEM Installation Guide』を参照してください。
https://www.enterprisedb.com/resources/product-documentation
RPMパッケージを使用して既存のRPMインストールをアップグレードするには、次の手順を実行する必要があります。
1。
yumアップグレードedb-pem edb-pem-server
2。
setenforce 0
3。
/usr/edb/pem/bin/configure-pem-server.sh
設定スクリプトを呼び出すときに、設定プロパティを指定するためのコマンドラインオプションを含めることができます。スクリプトによって、コマンドラインで省略した値を入力するように求められます。許容されるオプションは以下のとおりです。
-ci
-d
directory path for the PEM backing database. The data directory path for the PEM backing database.
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.スクリプト関連のヘルプを表示するには、次のコマンドを使用します。
/usr/edb/pem/bin/configure-pem-server.sh --help
PEMサーバ設定ファイルを実行したら、バージョン固有のサービス制御コマンドを使用して httpdサービスを再起動します。
RPMパッケージを使用してPEMサーバをインストールまたは設定する方法の詳細については、次のWebサイトで入手可能な『 PEMインストールガイド』または 『 Advanced Serverインストールガイド』 を参照してください 。
http://www.enterprisedb.com/products-services-training/products/documentation/enterpriseedition
2.3 SQLプロファイラのアップグレード
SQL Profilerをアップグレードするために必要な手順はプラットフォームによって異なります。詳細についてはあなたのプラットフォームのセクションを見てください。
LinuxホストでのSQLプロファイラのアップグレード
Linuxホスト上にあるSQLプロファイラのインストールをアップグレードするには
1。
デフォルトでは、グラフィカルインストーラでインストールされたLinuxホスト上でAdvanced Serverを使用している場合、スクリプトは Advanced Serverインストールの下のshare/contribディレクトリにあります。
LinuxホストでPostgreSQLインストールを使用している場合、スクリプトは PostgreSQLインストールの下のshare/postgresql/contribディレクトリにあります。
2。
WindowsホストでのSQLプロファイラのアップグレード
WindowsホストでSQLプロファイラを使用している場合、Windowsは実行されたかメモリにロードされたファイルをロックします。ロックされたファイルを解放するには、アップグレードを実行する前にPostgresサーバーを停止する必要があります。
Windowsでは、 [ Services ]ダイアログを使用して Servicesを制御できます 。 [ Services ]ダイアログを開くには、[ Control Panelから[ System and Security ]メニューに移動します。 [ Administrative Tools ]を選択し、[ Services ]アイコンをダブルクリックします。 「 Servicesダイアログが開いたら、リスト内のサービス名を強調表示し、ダイアログに表示されているオプションを使用してサービスをStopします。
Postgresサーバーを停止した後:
1。
デフォルトでは、スクリプトは Advanced ServerまたはPostgreSQLインストールの下のshare\contribディレクトリにあります。
2。
次に、Postgresサーバーを再起動して、PEMクライアントからノードのプロファイリングを再開します。 PEMコンポーネントを更新したら、バッキングデータベースを更新する準備が整いました。
3 バッキングPostgresデータベースのアップグレード
PEMコンポーネントとPEMバッキングデータベースの両方をアップデートする場合は、バッキングデータベースをアップデートする前にPEMコンポーネントアップデート(サーバ、エージェント、およびクライアント)を実行する必要があります。 PEMコンポーネントソフトウェアのアップデートの詳細については、 2 。
このセクションで説明されているアップデートプロセスは、pg_upgradeユーティリティを使用して、あるバージョンのバッキングサーバからより新しいバージョンに移行します。 pg_upgradeは、どのバージョンのPostgres(バージョン9.3以降)と同じプラットフォームでサポートされているそれ以降のリリースのPostgresとの間の移行を容易にします。
pg_upgradeは同じタイプのサーバ間のデータ転送をサポートします。たとえば、pg_upgradeを使用して、PostgreSQL 9.6バッキングデータベースからPostgreSQL 10バッキングデータベースにデータを移動できますが、Advanced Server 10バッキングデータベースには移動できません。異なるタイプのバッキングデータベース(PostgreSQLサーバからAdvanced Serverへ)に移行したい場合は、セクション 4を参照してください。
pg_upgradeの使用に関する詳細は、次のURLにあります。
http://www.postgresql.org/docs/current/static/pgupgrade.html
ステップ1 - 更新されたバッキングデータベースインストーラをダウンロードして呼び出す
PostgreSQLとAdvanced Serverのインストーラは、EnterpriseDB Webサイトから入手できます。
http://www.enterprisedb.com
アップグレードするサーババージョンのインストーラをダウンロードしたら、PEMサーバのホストでインストーラを起動します。インストールウィザードの画面上の指示に従ってPostgresサーバーを設定しインストールします。
PEMバッキングデータベースのホストとして、カスタムビルドのPostgreSQLサーバーをオプションで使用できます。ポート 5432で待機しているPostgreSQLバッキングデータベースからアップグレードする場合は 、新しいサーバーが別のポートで待機するように設定されている必要があります。
ステップ2 - 新しいサーバーでSSLユーティリティを設定する
新しいバッキングデータベースは 、現在のバッキングデータベースが実行しているのと同じバージョンの sslutilsを実行している必要があります 。 EnterpriseDBインストーラで使用されているSSL Utilsパッケージは、次のサイトからダウンロードできます。
http://www.enterprisedb.com/downloads/component-source-code
Advanced Serverを新しいバッキングデータベースとして使用するときに、手動でsslutils拡張子を追加する必要はあり ません 。 sslutilsを構成するsslutilsはプラットフォーム固有です。
Linuxの場合
Linuxを使用している場合は、次のサイトからアーカイブされたSSL Utilsファイルのバージョンをダウンロードできます。
http://www.enterprisedb.com/downloads/component-source-code
ダウンロードが完了したら、 sslutilsフォルダを抽出して、アップグレードしているバージョンのPostgresのPostgresインストールディレクトリに移動します。
コマンドラインを開き、スーパーユーザー特権を引き受け、 PATH環境変数の値を設定して makeがpg_configプログラムを見つけられるようmakeします。
export PATH=$PATH:/opt/ Postgres / xx /bin/
どこで:
Postgresは以下のどちらかを指定します。
•
PostgreSQLサーバにアップグレードする場合はPostgreSQL。
•
Advanced Serverサーバーにアップグレードする場合はPostgresPlus 。
xxは移行先のPostgresのバージョンを指定します。
次に、 yumを使って sslutil依存関係をインストールしsslutil 。
yum install openssl-devel
移動し sslutilsフォルダ、およびビルドsslutilsように入力してパッケージを:
make USE_PGXS=1
make USE_PGXS=1 install
Windowsの場合
sslutilsは、元のバッキングデータベースでsslutilsをコンパイルするために使用されたのと同じコンパイラを使用して、新しいバッキングデータベースでコンパイルするsslutilsがあります。 PostgreSQLのワンクリックインストーラ(EnterpriseDBから)またはAdvanced Serverインストーラを使用してインストールされたPostgresデータベースに移動する場合は、Visual Studioを使用してsslutilsを構築しsslutils 。あなたがにアップグレードしているならば:
•
Windows上で特定のバージョンのPostgresをビルドする方法についての詳細は、そのバージョンのコアドキュメントを参照してください。コアドキュメントは、PostgreSQLプロジェクトのWebサイトで入手できます。
http://www.postgresql.org/docs/
または、EnterpriseDBのWebサイトで
http://www.enterprisedb.com/products-services-training/products/documentation/enterpriseedition
プロセスの詳細はプラットフォームやコンパイラによって異なりますが、各プラットフォームの基本的な手順は同じです。以下の例は、32ビットWindowsシステム上でPostgreSQLに対するOpenSSLサポートをコンパイルする方法を示しています。
OpenSSL拡張機能をコンパイルする前に、お使いのバージョンのWindows用のOpenSSLを見つけてインストールする必要があります。 OpenSSLインストーラを起動する前に、必要な再配布可能 vcredist_x86.exe ( vcredist_x86.exe など ) をダウンロードしてインストールする必要があります 。
OpenSSLをインストールした後、 SSL Utilユーティリティパッケージをダウンロードして解凍します。
http://www.enterprisedb.com/downloads/component-source-code
アンパックコピー sslutilsユーティリティをPostgresのインストールディレクトリにフォルダ(つまり、 C:\Program Files\PostgreSQL\9. x )。
Visual Studioのコマンドラインを開き、 sslutilsディレクトリに移動します。 sslutilsを構築するには、次のコマンドを使用します。
SET USE_PGXS=1
SET GETTEXTPATH=
path_to_gettext
SET OPENSSLPATH=
path_to_openssl
SET PGPATH=
path_to_pg_installation_dir
SET ARCH=x86
msbuild sslutils.proj /p:Configuration=Release
どこで:
path_to_gettextはGETTEXTライブラリとヘッダファイルの場所を指定します。
path_to_opensslは、 opensslライブラリとヘッダーファイルの場所を指定します。
path_to_pg_installation_dir はPostgresのインストール場所を指定します。
たとえば、次の一連のコマンドはOpenSSLサポートをPostgreSQL 10サーバに組み込みます。
SET USE_PGXS=1
SET OPENSSLPATH=C:\OpenSSL-Win32
SET GETTEXTPATH="C:\Program Files\PostgreSQL\10"
SET PGPATH="C:\Program Files\PostgreSQL\10"
SET ARCH=x86

msbuild sslutils.proj /p:Configuration=Release
ビルドが完了すると、 sslutils ディレクトリに次のファイルが含まれます。
sslutils--1.1.sql
sslutils--unpackaged--1.1.sql
sslutils--pemagent.sql.in
sslutils.dll
コンパイルした sslutilsファイルをインストールに適したディレクトリにコピーします。例えば:
COPY sslutils*.sql "%PGPATH%\share\extension\"
COPY sslutils.dll "%PGPATH%\lib\"
ステップ3 - サービスを停止する
古いバッキングデータベースと新しいバッキングデータベースの両方のサービスを停止します。
RHELまたはCentOS 6.xで、コマンドラインを開き、スーパーユーザーのIDになります。次のコマンドを入力してください。
/etc/init.d/ service _ name stop
RHELまたはCentOS 7.xで、コマンドラインを開き、スーパーユーザーのIDになります。次のコマンドを入力してください。
systemctl/ service _ name stop
どこ service_name Postgresのサービスの名前を指定します。
Windowsでは、 [ Services ]ダイアログを使用して Servicesを制御できます 。 [ Services ]ダイアログを開くには、[ Control Panelから[ System and Security ]メニューに移動します。 [ Administrative Tools ]を選択し、[ Services ]アイコンをダブルクリックします。 「 Servicesダイアログが開いたら、リスト内のサービス名を強調表示し、ダイアログに表示されているオプションを使用してサービスをStopします。
ステップ4 - pg_upgradeを使ってサーバを更新する
pg_upgradeユーティリティを使用して、古いバッキングデータベースと新しいバッキングデータベースの間で既存のデータのインプレース転送を実行できます。サーバーが md5認証を強制するように設定されている場合は 、にエントリを追加する必要があります。データベーススーパーユーザの接続プロパティ(およびパスワード)を指定するpgpassファイル、またはpg _ hba変更します。 pg _ upgradeを呼び出す前にtrust接続を許可するconfファイル。でエントリを作成する方法の詳細については。 pgpassファイル、PostgreSQLのコアドキュメントを参照してください。
http://www.postgresql.org/docs/current/static/libpq-pgpass.html
アップグレードプロセス中に、pg_upgradeは一連のログファイルを書き込みます。クラスタの所有者はそれらが書き込み特権を持っているディレクトリからpg_upgradeを呼び出さなければなりません。アップグレードが正常に完了した場合、pg_upgradeはアップグレードが完了したときにログファイルを削除します。アップグレードログファイルを削除しないようにpg_upgradeに指示するには 、 --retain を呼び出すときに --retain キーワードを含めます。
pg_upgradeを起動するには、クラスタの所有者のIDを想定し、クラスタの所有者が書き込み権限を持っているディレクトリに移動して、次のコマンドを実行します。
path_to_pg_upgrade/ pg_upgrade
-d old_data_dir_path
-D new_data_dir_path
-b
old_bin_dir_path -B new_bin_dir_path
-p
old_port -P new_port
-u
user_name
どこで:
path_to_pg_upgradeはpg_upgradeユーティリティの場所を指定します。デフォルトでは、pg_upgradeはあなたのPostgresディレクトリの下のbinディレクトリにインストールされます。
old_data_dir_pathは、古いバッキングデータベースのdataディレクトリへの完全パスを指定します。
new_data_dir_pathは、新しいバッキングデータベースのdataディレクトリへのnew_data_dir_pathパスを指定します。
old_bin_dir_pathは、古いバッキングデータベースのbinディレクトリへのold_bin_dir_pathパスを指定します。
new_bin_dir_pathは、古いバッキングデータベースのbinディレクトリへのnew_bin_dir_pathパスを指定します。
old_portは、古いサーバーがlistenしているportを指定しport 。
new_port 新しいサーバーがlistenしているportを指定しport 。
user_nameは、クラスタ所有者の名前を指定します。
たとえば、次のようなコマンドです。
C:\>"C:\Program Files\PostgreSQL\10\bin\pg_upgrade.exe"
-d "C:\Program Files\PostgreSQL\9.6\data"
-D "C:\Program Files\PostgreSQL\10\data"
-b "C:\Program Files\PostgreSQL\9.6\bin"
-B "C:\Program Files\PostgreSQL\10\bin"
-p 5432 -P 5433
-u postgres
Windowsシステム上でPEMデータベースをPostgreSQL 9.6からPostgreSQL 10に移行するように指示します(バッキングデータベースがデフォルトの場所にインストールされている場合)。
一度呼び出されると、pg_upgradeはデータを新しいバッキングデータベースに移動する前に一貫性チェックを実行します。アップグレードが完了すると、pg_upgradeはアップグレードが完了したことを通知します。
pg_upgradeオプションの使用、またはアップグレードプロセスのトラブルシューティングに関する詳細は、以下を参照してください。
http://www.postgresql.org/docs/current/static/pgupgrade.html
手順5 - 証明書ファイルを古いデータベースから新しいデータベースにコピーする
次の証明書ファイルをコピーし dataに古いバッキングデータベースのディレクトリdata 、新しいバッキングデータベースのディレクトリ:
•
•
•
•
•
•
デフォルトでは、ファイルはあなたのPostgresインストールの下のdataディレクトリにあります。
ターゲットサーバーに配置されると、ファイルには次に示す(プラットフォーム固有の)アクセス許可が与えられます。
Linuxでの権限と所有権
Linuxでは、証明書ファイルは postgres が所有していなければなりません 。ファイルの所有権を変更するには、コマンドラインで次のコマンドを使用します。
chown postgres file _ name
どこ file_name証明書ファイルの名前を指定します。
server 。 crtファイルは、ファイルの所有者によってのみ変更される可能性がありますが、任意のユーザーによって読み取られる可能性があります。次のコマンドを使用して、 serverファイル権限を設定server 。 crtファイル:
chmod 644 server.crt
他の証明書ファイルは、ファイルの所有者のみが変更または読み取りできます。ファイルのアクセス権を設定するには、次のコマンドを使用します。
chmod 600 file_name
どこ file_name 、ファイルの名前を指定します。
Windowsでの権限と所有権
Windowsでは、ソースホストから移動された証明書ファイルは、ターゲットホストでPEMサーバとバッキングデータベースのインストールを実行したサービスアカウントによって所有されている必要があります。ファイル名を指定して Run を使用してPEMサーバとPostgresインストーラを起動した場合 as Administrator オプション(インストーラのコンテキストメニューから選択)、証明書ファイルの所有者は Administrators ます。
Windowsでファイルのアクセス権を確認および変更するには、ファイル名を右クリックして[ Properties ]を選択し Properties 。
C:¥Users¥susan¥AppData¥Local¥Temp¥vmware-susan¥VMwareDnD¥c34d18de¥server_key.png
図3.3 - セキュリティタブ
移動し Security ]タブ(図3.3を参照)、ハイライトGroup or user name割り当てられた権限を表示します。選択したユーザーに関連付けられている権限を変更できるダイアログにアクセスするには、 Editまたは「 Advancedを選択します。
ステップ6 - 新しいサーバー設定ファイルを更新する
postgresql 。 confファイルには、サーバーの動作を指定するパラメータ設定が含まれています。 postgresqlを修正する必要があります。 postgresql指定された設定と一致するように新しいサーバー上のconfファイル。古いサーバーのconfファイル。
デフォルトでは、 postgresql 。 confファイルは次の場所にあります。
•
•
/opt/PostgreSQL/version/data
•
•
C:\Program Files\PostgreSQL\version.x\data
ここで、 versionはあなたのシステムのPostgresのメジャーバージョンです。
選択したエディタを使用して postgresql を更新してください 。新しいサーバーのconfファイル。以下のパラメータを変更します。
元のバッキングデータベース(通常は5432 )によって監視されているポートでportするための portパラメータ。
sslパラメータがに設定されなければなりませんon 。
次のパラメータが有効になっていることも確認する必要があります。パラメータがコメントアウトされている場合は、各 postgresql 前にあるポンド記号を削除してください 。 confファイルのエントリ:
ssl_cert_file = 'server.crt' # (change requires restart)
ssl_key_file = 'server.key' # (change requires restart)
ssl_ca_file = 'root.crt' # (change requires restart)
ssl_crl_file = 'root.crl'
インストールによっては、新しいバッキングデータベースが古いバッキングデータベースと同等の方法で動作するように、変更が必要な他のパラメータ設定がある場合があります。 postgresql 確認してください 。新しいサーバーの構成が古いサーバーの構成と一致するように、 confファイルを慎重に検討してください。
ステップ7 - 新しいサーバー認証ファイルを更新する
pg_hba 。 confファイルには、サーバーがホストベース認証を実施する方法を指定するパラメーター設定が含まれています。 PEMサーバをインストールすると、インストーラによってpg _ hba変更されます。 confファイルconfファイルの先頭にエントリを追加します。
# Adding entries for PEM agents and admins to connect to PEM server
hostssl pem +pem_user 192.168.2.0/24 md5
hostssl pem +pem_agent 192.168.2.0/24 cert
# Adding entries (localhost) for PEM agents and admins to connect to PEM server
hostssl pem +pem_user 127.0.0.1/32 md5
hostssl postgres +pem_user 127.0.0.1/32 md5
hostssl pem +pem_user 127.0.0.1/32 md5
hostssl pem +pem_agent 127.0.0.1/32 cert
デフォルトでは、 pg_hbaです。 confファイルは次の場所にあります。
Linuxの場合は /opt/PostgreSQL/10.x/data
Windowsの場合、 C:\Program Files\PostgreSQL\10.x\data
デフォルトでは、pg _hbaです。 confファイルは次の場所にあります。
•
/opt/PostgreSQL/version.x/data
•
/Opt/PostgreSQL/version/data
•
•
/var/lib/edb/ASversion/data
•
C:\Program Files\PostgreSQL\version.x\data
ここで、 versionはあなたのシステムのPostgresのメジャーバージョンです。
選択したエディタを使用して、 pg _ hba からエントリをコピーします 。古いサーバのconfファイルをpg _ hba 。新しいサーバー用のconfファイル。
ステップ8 - 新しいPostgresサーバーを再起動する
新しいバッキングデータベースのサービスを開始します。 RHELまたはCentOS 6.xで、コマンドラインを開き、スーパーユーザーのIDになります。次のコマンドを入力してください。
/etc/init.d/ service _ name start
RHELまたはCentOS 7.xで、コマンドラインを開き、スーパーユーザーのIDになります。次のコマンドを入力してください。
systemctl stop service _ name
どこ service_nameバッキング・データベース・サーバーの名前です。
Windowsを使用している場合は、 [ Services ]ダイアログを使用して Servicesを制御できます 。 [ Services ]ダイアログを開くには、[ Control Panelから[ System and Security ]メニューに移動します。 [ Administrative Tools ]を選択し、[ Services ]アイコンをダブルクリックします。 「 Servicesダイアログが開いたら、リスト内のサービス名を強調表示し、ダイアログに表示されているオプションを使用してサービスをStartします。
4 Postgres Enterprise Manager™サーバーを移動する
このセクションの手順では、PEMサーバをあるホストマシンから新しいホストマシンに移動する方法について説明します。新しいホスト(ターゲット)のPEMサーバには、元のホスト(ソース)と同じバージョンのPEMサーバインストーラをインストールする必要があります。同じバージョンのインストーラを使用しないと、スキーマの不一致エラーが発生する可能性があります。
ターゲットサーバ(PostgreSQLまたはAdvanced Server)のバッキングデータベースは、ソースPEMサーバのバッキングデータベースと同じタイプとバージョン、または異なるタイプとバージョンである可能性があります。 PostgreSQLホストに常駐するPEMサーバはAdvanced Serverホストに移行することも、その逆も可能です。
サーバーの移行を開始する前に、ソースホスト、ターゲットホスト、および任意のPEMエージェントのホスト間のファイアウォールでサービス間の接続が許可されていることを確認する必要があります。
ステップ1 - ターゲットホストを準備する
ターゲットホストでPEMサーバのインストーラを起動します。ソースPEMサーバをインストールするときに使用したものと同じバージョンのPEMサーバインストーラを使用する必要があります。
ターゲットサーバのバッキングデータベースは、ソースのバッキングデータベースとは異なるバージョンまたはタイプである可能性があります。新しいPEMサーバーが元のサーバーと同じ種類のバッキングデータベースに存在し ない 場合は 、同じバージョンのsslutilsエクステンションが新しいサーバーホストにインストールされていることを確認する必要があります。 PEMインストーラーと一緒に配布されているバージョンのsslutilsは、以下のEnterpriseDB Webサイトから無料でダウンロードできます。
http://www.enterprisedb.com/downloads/component-source-code
PEMサーバまたは sslutilsエクステンションのインストールについては、 sslutilsで入手可能な 『PEM Installation Guide』を参照してください。
http://www.enterprisedb.com/documentation/english
ステップ2 - 新しいPEMサーバから既存のスキーマを削除する
移行プロセスでは、 pem 、 pemdata 、およびpemhistoryスキーマがソースPEMサーバーからターゲットPEMサーバーに再作成されます。移動に備えて、 psqlクライアントを使用して、ターゲットホストのpemデータベースからこれらのスキーマを削除します。 psqlクライアントは、コマンドラインで開くことも、 Postgres Enterprise ManagerメニューからSQL Shell (psql)選択することによって開くこともできます。
psqlクライアントが開いたら、データベーススーパーユーザとしてpemバッキングデータベースに接続します。ターゲットホストのpemデータベースに接続しpem 、次のコマンドを使用してスキーマを削除します。
DROP SCHEMA pem CASCADE;
DROP SCHEMA pemdata CASCADE;
DROP SCHEMA pemhistory CASCADE;
スキーマを削除するときは、 CASCADEキーワードを含める必要があります。これは、依存オブジェクトをすべて削除するようにサーバーに指示するためです。コマンドを実行すると、 psqlクライアントは依存オブジェクトのリストを表示します。クライアントはDROP SCHEMA表示することによって各スキーマが削除されたことを確認します(図4.1を参照)。
C:¥Users¥susan¥AppData¥Local¥Temp¥vmware-susan¥VMwareDnD¥14a9230a¥movetwo.png
図4.1 - pemスキーマを削除する
ステップ3 - 新しいPEMサーバでPEMエージェントを準備する
PEMサーバを移動する前に、ソースPEMサーバによって監視されているエージェントの数を特定し、ターゲットサーバ上でその数のエージェント(1つを除く)のIDを作成する必要があります。 PEMサーバによって監視されているPEMエージェントの総数を検出するには 、 psqlクライアントを使用してソースホスト上のpemデータベースに接続し 、 pem.agentテーブルにクエリを実行します(図4.2を参照)。
SELECT id FROM pem. agent WHERE active = true;
C:¥Users¥susan¥AppData¥Local¥Temp¥vmware-susan¥VMwareDnD¥5b56b8cd¥msthree.png
図4.2 - ソースPEMサーバ上のpemデータベースへの問い合わせ
元のPEMサーバに常駐するエージェントの数を手動で作成する必要があります。 PEMサーバインストーラは、ターゲットホスト上にすでに1つのエージェントを作成しています。たとえば、ソースサーバに3つのエージェントが含まれている場合は、2つの追加エージェントを手動で作成する必要があります。ターゲットサーバ上のpemデータベースとのpsqlセッションを開き 、必要なエージェントを作成します。以下のコマンドを使用してください。
CREATE USER agent x ;
ここで x 、エージェントの数を指定します(図4.3を参照)。 PEMサーバインストーラによってagent1がターゲットホストに作成されていることを忘れないでください。
C:¥Users¥susan¥AppData¥Local¥Temp¥vmware-susan¥VMwareDnD¥1622249f¥movefour.png
図4.3 - ターゲット上に追加のエージェントを作成する
次に、 GRANTコマンドを使用して、ターゲットPEMサーバーに存在する各エージェントにpem_agent権限を割り当てます。
GRANT pem_agent TO agent x ;
ここで、 xエージェントの番号を指定する(図4.4参照)。
C:¥Users¥susan¥AppData¥Local¥Temp¥vmware-susan¥VMwareDnD¥d8573dc4¥movefive.png
図4.4 - ターゲット上のエージェントへの特権付与
ステップ4 - ソースPEMサーバのバックアップスクリプトを生成して下さい
pg_dumpユーティリティを使用して、ターゲットホストにpemデータベースを再作成するために必要なコマンドを含むスクリプトを生成できます 。デフォルトでは、 pg_dumpはあなたのPostgresインストールの下のbinディレクトリにインストールされます。 pg_dumpを起動するには、コマンドラインを開き、 binディレクトリに移動して、次のように入力します。
pg_dump -U user_name db_name > file_name
どこで:
user_nameは、PEMバッキングデータベースのデータベーススーパーユーザの名前を指定します。
file_nameはpg_dumpによって生成されたスクリプトの名前を指定します。
プロンプトが表示されたら、指定されたユーザーに関連付けられているパスワードを入力します。
C:¥Users¥susan¥AppData¥Local¥Temp¥vmware-susan¥VMwareDnD¥da5d3bf2¥mssix.png
図4.5 - バックアップスクリプトの生成
図4.5に示すコマンドは pg_dumpに(実行されると) pemデータベースを再作成するスクリプトを生成するように指示します。スクリプトはbackupという名前になります。 sql 、およびtmpディレクトリに作成されます。 pg _ dumpは、ユーザーpostgres認証情報を使用してサーバーに接続しています。
pg_dumpユーティリティを起動しても現在のデータベースユーザには pg_dumpません。
ステップ5 - バックアップをターゲットホストに移動する
pg_dumpユーティリティによって生成されたスクリプトを PEMサーバのターゲットホストに移動します。
ステップ6 - ターゲットホストでバックアップを復元する
ターゲットホストでコマンドラインを開き、 (Postgresバッキングデータベースのインストールディレクトリの下の) binディレクトリに移動します。 pg_dumpユーティリティによって生成されたスクリプトを実行して、 psql起動します。
psql -U user_name -d pem -f file_name
どこで:
user_nameは、データベースのスーパーユーザーの名前を指定します。指定したユーザーは、バッキングデータベースに対する接続権限を持っている必要があります。
file_nameは、 pg _ dumpによって生成されたバックアップスクリプトへの完全パスを指定します。
プロンプトが表示されたら、データベースのスーパーユーザーに関連付けられているパスワードを入力します。
C:¥Users¥susan¥AppData¥Local¥Temp¥vmware-susan¥VMwareDnD¥d8d43c60¥moveseven.png
図4.6 - バックアップスクリプトの復元
図4.6に示す例では、 psqlクライアントを使用して backupという名前のスクリプトを呼び出しています。 pemデータベースを再作成するためのsql 。このスクリプトは、データベースのスーパーユーザーpostgres関連付けられている特権を使用して呼び出されます。
手順7 - ターゲットホスト上のデータベースサーバを停止する
Linux上のPEMサーバを停止するには、次のコマンドを使用します。
/etc/init.d/ service _ name stop
service_nameは、バッキングデータベースサーバーの名前を指定します。 PostgreSQLバッキングデータベースの場合、サービス名はpostgresql-x. x 、およびAdvanced Serverバッキングデータベースの場合、サービス名はppas-x. x 、ここでxはバージョン番号を指定します。
Windowsを使用している場合は、 [ Services ]ダイアログを使用して Servicesを制御できます 。 [ Services ]ダイアログを開くには、[ Control Panelから[ System and Security ]メニューに移動します。 [ Administrative Tools ]を選択し、[ Services ]アイコンをダブルクリックします。 「 Servicesダイアログが開いたら、リスト内のサービス名を強調表示し、ダイアログに表示されているオプションを使用してサービスをStopします。
ステップ8 - 証明書ファイルをターゲットホストにコピーする
ターゲットホストのインストール時に作成された証明書ファイルをソースホストの証明書ファイルで置き換える必要があります。次のファイルをソースPEMサーバーからターゲットPEMサーバーにコピーします。
ca_certificate.crt
ca_key.key
root.crt
root.crl
server.key
server.crt
ターゲットクラスタ用のバッキングデータベースを提供するPostgresインストールの下の dataディレクトリにファイルをコピーします 。 Linuxでは、デフォルトで、ファイルは次の場所にあります。
/opt/PostgreSQL/xx/data/
Windowsでは、ファイルは次の場所にあります。
C:\Program Files\PostgreSQL\xx\data
ファイルはターゲットクラスタにすでに存在します。コピーを実行する前に既存のファイルを削除するか、既存のファイルを移行元サーバーのファイルで上書きします。ターゲットサーバーに配置されると、ファイルには以降のセクションで説明する(プラットフォーム固有の)アクセス許可が与えられます。
Linuxでの権限と所有権
Linuxでは、証明書ファイルは postgres が所有していなければなりません 。ファイルの所有権を変更するには、コマンドラインで次のコマンドを使用します。
chown postgres file _ name
どこ file_name証明書ファイルの名前を指定します。
server 。 crtファイルは、ファイルの所有者によってのみ変更される可能性がありますが、任意のユーザーによって読み取られる可能性があります。次のコマンドを使用して、 serverファイル権限を設定server 。 crtファイル:
chmod 644 server.crt
他の証明書ファイルは、ファイルの所有者のみが変更または読み取りできます。ファイルのアクセス権を設定するには、次のコマンドを使用します。
chmod 600 file_name
どこ file_name 、ファイルの名前を指定します。
Windowsでの権限と所有権
Windowsでは、ソースホストから移動された証明書ファイルは、ターゲットホストでPEMサーバとバッキングデータベースのインストールを実行したサービスアカウントによって所有されている必要があります。ファイル名を指定して Run を使用してPEMサーバとPostgresインストーラを起動した場合 as Administrator オプション(インストーラのコンテキストメニューから選択)、証明書ファイルの所有者は Administrators ます。
Windowsでファイルのアクセス権を確認および変更するには、ファイル名を右クリックして[ Properties ]を選択し Properties 。
C:¥Users¥susan¥AppData¥Local¥Temp¥vmware-susan¥VMwareDnD¥8e39848c¥server_key.png
図4.7 - Permissionsタブ
移動し Security ]タブ(図4.7を参照)、ハイライトGroup or user name割り当てられた権限を表示します。選択したユーザーに関連付けられている権限を変更できるダイアログにアクセスするには、 Editまたは「 Advancedを選択します。
 
ステップ9 - PEMエージェント証明書ファイルをPEMサーバホストに移動する
ソースPEMサーバのPEMエージェントによって使用される証明書ファイルをターゲットホストに移動する必要があります。この手順はプラットフォーム固有です。
Linuxの場合
コピー agent1.keyとagent1.crtターゲットホストに送信元ホストからファイルを。デフォルトでは、Linuxでは、ファイルは/ root /にインストールされています。 pemファイルをターゲットホストの同じディレクトリにコピーします。
ファイルの所有権とファイルの許可は、次のように設定する必要があります。
必要に応じて、 /root/.pem に移動し 、次のコマンドを使用してagent1.keyファイルの権限と所有権を変更します。
chmod 600 agent1.key
chown root agent1.key
以下のコマンドを使用して、 agent1.crtファイルの許可と所有権を変更します。
chmod 644 agent1.crt
chown root agent1.crt
Windowsの場合
コピー agent1.keyとagent1.crtターゲットホストに送信元ホストからファイルを。 Windowsでは、ファイルは次の場所にあります。
C:\Users\ user_name \AppData\Roaming\pem
どこ user_name PEMのインストーラを起動したユーザの名前です。
ターゲットマシン上の証明書ファイルに関連付けられている所有権と許可は、ソースマシン上の証明書ファイルの所有権と許可と一致する必要があります。 ファイル名を指定して Run を使用してPEMサーバとPostgresインストーラを起動した場合 as Administrator オプション(インストーラのコンテキストメニューから選択)、エージェント証明書ファイルの所有者は Administrators ます。
Windowsでファイルのアクセス権を確認および変更するには、ファイル名を右クリックして[ Properties ]を選択し Properties 。移動し Security タブを強調表示しGroup or user name割り当てられた権限を表示します。選択したユーザーに関連付けられている権限を変更できるダイアログにアクセスするには、 Editまたは「 Advancedを選択します。
ステップ10 - ターゲットホスト上のpg_hba.confファイルを更新する
ターゲットホストのpg_hba.confファイルを修正して、各PEMエージェントからの接続を許可します。デフォルトでは、 pg_hba.confファイルはPostgresインストールの下のdataディレクトリにあります。
手順11 - ターゲットホストでサーバーを起動する
pg_hba.confファイルを変更した後 、変更を有効にするためにサーバーを再起動する必要があります。
Linuxでデータベースサーバを再起動するには、次のコマンドを使用します。
/etc/init.d/ service _ name start
どこ service_nameバッキング・データベース・サーバーの名前です。
Windowsを使用している場合は、 [ Services ]ダイアログを使用して Servicesを制御できます 。 [ Services ]ダイアログを開くには、[ Control Panelから[ System and Security ]メニューに移動します。 [ Administrative Tools ]を選択し、[ Services ]アイコンをダブルクリックします。 「 Servicesダイアログが開いたら、リスト内のサービス名を強調表示し、ダイアログに表示されているオプションを使用してサービスをStartします。
ステップ12 - 新しいPEMサーバホストへの監視対象エージェントの接続
既存のPEMエージェントに新しいPEMサーバホストに接続するように指示するには、次の手順を実行する必要があります。
•
•
•
これらの手順はプラットフォーム固有です。
PEMエージェントがLinuxに常駐する場合
選択したエディタを使用してagent.cfgファイル(図4.8を参照)を変更し、 pem_hostおよびpem_portパラメータにPEMサーバの新しいIPアドレスとポート番号を指定します。
デフォルトでは、 agent.cfgファイルは次の場所にあります。
•
C:¥Users¥susan¥AppData¥Local¥Temp¥vmware-susan¥VMwareDnD¥85928a04¥agentcfg.png
図4.8 - agent.cfgファイル
agent.cfgファイルを変更したら、PEMエージェントサービスを再起動する必要があります。 Linuxのコマンドラインでpemagentサービススクリプトを使用してサービスを再開できます。
/etc/init.d/pemagent restart
PEMエージェントがWindowsに常駐する場合
監視対象ノードのWindowsレジストリを変更する前に、PEMエージェントのホスト上のファイアウォールがPEMサーバーへの接続を許可することを確認してください。 PEMエージェントホストがPEMサーバホストに接続できることを確認した後は、Windowsを使用することができますRegistry Editor見直し、編集しPEM_HOSTとPEM_PORT彼らは正しくPEMサーバが使用するホストとポートを識別することを確実にするためのエントリを。 Registry Editorを開くには、Windowsの[ファイル名を指定してRun ]ダイアログまたはWindowsの[スタート]メニューの検索ボックスにregeditします。
レジストリツリーコントロール(図4.9を参照)内を移動して、レジストリエントリを表示または変更します。 64ビットWindowsでは、PEMエージェントのレジストリエントリは次の場所にあります。
HKEY_LOCAL_MACHINE àSOFTWARE à wow6432Mode à EnterpriseDB à PEM à agent
32ビットWindowsでは、PEMエージェントのレジストリエントリは次の場所にあります。
HKEY_LOCAL_MACHINE àSOFTWARE à EnterpriseDB à PEM à agent
C:¥Users¥susan¥AppData¥Local¥Temp¥vmware-susan¥VMwareDnD¥5171f269¥スクリーンショット2016-11-03 at 9.50.24 AM.png
図4.9 - Windowsレジストリエディタ
PEM_HOSTとPEM_PORTエントリは、ターゲットホスト上の新しいPEMサーバのアドレスとポート番号を指定する必要があります。レジストリエントリを変更するには、エントリName右クリックしてコンテキストメニューから[ Modify ]を選択し、 Modify StringのEdit ]ダイアログを開きます。
C:¥Users¥susan¥AppData¥Local¥Temp¥vmware-susan¥VMwareDnD¥cbd449a5¥chregistry.png
図4.10 - Windowsレジストリエディタ
エントリの値を変更するには、 Edit Stringダイアログを使用します(図4.10を参照)。完了したら、[ OK ]をクリックして変更を保存するか、[ Cancel ]をクリックして保存せずに終了します。
レジストリを変更したら、PEMエージェントのサービスを再起動する必要があります。 Postgres Enterprise Manager - pemAgentサービス(図4.11参照)を再起動するには、 Servicesダイアログ( Windows Control Panelからアクセス)を使用し Services 。
C:¥Users¥susan¥AppData¥Local¥Temp¥vmware-susan¥VMwareDnD¥cbd54186¥services.png
図4.11 - PEMエージェントのサービスを再開する
サーバを移動したら、インストールされているPEMクライアントの接続プロパティを変更して、PEMサーバの新しいホスト、エージェント、および監視対象サーバに接続します。
5 Linuxホスト上のRPMパッケージを使用したグラフィカルインストールのアップグレード
PEMの将来のリリースでは、グラフィカルインストーラはLinuxホストで利用できなくなります。 Linuxインストールをインストールまたは更新するにはRPMパッケージを使用する必要があります。次のセクションでは、Linuxホスト上のグラフィカルインストーラを介して実行されたPEMインストールをアップグレードするプロセスについて説明します。
5.1 グラフィカルインストーラを使用してインストールされたPEMサーバのアップグレード
グラフィカルインストーラによってインストールされた場合のPEMサーバのデフォルトのインストール場所は / opt / edb / pemです。次の例では、 PEM_installation_pathをサーバーのインストール場所に置き換えます。
1。
2。
systemctl stop PEMHTTPD
3。
setenforce 0
yum install epel-release *
4。
yumインストールhttp://yum.enterprisedb.com/edbrepos/edb-repo-latest.noarch.rpm
5。
リポジトリー構成ファイルのインストールが完了したら、選択したエディターを使用して 依存関係およびツールのリポジトリー定義を変更し、リポジトリー定義が使用可能になっていること、および正しいリポジトリー資格情報を提供していることを確認してください。たとえば、 viを使用するには、次のように入力します。
vi /etc/yum.repos.d/edb.repo
6。
yumを makecacheコマンドは、現在有効なリポジトリのメタデータをダウンロードします。コマンドが完了したら、利用可能なパッケージを調べて、リストに最新のPEMサーバが含まれていることを確認します。
ヤムメイクキャッシュ
yumリストedb-pem-server
7。
PEMサーバRPMをインストールします。インストールが完了したら、 yum infoコマンドを使用してインストールの詳細を確認します。
yum install edb-pem-server
yum info edb-pem-server
8。
インストール後、 エージェントを コピーしてください 。現在の場所(グラフィカルインストーラが必要とする場所)からRPMパッケージが必要とする場所までのcfgファイル
cp / PEMの インストールパス/agent/etc/agent.cfg /usr/edb/pem/agent/etc/agent.cfg
9。
vi /usr/edb/pem/agent/etc/agent.cfg
次に、 ca_fileパラメータの値を設定します。
ca_file = / usr / libexec / libcurl-pem / share / certs / ca-bundle.crt
10。
pemを コピーしてください 。 dbファイル(およびその他の必要なファイル)をRPMのインストール場所に移動し、ファイルの所有権を変更します。
cp -r / PEMインストールパス /server/share/pemhome/.pem/* /var/lib/pemhome/.pem/
chown -R pem:pem /var/lib/pemhome/.pem/
11。
次のように、 passwdファイル内のホームディレクトリを、グラフィカルインストーラによって識別された場所からRPMの場所に変更します。
usermod -m -d / var / lib / pemhome pem
猫/ etc / passwd | grep pem
12。
cp /usr/lib/systemd/system/pemagent.service /usr/lib/systemd/system/pemagent.service_bkp
mv /root/.pem/agent1.key /root/.pem/agent1.key.bkp
mv /root/.pem/agent1.crt /root/.pem/agent1.crt.bkp
13。
/ PEMの インストール パス / server / uninstall-pemserver
14。
/usr/edb/pem/bin/configure-pem-server.sh
15。
cp /usr/lib/systemd/system/pemagent.service_bkp /usr/lib/systemd/system/pemagent.service
mv /root/.pem/agent1.crt.bkp /root/.pem/agent1.crt
mv /root/.pem/agent1.key.bkp /root/.pem/agent1.key
16。
pemagentサービスを有効にして起動し pemagentとhttpdのサービスを。
systemctl enable pemagent
systemctl start pemagent
systemctl start httpd
17。
5.2 グラフィカルインストーラを使用してインストールされたPEMエージェントのアップグレード
グラフィカルインストーラによってインストールされた場合のPEMサーバのデフォルトのインストール場所は / opt / edb / pemです。次の例では、 PEM_installation_pathをサーバーのインストール場所に置き換えます。
1。
RHELまたはCentOS 7.xの場合
systemctl stop pemagent
RHELまたはCentOS 6.xの場合
/etc/init.d/pemagent stop(RHEL-6)
2。
setenforce 0
yum install epel-release *
3。
setenforce 0
yum install epel-release *
4。
yumインストールhttp://yum.enterprisedb.com/edbrepos/edb-repo-latest.noarch.rpm
5。
リポジトリー構成ファイルのインストールが完了したら、選択したエディターを使用して 依存関係とツールのリポジトリー定義を変更し、リポジトリー定義が使用可能になっていること、および正しいリポジトリー信任状を提供していることを確認します。
vi /etc/yum.repos.d/edb.repo
6。
yumを makecacheコマンドは、現在有効なリポジトリのメタデータをダウンロードします。コマンドが完了したら、利用可能なパッケージをチェックして、リストに最新のPEMエージェントが含まれていることを確認します。
ヤムメイクキャッシュ
yumリストedb-pem-agent
7。
ym install edb-pem-agent
yum info edb-pem-agent
8。
cp /PEM_installation_path/agent/etc/agent.cfg /usr/edb/pem/agent/etc/agent.cfg
9。
vi /usr/edb/pem/agent/etc/agent.cfg
次に、 ca_fileパラメータの値を設定します。
ca_file = / usr / libexec / libcurl-pem / share / certs / ca-bundle.crt
10。
RHELまたはCentOS 7.xでは、次のコマンドを使用してサービスファイルをバックアップします。
cp /usr/lib/systemd/system/pemagent.service /usr/lib/systemd/system/pemagent.service_bkp
RHELまたはCentOS 6.xでは、次のコマンドを使用してサービスファイルをバックアップします。
cp /etc/init.d/pemagent /etc/init.d/pemagent_bkp
その後、エージェント証明書をコピーします。次のコマンドで、 エージェント _ IDは、エージェント識別子(例えば、 エージェント2またはagent3)を指定する必要があります。
mv /root/.pem/ agent_id .key /root/.pem/ agent_id .key.bkp
MV /root/.pem/ AGENT_ID .CRT /root/.pem/ AGENT_ID .crt.bkp
11。
/ PEMインストールパス/ agent / uninstall-pemagent
12。
たとえば、RHELまたはCentOS 7.xホストでは、次のようになります。
cp /usr/lib/systemd/system/pemagent.service_bkp /usr/lib/systemd/system/pemagent.service
RHELまたはCentOS 6.xホストの場合
cp /etc/init.d/pemagent /etc/init.d/pemagent_bkp
次に、エージェント証明書ファイルを移動します。
mv /root/.pem/ agent_id .key.bkp /root/.pem/ agent _ id .key
MV /root/.pem/ AGENT_ID .CRT .bkp /root/.pem/ エージェント _ ID .CRT
13。
有効 pemagentサービスを、そしてpemagentとのhttpdを起動します。 RHELまたはCentOS 7.xホストでは、次のコマンドを使用してください。
systemctl enable pemagent
systemctl start pemagent
RHELまたはCentOS 6.xホストの場合
/etc/init.d/pemagent start
この時点で、PEMエージェントは稼働しているはずです。 PEM Webインターフェイスを使用して、エージェントのバージョンとステータスを確認できます。
6 トラブルシューティング
6.1 pem.alertテーブルが復元に失敗する
復元する場合 pemバックアップからのバッキングデータベースを、あなたはの復元中にエラーが発生することがありpem 。 alertテーブルこれは、テーブルの前提条件となっているテーブルが欠けているために発生します - pg_restoreユーティリティはpem復元することができます。 pem.alert復元を試みた後 、前提条件をalertます。
これが起こると、pg_restoreからの出力は alertテーブルを参照するエラーメッセージを含みます 。
pg_restore: [archiver (db)] could not execute query: ERROR: insert or update on table "alert_history" violates foreign key constraint "alert_history_alert_id_fkey"
DETAIL: Key (alert_id)=(3) is not present in table "alert".
Command was: ALTER TABLE ONLY alert_history
ADD CONSTRAINT alert_history_alert_id_fkey FOREIGN KEY (alert_id) REFERENCES alert(id) ON...
pg_restore: creating FK CONSTRAINT alert_status_alert_id_fkey
pg_restore: [archiver (db)] Error from TOC entry 3265; 2606 18355 FK CONSTRAINT alert_status_alert_id_fkey postgres
pg_restore: [archiver (db)] could not execute query: ERROR: insert or update on table "alert_status" violates foreign key constraint "alert_status_alert_id_fkey"
DETAIL: Key (alert_id)=(1) is not present in table "alert".
Command was: ALTER TABLE ONLY alert_status
ADD CONSTRAINT alert_status_alert_id_fkey FOREIGN KEY (alert_id) REFERENCES alert(id) ON U...
この問題が発生した場合、復元 pem復元する前に、データベースをpem 。 alertテーブル復元pemデータベースはのための前提条件をインストールしますpem 。 alert 、テーブルの復元は予想通りに完了するはずです。
7 Postgres Enterprise Manager™のアンインストール
PEMインストールディレクトリにあるアンインストーラを使用して、LinuxまたはSolaris上のAdvanced ServerまたはPostgreSQLインストールからPEMコンポーネントを削除します。デフォルトでは、PEMアンインストーラは次の場所にあります。
Where xx specifies the Postgres version.
コンポーネントを削除するには、スーパーユーザー特権を引き受け、ターミナルウィンドウを開き、アンインストーラがあるディレクトリに移動します。次のようにしてインストーラを起動します。
./uninstall- component _ name
どこ component_name削除したいコンポーネントの名前です。
PEMのインストールがWindowsホストにある場合は、Windowsの[ Programs Add/Removeアプリケーションを使用してPEMコンポーネントを削除できます。 WindowsのControl Panelから[ ProgramsのAdd/Remove ]を選択します。コントロールパネルが開いたら、プログラムリストでPEMコンポーネントの名前を探します。コンポーネントを削除するには、[ Remove ]ボタンをクリックします。