PEM 8.1 -PEM Upgrade Guide

EnterpriseDB

PEM Upgrade and Migration

このガイドは、 Postgres Enterprise Manager(PEM)コンポーネントのアップグレード処理に関する詳細情報を提供します。

  • ** PEMインストールのアップグレード**-このセクションでは、PEMサーバー、PEMエージェント、およびSQLプロファイラーをメジャーバージョンから別のバージョン(6.0から7.14)にアップグレード処理する方法について説明します。
  • バックエンドデータベースのアップグレード-このセクションでは、同じバージョンのPEMサーバーを維持しながら、バックエンドデータベースのアップグレード処理に関する詳細情報を提供します。
  • ** PEMサーバーの移動** –このセクションでは、あるホストから別のホストへのPEMサーバーの移動に関する詳細情報を提供します。
  • トラブルシューティング –このセクションでは、PEMのアップグレード中に発生する可能性のあるエラーのトラブルシューティングに関する詳細情報を提供します。

このドキュメントでは、Postgresという用語を使用して、 PostgreSQL 、 Advanced Serverデータベース、またはEDB Postgres Extended(以前は2ndQPostgresとして知られていました)を意味します。

upgrade_pem_installation upgrade_backend_database moving_pem_serverトラブルシューティングの結論

</ div>

Upgrading a PEM Installation

PEMインストールのアップグレード処理プロセスはプラットフォーム固有です。 WindowsのPEMグラフィカルインストーラを使用して、 Windowsホスト上のPEMエージェントまたはサーバーを更新できWindows。 PEM 7.8リリースより前は、グラフィカルインストーラまたはRPMを使用して、PEMエージェントまたはサーバーをLinuxにインストールできました。 PEMバージョン7.8以降、Linux用のPEMグラフィカルインストーラーは廃止されました。 Linuxホスト上のPEMエージェントまたはサーバーを下位バージョンからPEM 7.9以降のバージョンに更新するには、ネイティブパッケージソフトを使用する必要があります。

PEMおよびSQLプロファイラのインストーラとのRPMへのリンクはEDB websiteでご利用いただけます。

upgrade_pem_installation_windows upgrade_pem_installation_linux_rpm creating_pem_repository_in_isolated_network

</ div>

Upgrading a PEM Installation on Windows Host

WindowsホストでPEMコンポーネントソフトウェアをアップグレードオーダーには、次の順序で新しいバージョンのPEMコンポーネントインストーラーを呼び出すだけです。

  1. PEMサーバーホストexceptの各監視対象ノードでPEMエージェントインストーラを起動します。 PEMサーバーインストーラを起動します。このインストーラは、bothをPEMサーバーとPEMサーバーホストにあるPEMエージェントにアップグレードします。

インストール中に、コンポーネントインストーラは既存のインストールを自動的に検出し、アップグレードを実行します。 PEMエージェントとサーバーをアップグレード処理た後、必要に応じてSQLプロファイラーをアップグレードできます。このステップはプラットフォーム固有です。

以下のセクションでは、 Windowsホストでのアップグレードプロセスについて順を追って説明します。

Windowsホスト上のPEMエージェントのアップグレード

現在PEMエージェントによって監視されているシステムを最新のPEMエージェントにアップグレードするには、エージェントがモニタリングしているシステムに新しいバージョンのPEMエージェントインストーラをダウンロードして呼び出します。

ダウンロードしたインストーラーのアイコンを右クリックして、Run as Administratorを選択すると、インストーラを起動できます。 PEM Agent Setup Wizardが開き、お迎えします。

The PEM Agent Installer - Welcome Window

Nextをクリックして続行する前に、License Agreementを読んで受け入れます。

The PEM Agent Installer - License Agreement

セットアップウィザードは、既存のエージェントを自動的に検出し、インストールされているバージョンをアップグレード。 Nextをクリックして続行します。

The PEM Agent Installer - Existing Installation Location

pemAgent service accountダイアログでは、PEMエージェントサービスを実行するアカウントのパスワードをプロンプト場合があります。

The PEM Agent Installer - pemAgent Service Account password

プロンプトが表示されたら、パスワード、Nextをクリックして続行します。

Ready to Installダイアログにインストールの開始が通知されたら、Nextをクリックして続行します。 PEMエージェントが最新バージョンにアップグレードます。

The PEM Agent Installer - Ready to Install

セットアップウィザードに進行状況バーが表示され、インストールされている各コンポーネントが通知されます。

PEM Agent Setup Wizardは、インストールが完了すると通知します。 Finishをクリックしてウィザードを終了し、ウィンドウを閉じます。

The PEM Agent Installer - Finish

インストールが完了すると、ウィンドウがポップアップしてマシンをリスタートします。 Yesをクリックして、マシンとPEMエージェントをリスタートします。

The PEM Agent Installer - Restart pop-up

Windowsホスト上のPEMサーバーのアップグレード

PEMサーバーインストーラは、PEMサーバーのメジャーバージョン間の直接アップグレード処理を容易にします。最初にバージョン6.0にアップグレード処理しなくても、バージョン5.0からバージョン7.16に直接アップグレードできます。

ダウンロードしたインストーラーのアイコンを右クリックして、Run as Administratorを選択すると、インストーラを起動できます。

The PEM Server Installer - Welcome Window

イメージに示すように、PEM Server Setup Wizardはあなたを歓迎します。 Nextをクリックして、License Agreementに進みます。

PEM Server setup wizardはLicense Agreementを受け入れるようにプロンプトされます。使用許諾契約を確認した後、I accept the agreementの横のラジオボタンをチェックし、NextをクリックしてExisting installation dialogに進みます。

The PEM Server Installer - License Agreement

ウィザードは、既存のPEMサーバーのインストールについてPEMサーバーホストをチェックします。ウィザードがインストールを見つけると、アップグレードを実行します。 Nextをクリックして続行します。

The PEM Server Installer - Existing PEM Server Location

PEMサーバーをアップグレード処理する前に、ウィザードは新しいPEMサーバーの要件が存在することを確認します。サポートするコンポーネントが見つからない場合、または新しいPEMインストールをサポートしないバージョンの場合、PEMインストールウィザードは依存関係をアップグレードする必要があることを通知し、必要なインストーラーを起動します。

The PEM Server Installater - Missing Dependencies

インストールウィザードが依存関係のアップグレードを完了すると、マシンをリスタートするかどうかを尋ねるウィンドウがポップアップ表示されます。

The PEM Server Installer - Restart pop-up

Noをクリックして、アップグレードプロセスを続行します。

次に、ウィザードはDatabase Server Installation Detailsダイアログを開き、PEMバックエンドデータベースのデータベーススーパーユーザの接続資格情報の入力を求めます。提供:

  • Userフィールドのデータベーススーパーユーザの名前。
  • Passwordフィールドのデータベーススーパーユーザに関連付けられたパスワード。

Nextをクリックして続行します。

The PEM Server Installer - Database Server Installation Details

pemAgent service accountダイアログでは、PEMエージェントサービスを実行するアカウントのパスワードをプロンプト場合があります。

The PEM Server Installer - pemAgent Service Account password

プロンプトが表示されたら、パスワード、Nextをクリックして続行します。

The PEM Server Installer - Ready to Install

Ready to Installダイアログは、セットアップウィザードがインストールを実行する準備ができたことを通知します。 Nextをクリックして、インストールをスタートします。

インストール中、進行状況バーに更新の進行状況が表示されます。

The PEM Server installation in progress

PEMサーバー(およびPEMサーバーと同じホストに存在するエージェント)をアップグレード処理し、Webサービスを構成すると、PEMセットアップウィザードはサービスがリッスンしているポートを通知します。 PEMクライアントを使用してPEMサーバーに接続するときに、このポート番号を使用します。

The PEM Server Installer - the PEM Web Service configured

OKをクリックして、Infoポップアップを閉じます。 PEMサーバーセットアップウィザードは、インストールが完了したことを通知します。

The PEM Server Installer - Upgrade Completion

ウィンドウがポップアップしてマシンのリスタートを求められたら、Yesをクリックしてマシンを再起動します。したがって、httpdサービスがリスタートします。

PEMバックエンドデータベースサーバとPEM-HTTPDを異なるホストにインストールした場合、PEMサーバーインストーラを2回(各ホストに1回)実行する必要があります。言語パックインストーラを抽出し、PEMインストーラーを起動する前にPEM-HTTPDのホストにインストーラます。インストーラを呼び出して言語パックを抽出する場合、次のキーワードを含めます。

--extract-languagepack <path>

<path>は、言語パックインストーラを抽出するための既存のパスを指定します。

Note * デフォルトでは、 EDB Language PackはC:\edb\languagepack\v1にインストールされます。

StackBuilder Plusを介してPEMサーバーをアップグレード処理する場合、以下に示すエラーが発生する可能性があります。エラーを表示した後、PEMはインストールが完了したことを通知します。インストールは完了していないため、ダウンロードした場所からインストーラファイルを呼び出してインストールする必要があることにノートしてください。

The PEM Server upgrade error

PEMサーバーをアップグレード処理た後、バックエンドデータベースをより新しいバージョンにアップグレードすることができます。バックエンドデータベースのアップグレード処理については、Upgrading the Backend Postgres Databaseを参照してください。

WindowsホストでのSQLプロファイラーのアップグレード

WindowsホストでSQLプロファイラを使用している場合、 Windowsは実行またはメモリにロードされたファイルをロックします。ロックされたファイルをリリースするには、アップグレードを実行する前にPostgresサーバーを停止する必要があります。

Windows、Servicesダイアログを使用してサービスを制御できます。 Servicesダイアログを開くには、Control PanelからSystem and Security menuまでナビゲートします。 Administrative Toolsを選択し、Servicesアイコンをダブルクリックします。 Servicesダイアログが開いたら、リストでサービス名前を強調表示し、ダイアログで提供されているオプションを使用してStopサービスを実行します。

Postgresサーバーを停止した後:

  1. uninstall-sql-profiler.sqlスクリプトを呼び出して、各ノードの既存のSQLプロファイラークエリーセットを削除します。デフォルトでは、 Windowsホストでは、スクリプトはAdvanced ServerまたはPostgreSQLインストールのshare\contribディレクトリにあります。

    • 次のサーバー固有のコマンドを使用できます。

PostgreSQL:

psql -f C:\Program Files\PostgreSQL\<x>\share\contrib\uninstall-sql-profiler.sql -d postgres -U postgres
  • ここで、xはPostgreSQLのバージョンであり、-dはメンテナンスデータベースの名前を指定します。

Advanced Server:

psql -f C:\Program Files\edb\as<x>\share\contrib\uninstall-sql-profiler.sql -d edb -U enterprisedb
  • xはAdvanced Serverのバージョンで、-dはメンテナンスデータベースの名前を指定します。

2.プロファイリングする各ノードで新しいSQL Profilerインストーラを呼び出します。インストーラをAdministratorとして実行します。

PostgreSQL:

sqlprofiler-pg-<x>-<y>-windows-x64.exe
  • ここで、xはPostgreSQLのバージョンであり、yはSQLプロファイラーのバージョンです。例:sqlprofiler-pg-12-7.14.0-1-windows-x64.exe。

Advanced Server:

sqlprofiler-edb-as<x>-<y>-windows-x64.exe
  • xはAdvanced Serverのバージョンで、yはSQLプロファイラーのバージョンです。例:sqlprofiler-edb-as12-7.14.0-1-windows-x64.exe。

SQL Profilerインストーラは、既存のSQL Profilerインストールを検出し、最新バージョンのSQL Profilerでアップグレードします。

3.メンテナンスデータベースでsql-profiler.sqlスクリプトファイルを実行します。

PostgreSQL:

psql -f C:\Program Files\PostgreSQL\<x>\share\contrib\sql-profiler.sql -d postgres -U postgres
  • xはPostgreSQLのバージョンであり、-dはメンテナンスデータベースの名前を指定します。

Advanced Server:

psql -f C:\Program Files\edb\as<x>\share\contrib\sql-profiler.sql -d edb -U enterprisedb
  • ここで、xはAdvanced Serverのバージョンであり、-dはメンテナンスデータベースの名前を指定します。

4.次に、 Postgresサーバーをリスタートて、PEMクライアントからのノードのプロファイリングを再開します。

PEMのコンポーネントを更新したら、バックエンドのデータベースを更新する準備が整いました。

Upgrading a PEM Native Package Installation on a Linux Host

LinuxホストでPEMコンポーネントソフトウェアをアップグレードするには、PEMコンポーネントネイティブパッケージソフトの新しいバージョンを次のオーダーでインストールするだけです。

  1. PEMサーバホストの各監視対象ノードexceptでPEMエージェントネイティブパッケージインストーラを起動します。 PEMサーバーネイティブパッケージインストーラを呼び出します。 bothをPEMサーバーおよびPEMサーバホストにあるPEMエージェントにアップグレードします。

インストール中、コンポーネントのインストールは既存のインストールを自動的に検出し、アップグレードを実行します。 PEMエージェントとサーバーをアップグレード処理た後、必要に応じてSQLプロファイラーをアップグレードできます。このステップはプラットフォーム固有です。

Note * 以前のバージョンから7.11以降のバージョンにアップグレードされたLinuxエージェントによって実行されるシェル/バッチスクリプトを既に構成している、または構成する予定の場合、batch_script_userパラメータのユーザをagent.cfgファイルで指定する必要があります。スクリプトの実行には、非ルートユーザを使用することを強くお勧めします。 ルートユーザを使用すると、データセキュリティとオペレーティングシステムのセキュリティが低下する可能性があります。ただし、 ルートユーザを使用してpemagentをオリジナルの設定に復元してスクリプトを実行する場合は、batch_script_userパラメータ値をrootに設定する必要があります。

以下のセクションでは、Linuxホストでのアップグレードプロセスについて順を追って説明します。

LinuxホストでPEMインストールをアップグレードするための前提条件

PEMは、python3、libboost、openssl、snmp ++、libcurlなどを含むベンダリポジトリのサードパーティコンポーネントに依存しています。これらのコンポーネントが最新であることを保証には、次のプラットフォーム固有のコマンドを使用してオペレーティングシステムを更新する必要があります。 opensslに必要な最小バージョンは1.0.2kです。バージョン10より古いバージョンのPostgreSQLまたはAdvanced Serverを使用している場合、アップグレードの前に、PEMサーバーがインストールされているシステムにバージョン10以上のlibsパッケージをインストールする必要があります。次のプラットフォーム固有のコマンドを使用して、ホストにlibsバージョン10以降をインストールします。

CentOSまたはRHELホストでPEMインストールをアップグレードするための前提条件

CentOSまたはRHEL 7.xホストでパッケージソフトをアップグレードホストには

yum upgrade

CentOSまたはRHEL 8.xホストでパッケージソフトをアップグレードホストには

dnf upgrade

Advanced Serverライブラリをアップグレードには:

yum install edb-as<X>-server-libs

PostgreSQLライブラリをアップグレードには:

yum install postgresql<X>-libs

<X>は、libsパッケージをインストールするPostgreSQLまたはAdvanced Serverバージョンです。

DebianまたはUbuntuホストでPEMインストールをアップグレードするための前提条件

DebianまたはUbuntuホスト上のパッケージソフトをアップグレードホストには

apt-get update

Advanced Serverライブラリをアップグレードには:

apt-get install edb-as<X>-server-libs

PostgreSQLライブラリをアップグレードには:

apt-get install postgresql<X>-libs

<X>は、libsパッケージをインストールするPostgreSQLまたはAdvanced Serverバージョンです。

SLESホスト上のPEMインストールをアップグレードするための前提条件

SLESホストでパッケージソフトをアップグレードホストには

zypper update

Advanced Serverライブラリをアップグレードには:

zypper install edb-as<x>-server-libs

PostgreSQLライブラリをアップグレードには:

zypper install postgresql<x>-libs

<X>は、libsパッケージをインストールするPostgreSQLまたはAdvanced Serverバージョンです。

PEMエージェントネイティブパッケージインストールのアップグレード

最初はネイティブパッケージソフトを使用してインストールした既存のPEMのエージェントをアップグレードするためにネイティブパッケージソフトを使用することができます。アップグレードプロセスでは、PEMエージェントの構成ファイルは更新されません。新しいエージェントをインストールした後、既存のエージェントの構成ファイルを新しいインストール場所に手動でコピーする必要があります。

CentOSまたはRHELホストでのPEMエージェントのアップグレード

CentOSまたはRHEL 7.xまたは8.xの場合:

PEMエージェントをアップグレードするには、次のコマンドを使用します。

yum upgrade edb-pem-agent

CentOSまたはRHEL 8.xの場合、次のコマンドも使用できます。

dnf upgrade edb-pem-agent

DebianまたはUbuntuホストでのPEMエージェントのアップグレード

PEMエージェントをアップグレードするには、次のコマンドを使用します。

apt-get upgrade edb-pem-agent

SLESホスト上のPEMエージェントのアップグレード

PEMエージェントをアップグレードするには、次のコマンドを使用します。

zypper update edb-pem-agent

PEMサーバーネイティブパッケージインストールのアップグレード

最初にネイティブパッケージソフトを使用してPEMサーバーをインストールした場合、ネイティブパッケージソフトを使用してPEMサーバーをアップグレードます。アップグレードするコマンドはプラットフォーム固有です。以下のプラットフォームのセクションを参照してください。

あなたは隔離されたネットワーク内のマシンにインストールされているPEMサーバをアップグレードしたい場合、あなたはPEMサーバーをアップグレード前に、そのマシン上でPEMリポジトリを作成する必要があります。分離されたネットワークでのPEMリポジトリの作成の詳細については、Creating a PEM Repository on an Isolated Networkを参照してください。

CentOSまたはRHELホスト上のPEMサーバーのアップグレード

RPMパッケージを使用して既存のRPMインストールをアップグレードするには、以下を行う必要があります。

yumパッケージマネージャを使用して、CentOSまたはRHEL 7.xまたは8.xにインストールされているPEMサーバーのバージョンをアップグレード。

yum upgrade edb-pem

CentOSまたはRHEL 8.xでdnfコマンドを使用することもできます。

dnf upgrade edb-pem

あなたはCentOSのか、RHEL 7.xのホスト上のPEMサーバーの新規インストールを行っている場合、インストーラはパッケージとしてインストールとともにEDB-のpython3-のmod_wsgiパッケージをインストールします!!! Note * は、オペレーティングシステムの要件です。 CentOSまたはRHEL 7.xホスト上のPEMサーバーをアップグレード処理している場合、mod_wsgiパッケージはオペレーティングシステムの要件を満たすためにedb-python3-mod_wsgiパッケージに置き換えられます。

yumまたはdnfを使用してPEMサーバーをアップグレード処理た後、PEMサーバーを構成する必要があります。詳細については、Configuring the PEM Server on Linux Platformsを参照してください。

DebianまたはUbuntuホスト上のPEMサーバーのアップグレード

apt-getパッケージマネージャを使用して、サポートされているDebianまたはUbuntuのバージョンにインストールされているPEMサーバーのバージョンをアップグレード。

apt-get upgrade edb-pem

apt-getを使用してPEMサーバーをアップグレード処理た後、PEMサーバーを構成する必要があります。詳細については、Configuring the PEM Server on Linux Platformsを参照してください。

SLESホスト上のPEMサーバーのアップグレード

zypperパッケージマネージャを使用して、サポートされているバージョンのSLESホストにインストールされているPEMサーバーのバージョンをアップグレード。

zypper update edb-pem

zypperを使用してPEMサーバーをアップグレード処理た後、PEMサーバーを構成する必要があります。詳細については、Configuring the PEM Server on Linux platformsを参照してください。

SQLプロファイラーネイティブパッケージインストールのアップグレード

LinuxホストにあるSQL Profilerインストールをアップグレードするには:

  1. uninstall-sql-profiler.sqlスクリプトを呼び出して、各ノードの既存のSQLプロファイラークエリーセットを削除します。デフォルトでは、Linuxホストでは、スクリプトはAdvanced ServerまたはPostgreSQLインストールのshare/contribディレクトリにあります。

    • 次のサーバー固有のコマンドを使用できます。

PostgreSQL:

/usr/pgsql-<x>/bin/psql -f /usr/pgsql-<x>/share/contrib/uninstall-sql-profiler.sql -d postgres -U postgres
  • ここで、xはPostgreSQLのバージョンであり、-dはメンテナンスデータベースの名前を指定します。

Advanced Server:

/usr/edb/as<x>/bin/psql -f /usr/edb/as<x>/share/contrib/uninstall-sql-profiler.sql -d edb -U enterprisedb
  • ここで、xはAdvanced Serverのバージョンであり、-dはメンテナンスデータベースの名前を指定します。

2.プロファイリングする各ノードで新しいSQL Profilerインストーラを呼び出します。

PostgreSQL:

yum upgrade postgresql<x>-sqlprofiler
  • ここで、xはPostgreSQLのバージョンです。

Advanced Server:

yum upgrade edb-as<x>-server-sqlprofiler
  • xはAdvanced Serverのバージョンです。

インストーラは既存のSQL Profilerインストールを検出し、 SQLプロファイラーの最新バージョンでアップグレードします。

PostgreSQL用のSQL Profilerのアップグレード処理の次の例を参照してください。

Upgrading SQL Profiler

3.次に、メンテナンスデータベースでsql-profiler.sqlスクリプトファイルを実行します。

PostgreSQL:

/usr/pgsql-<x>/bin/psql -f /usr/pgsql-<x>/share/contrib/sql-profiler.sql -d postgres -U postgres
  • ここで、xはPostgreSQLのバージョンであり、-dはメンテナンスデータベースの名前を指定します。

Advanced Server:

/usr/edb/as<x>/bin/psql -f /usr/edb/as<x>/share/contrib/sql-profiler.sql -d edb -U enterprisedb
  • ここで、xはAdvanced Serverのバージョンであり、-dはメンテナンスデータベースの名前を指定します。
  1. PostgreSQL/ Advanced Serverを再起動して、PEMクライアントからノードのプロファイリングを再開します。

PEMのコンポーネントを更新したら、バックエンドのデータベースを更新する準備が整いました。

Creating a PEM Repository on an Isolated Network

PEMをアップグレードするサーバーがEDBリポジトリに直接アクセスできない場合、PEM RPMパッケージソフトのホストとして機能するローカルリポジトリを作成できます。これは必要なステップの高レベルの概要があるとしてくださいノート。個々のネットワークのプロセスを変更する必要がある場合があります。ローカルリポジトリを作成して使用するには、以下を行う必要があります。

1.インターネットにアクセスできるシステムで次のコマンドを使用して、PEMの依存関係をダウンロードします。

yum install yum-plugin-downloadonly

mkdir /<pem_dir>

yum install --downloadonly --downloaddir=/<pem_dir>/ edb-pem

mkdir /<epel_dir>

yum install --downloadonly --downloaddir=/<epel_dir>/ epel-release*
  • <pem_dir>と<epel_dir>は、RPMをダウンロードするために作成するローカルディレクトリです。

2.ディレクトリ/<pem_dir>および/<epel_dir>を、分離されたネットワーク内のマシンにコピーします。

3.リポジトリを作成します。

createrepo /<pem_dir>

createrepo /<epel_dir>

4.次を指定する接続情報を使用して、/etc/yum.repos.d/pem.repoというリポジトリ構成ファイルを作成します。

[pemrepo]
name=PEM Repository
baseurl=file:///pem7/
enabled=1
gpgcheck=0

5.次を指定する接続情報を使用して、/etc/yum.repos.d/epel.repoというリポジトリ構成ファイルを作成します。

[epelrepo]
name=epel Repository
baseurl=file:///pem7/
enabled=1
gpgcheck=0

6.ローカルリポジトリの場所と接続情報を指定したら、yumコマンドを使用してPEMサーバーをインストールまたはアップグレードます。

  • PEMサーバーをインストールするには:
yum install edb-pem
  • PEMサーバーをアップグレードするには:
yum upgrade edb-pem

ローカルyumリポジトリの作成の詳細については、次のWebサイトをご覧ください:< https:// wiki.centos.org / HowTos / CreateLocalRepos >

Upgrading a Graphical PEM Installation on a Linux Host

LinuxホストでPEMコンポーネントソフトウェアをアップグレードするには、PEMコンポーネントネイティブパッケージソフトの新しいバージョンを次のオーダーでインストールするだけです。

  1. PEMサーバホストexceptの各監視対象ノードでPEMエージェントネイティブパッケージのインストールを呼び出します。 PEMサーバーのネイティブパッケージインストールを呼び出します。 bothをPEMサーバーおよびPEMサーバホストにあるPEMエージェントにアップグレードします。

インストール中、コンポーネントのインストールは既存のインストールを自動的に検出し、アップグレードを実行します。 PEMエージェントとサーバーをアップグレード処理た後、必要に応じてSQLプロファイラーをアップグレードできます。このステップはプラットフォーム固有です。

次のセクションでは、Linuxホストのグラフィカルインストーラを介して実行されたPEMインストールのアップグレード処理プロセスについて説明します。

Linuxホスト上のPEMインストールをアップグレードするための前提条件

バージョン10より古いリリースのPostgresまたはAdvanced Serverのバージョンを使用している場合、アップグレードの前に、PEMサーバーがインストールされているシステムにバージョン10以上のlibsパッケージをインストールする必要があります。

Advanced Server:

yum install edb-as<X>-server-libs

PostgreSQL:

yum install postgresql<X>-libs

<X>は、libsパッケージをインストールするPostgresまたはAdvanced Serverのバージョンです。

CentOSまたはRHELホストでのPEMエージェント(グラフィカルインストール)のアップグレード

グラフィカルインストーラによってインストールされたときのPEMエージェントのデフォルトのインストール場所は/opt/edb/pemです。次の例では、サーバーのインストール場所を<PEM_installation_path>に置き換えます。

1.バージョン固有のコマンドを使用して、pemagentサービスを停止します。

  • CentOSまたはRHEL 7.x 0r 8.xホスト:
systemctl stop pemagent

2.次のいずれかのコマンドを実行して、サポートするepel-releaseパッケージをホストにインストールします。

yum install epel-release
yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-<X>.noarch.rpm
  • XはOSバージョンです。

  • !!! Note

  • CentOS-Base.repoファイル(/etc/yum.repos.dにある)で[extras]リポジトリ定義を有効にする必要がある場合があります。

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, then you must also enable `rhel-<x>-server-eus-optional-rpms` repository to use EPEL packages or please see the `Red Hat Subscription Management Guide` for the required repository.
-    You must also enable the `rhel-<x>-server-extras-rpms` repository, where `x` specifies the version of the RHEL on the host.
  1. edb.repoファイルをインストールして構成します。

    • a。 EDBリポジトリへのアクセスを許可する資格情報も必要です。資格情報を要求するには、次をご覧ください。

    • EDB Repository Access Steps。

    • b。リポジトリ構成ファイルを作成します。スーパーユーザ特権を想定し、次のコマンドを呼び出します。

yum -y install https://yum.enterprisedb.com/edb-repo-rpms/edb-repo-latest.noarch.rpm

リポジトリ構成ファイルの名前付けはedb.repoです。ファイルは/etc/yum.repos.dにあります。

  • c。 edb.repoファイルを作成した後、有効なパラメータの値が1であることを保証する保証に、そしてbaseurl仕様のUSERNAMEとPASSWORDプレースホルダ名前と登録EDB>のパスワードに置き換えて、次のコマンドを実行します。
sed -i "s@<username>:<password>@USERNAME:PASSWORD@" /etc/yum.repos.d/edb.repo
  • 分離されたネットワークにあるマシンにPEMエージェントをインストールする場合、最初にそのマシンにPEMリポジトリを作成する必要があります。分離されたネットワークでのPEMリポジトリの作成の詳細については、Creating a PEM repository in an Isolated Networkを参照してください。
  1. yum makecacheコマンドは、現在有効なリポジトリのメタデータをダウンロードします。コマンドが完了したら、利用可能なパッケージソフトをチェックして、リストに最新のPEMエージェントが含まれていることを確認します。

    • CentOSまたはRHEL 7.xまたは8.xの場合:
yum makecache

yum list edb-pem-agent
  • CentOSまたはRHEL 8.xの場合:
dnf makecache

dnf list edb-pem-agent
  1. PEMエージェントRPMをインストールします。インストールが完了したら、yum infoコマンドを使用して、PEMエージェントのインストール情報を確認できます。

    • CentOSまたはRHEL 7.xまたは8.xの場合:
yum install edb-pem-agent

yum info edb-pem-agent
  • CentOSまたはRHEL 8.xの場合:
dnf install edb-pem-agent

6.インストール後、PEMエージェント構成ファイル(agent.cfg)を以前の場所からRPMインストーラが必要とする場所にコピーします。

cp /PEM_installation_path/agent/etc/agent.cfg /usr/edb/pem/agent/etc/agent.cfg
  • !!! Note

  • パッケージ管理機能と複製レプリケーション機能は、PEM 7.16バージョンから非推奨になりました。 PEMエージェントサービスのリスタート後、ワーカーログファイルにワーニングメッセージが表示されないように、ファイルが存在する場合-allow_package_managementおよびallow_streaming_replicationをコピーするときに、これらのパラメーターをagent.cfgファイルから削除してください。

  • a。次の場所にあるエージェント構成ファイルを開きます。

/usr/edb/pem/agent/etc/agent.cfg
  • 次に、ca_fileパラメータの値を設定します。
ca_file=/usr/libexec/libcurl-pem/share/certs/ca-bundle.crt
  • b。サービスファイルとエージェント証明書のバックアップます。

  • CentOSまたはRHEL 7.xまたは8.xでは、次のコマンドを使用してサービスファイルをバックアップします。

cp /usr/lib/systemd/system/pemagent.service /usr/lib/systemd/system/pemagent.service_bkp
  • 次に、エージェント証明書をコピーします。次のコマンドで、<agent_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
  • c。 bitrock uninstallerを使用してPEMエージェントをアンインストールします。
/PEM_installation_path/agent/uninstall-pemagent
  • d。バージョン固有のコマンドを使用して、サービスファイルのバックアップとエージェント証明書をオリジナルの場所に復元します。例:

  • RHELまたはCentOS 7.xまたは8.xホスト:

cp /usr/lib/systemd/system/pemagent.service_bkp /usr/lib/systemd/system/pemagent.service
  • 次に、エージェント証明書ファイルを移動します。次のコマンドで、<agent_id>は、エージェント識別子(例、エージェント2またはagent3)を指定する必要があります。
mv /root/.pem/<agent_id>.key.bkp /root/.pem/<agent_id>.key

mv /root/.pem/<agent_id>.crt.bkp /root/.pem/<agent_id>.crt
  1. pemagentサービスを有効にし、pemagentとhttpdをスタートします。

    • RHELまたはCentOS 7.xまたは8.xホストでは、次のコマンドを使用します。
systemctl enable pemagent

systemctl start pemagent

この時点で、PEMエージェントが稼働しているはずです。 PEM Webインタフェースを使用して、エージェントのバージョンとステータスを確認できます。

グラフィカルインストーラーでインストールされたPEMサーバーのアップグレード

グラフィカルインストーラによってインストールされたときのPEMサーバーのデフォルトのインストール場所は/opt/edb/pemです。次の例では、サーバーのインストール場所を<PEM_installation_path>に置き換えます。

CentOSまたはRHELホストにグラフィカルインストーラーでインストールされたPEMサーバーのアップグレード

  1. PEMからログアウトします。

  2. PEMサーバーでPEMHTTPDサービスを停止します。 PEMサーバーとウェブサーバが2つの異なるシステムにある場合、 ウェブサーバでコマンドを実行します。

    • CentOSまたはRHEL 7.x 0r 8.xホスト:
systemctl stop PEMHTTPD
systemctl stop pemagent

3.次のコマンドのいずれかを実行して、サポートするepel-releaseパッケージをホストにインストールします。

yum install epel-release
yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-<X>.noarch.rpm
  • <X>はOSバージョンです。

  • !!! Note

  • CentOS-Base.repoファイル(/etc/yum.repos.dにある)で[extras]リポジトリ定義を有効にする必要がある場合があります。

  • Red Hat Networkユーザ、

  • -rhel-<x>-server-optional-rpmsリポジトリがEPELパッケージソフトを使用できるようにする必要もあります。* x *はホスト上のRHELのバージョンを指定します。 RHN-ClassicのRHEL optional subchannelを有効にすると、リポジトリにアクセスできるmakeになります。証明書ベースのサブスクリプションを持っている場合は、rhel-<x>-server-eus-optional-rpmsリポジトリを有効にしてEPELパッケージソフトを使用するか、必要なリポジトリについてはRed Hat Subscription Management Guideを参照してください。 -rhel-<x>-server-extras-rpmsリポジトリも有効にする必要があります。ここで、xはホスト上のRHELのバージョンを指定します。

  1. edb.repoファイルをインストールして構成します。

    • a。 EDBリポジトリへのアクセスを許可する資格情報も必要です。資格情報を要求するには、次をご覧ください。

    • EDB Repository Access Steps。

    • b。リポジトリ構成ファイルを作成します。スーパーユーザ特権を想定し、次のコマンドを呼び出します。

yum -y install https://yum.enterprisedb.com/edb-repo-rpms/edb-repo-latest.noarch.rpm

リポジトリ構成ファイルの名前付けはedb.repoです。ファイルは/etc/yum.repos.dにあります。

  • c。次のコマンドを実行し、edb.repoファイルを作成した後、有効なパラメータの値が1であることを保証する保証に、そしてbaseurl仕様のusernameとpasswordプレースホルダは、登録EDBのユーザ名前とパスワードに置き換えられ:.
sed -i "s@<username>:<password>@USERNAME:PASSWORD@" /etc/yum.repos.d/edb.repo
  • 分離されたネットワークにあるマシンにPEMエージェントをインストールする場合、最初にそのマシンにPEMリポジトリを作成する必要があります。分離されたネットワークでのPEMリポジトリの作成の詳細については、Creating a PEM repository in an Isolated Networkを参照してください。
  1. yum makecacheコマンドは、現在有効なリポジトリのメタデータをダウンロードします。コマンドが完了したら、利用可能なパッケージソフトをチェックして、リストに最新のPEMサーバーが含まれていることを確認します。

    • CentOSまたはRHEL 7.xまたは8.xの場合:
yum makecache

yum list edb-pem
  • CentOSまたはRHEL 8.xの場合:
dnf makecache

dnf list edb-pem
  1. PEMサーバーRPMをインストールします。インストールが完了したら、yum infoコマンドを使用して、PEMサーバーのインストール情報を確認できます。

    • CentOSまたはRHEL 7.xまたは8.xの場合:
yum install edb-pem

yum info edb-pem
  • CentOSまたはRHEL 8.xの場合:
dnf install edb-pem

7.インストール後、agent.cfgファイルを現在の場所(グラフィカルインストーラに必要な場所)からRPMパッケージに必要な場所にコピーします。

cp /<PEM_installation_path>/agent/etc/agent.cfg /usr/edb/pem/agent/etc/agent.cfg

8.次の場所にあるエージェント構成ファイルを開きます。

/usr/edb/pem/agent/etc/agent.cfg
  • 次に、ca_fileパラメータの値を設定します。
ca_file=/usr/libexec/libcurl-pem/share/certs/ca-bundle.crt
  1. pem.dbファイル(およびその他の必要なファイル)をRPMインストール場所にコピーし、ファイルの所有権を変更します。 PEMサーバーとウェブサーバが2つの異なるシステム上にある場合、 ウェブサーバで以下のコマンドを実行します。
cp -r /<PEM_installation_path>/server/share/pemhome/.pem/* /var/lib/pemhome/.pem/

chown -R pem:pem /var/lib/pemhome/.pem/
  1. passwdファイルのホームディレクトリを、グラフィカルインストーラによって識別された場所からRPMの場所に変更します。 2つの異なるシステム上にある場合のPEMサーバとウェブサーバでは、ウェブサーバとしてだけでなくPEMサーバー上でコマンドを実行します。
usermod -m -d /var/lib/pemhome pem

cat /etc/passwd | grep pem
  1. PEMサービスファイルとエージェント証明書のバックアップます。
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
  1. PEMサーバーおよびウェブサーバマシンからグラフィカルアンインストーラーを使用してPEMサーバーをアンインストールします。
/<PEM_installation_path> /server/uninstall-pemserver

13.サービスファイルのバックアップとエージェント証明書をPEMサーバーのオリジナルの場所に復元します。

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

14.(インストーラがファイルを上書きすることができないかもしれないとして、Windowsの場合は、インストール前に、データベースサーバを停止することがあり、それ以外の場合は、システムのリスタートを必要とする)RPMまたはインストーラによってsslutilsをインストールします。

データベースサーバーを再起動します(拡張機能の共有オブジェクトがアップグレードされたため、データベースサーバを再起動する必要がありデータベースサーバ)

  • セクションInstall sslutilsを参照してください

  • 「ALTER EXTENSION」ステートメントを使用してバージョンをアップグレードします

ALTER EXTENSION sslutils UPDATE [ TO new_version ]
  1. PEMサーバーおよびウェブサーバでPEM RPM構成スクリプトを実行します。プロンプトが表示されたら、バックエンドデータベースの詳細を指定します。エラーを生成せずにスクリプトを実行する必要があります。
/usr/edb/pem/bin/configure-pem-server.sh
  1. PEMサーバーとウェブサーバでpemagentサービスを有効にします。 ウェブサーバでpemagentおよびhttpdサービスを開始します。
  • CentOSまたはRHEL 7.x 0r 8.xホスト:
systemctl enable pemagent

systemctl start pemagent

systemctl start httpd
  1. PEM Webインタフェースを起動します。サーバーとエージェントをチェックして、PEMバージョン、サーバーステータス、およびスキーマバージョンを確認します。この時点で、すべてが稼働しているはずです。

18.使用されなくなったPEMHTTDサービスをウェブサーバからアンインストールできるようになりました。

/opt/edb/pem/httpd/uninstall-pemhttpd

グラフィカルインストーラーを使用したSQLプロファイラーインストールのアップグレード

SQLプロファイラーのグラフィカルインストーラーは、11.xより前のバージョンのPostgreSQLおよびAdvanced Server (10.x、9.6)で使用できます。

Linuxホスト上のSQL Profilerインストールをアップグレードするには:

  1. uninstall-sql-profiler.sqlスクリプトを呼び出して、各ノードの既存のSQLプロファイラークエリーセットを削除します。デフォルトでは、グラフィカルインストーラでインストールされたLinuxホストでPostgreSQLを使用している場合、スクリプトはPostgreSQLインストールの下のshare/postgresql/contribディレクトリにあります。 Advanced Serverの場合、スクリプトはAdvanced Serverインストールのshare/contribディレクトリにあります。次のサーバー固有のコマンドを使用できます。

PostgreSQL:

/opt/PostgreSQL/<x>/bin/psql -f /opt/PostgreSQL/<x>/share/postgresql/contrib/uninstall-sql-profiler.sql -d postgres -U postgres
  • ここで、xはPostgreSQLのバージョンであり、-dはメンテナンスデータベースの名前を指定します。

Advanced Server:

/opt/edb/as<x>/bin/psql -f /opt/edb/as<x>/share/contrib/uninstall-sql-profiler.sql -d edb -U enterprisedb
  • ここで、xはAdvanced Serverのバージョンであり、-dはメンテナンスデータベースの名前を指定します。

2.次に、プロファイリングする各ノードで新しいSQL Profilerインストーラを呼び出します。管理者としてインストーラを実行します。

PostgreSQLホスト:

sqlprofiler-pg-<x>-<y>-linux.exe
  • xはPostgreSQLのバージョン、yはSQLプロファイラーのバージョンです。例:sqlprofiler-pg-12-7.14.0-1-linux.exe。

Advanced Server:

sqlprofiler-edb-as<x>-<y>-linux.exe
  • xはAdvanced Serverのバージョンで、yはSQLプロファイラーのバージョンです。例:sqlprofiler-edb-as12-7.14.0-1-linux.exe。

SQL Profilerインストーラは、既存のSQL Profilerインストールを検出し、最新バージョンのSQL Profilerでアップグレードします。

3.メンテナンスデータベースでsql-profiler.sqlスクリプトファイルを実行します。

PostgreSQL:

/opt/PostgreSQL/<x>/bin/psql -f /opt/PostgreSQL/<x>/share/postgresql/contrib/sql-profiler.sql -d postgres -U postgres
  • ここで、xはPostgreSQLのバージョンであり、-dはメンテナンスデータベースの名前を指定します。

Advanced Server:

/opt/edb/as<x>/bin/psql -f /opt/edb/as<x>/share/contrib/sql-profiler.sql -d edb -U enterprisedb
  • ここで、xはAdvanced Serverのバージョンであり、-dはメンテナンスデータベースの名前を指定します。
  1. PostgreSQL/ Advanced Serverを再起動して、PEMクライアントからノードのプロファイリングを再開します。

PEMのコンポーネントを更新したら、バックエンドのデータベースを更新する準備が整いました。

Configuring a PEM Server on a Linux Host

PEMサーバーをアップグレード処理た後、次のコマンドを使用してPEMサーバーを構成できます。

/usr/edb/pem/bin/configure-pem-server.sh

構成スクリプトを呼び出すときに、構成プロパティを指定するコマンドラインオプションを含めることができます。スクリプトは、コマンドラインで省略した値のプロンプトを求めます。受け入れられるオプションは次のとおりです。

Option Description
-acp PEMエージェントの証明書パスを定義しパス。デフォルトは/ ルート/.pemです。
-ci サーバーのpg_hba.confファイルに追加される、エージェントがサーバーに接続するCIDR形式のネットワークアドレスレンジ。例、192.168.1.0/24。デフォルトは0.0.0.0/0です。
-dbi データベースサーバインストールのディレクトリ。たとえば、 Advanced Serverの例は/ usr / edb / as11、 PostgreSQLの場合は/ usr / pgsql-11です。
-ds PEMデータベースサーバのユニットファイル名前。 Advanced Serverの場合、デフォルトのファイル名前はedb-as-11です。 PostgreSQLの場合、postgresql-11です。
-ho PEMデータベースサーバのホストアドレス。
-p PEMデータベースサーバのポート番号。
-ps pemagentのサービス名前。デフォルト値はpemagentです。
-sp PEMデータベースサーバのスーパーユーザパスワード。この値は必須です。
-su PEMデータベースサーバのスーパーユーザ名前。
-t インストールの種類:構成がWebサービスとバックエンドデータベースの場合は1、Webサービスを構成する場合は2、バックエンドデータベースを構成する場合は3を指定します。 3を指定する場合、データベースはローカルホストに存在する必要があることにノートしてください。
-un PEMサーバーを登録解除します。
-h ヘルプを表示します。

コマンドラインで構成プロパティを指定しない場合、スクリプトによって値の入力が求められます。スクリプト関連のヘルプをビューするには、次のコマンドを使用します。

/usr/edb/pem/bin/configure-pem-server.sh --help

PEMサーバー構成ファイルを実行した後、バージョン固有のサービス制御コマンドを使用してhttpdサービスをリスタートします。

RPMパッケージを使用してPEMサーバーまたはPEMエージェントをインストールまたは構成する方法の詳細については、PEM Linux Installation Guideを参照してください。

Upgrading the PEM Backend Postgres Database

PEMコンポーネントとPEMバックエンドデータベースの両方を更新場合は、バックエンドデータベースを更新する前にPEMコンポーネントの更新(サーバーとエージェント)を実行する必要があります。 PEMコンポーネントソフトウェアの更新の詳細については、Upgrading a PEM Installationを参照してください。

Note * PEM 8.0以降では、 PostgreSQLまたはEPASバージョン11以降はバックエンドデータベースサーバとしてのみサポートされています。したがって、バックエンドデータベースサーバがバージョン11よりも低い場合、まずバックエンドデータベースサーバをアップグレード、PEMコンポーネントをアップグレードする必要があります。

このセクションで説明する更新プロセスでは、pg_upgradeユーティリティを使用して、バックエンドサーババージョンからより新しいバージョンに移行します。 pg_upgradeは、サポートされているPostgresのバージョンと、同じプラットフォームでサポートされているPostgresの後続のリリース間の移行を容易にします。

Note * ソースPEMサーバーが7.16バージョンよりも低い場合、pg_upgradeを実行する前に、次の関数を置き換える必要があります。

  • -abstime、reltime、およびtintervalデータ型はPostgresバージョン12以降では非推奨です。したがって、これらのデータ型をtimestamptzデータタイプに置き換えるには、以下のコマンドを使用します。
DO
$$
DECLARE
   *   rec record;
   *   cnt integer;
BEGIN
   *   -- Check for the deprecated type in our user info probe
   *   SELECT count(*) INTO cnt
   *   FROM pem.probe_column
   *   WHERE sql_data_type = ‘abstime’ AND internal_name = ‘valuntil’;
   *       IF cnt = 0 THEN
   *           RETURN;
   *       END IF;
   *   ALTER TABLE pemdata.user_info
   *       ALTER COLUMN valuntil SET DATA TYPE timestamptz;
   *   ALTER TABLE pemhistory.user_info
   *       ALTER COLUMN valuntil SET DATA TYPE timestamptz;
   *   -- Now update the pem.probe_column itself
   *   UPDATE pem.probe_column
   *   SET sql_data_type = ‘timestamptz’
   *   WHERE sql_data_type = ‘abstime’ AND internal_name = ‘valuntil’;
END;
$$ LANGUAGE ‘plpgsql’;
  • -以下のファンクションを置き換えて、アラートエラーを回避します。
CREATE OR REPLACE FUNCTION pem.check_alert_params_array_size(
template_id pem.alert_template.id%type, params text[]
)
RETURNS bool AS $FUNC$
DECLARE
   *   res bool := TRUE;
BEGIN
   *   /*
   *   * During restoring the pem database, it does not maintain the order while
   *   * inserting data in the table, and uses the sort table based on the
   *   * names.
   *   * Hence - we need to check the foreign key constraint is present before
   *   * validating these values.
   *   */
   *   IF EXISTS(
   *       SELECT 1 FROM information_schema.table_constraints
   *       WHERE constraint_name='alert_template_id_fkey' AND
   *       table_name='alert' AND table_schema='pem'
   *   ) THEN
   * /*
   *  * Need to use the IS TRUE construct outside the main query, because
   *  * otherwise if there's no template by that ID then the query would return
   *  * 0 rows and the result of the function would be undefined and CHECK
   *  * constraint would succeed.
   *  * Probably this is being over-cautious, because pem.alert.template_id
   *  * references pem.alert_template.id. But the SQL standard (probably) does
   *  * not define the order in which the CHECK or the FOREIGN KEY constraints
   *  * should be validated; in case CHECK is validated first, we want it to
   *  * fail.
   *  */
EXECUTE $SQL$
   *   SELECT (
   *       SELECT pem.check_array_size_equal(t.param_names, $2)
   *       FROM pem.alert_template AS t
   *       WHERE id = $1
   *   ) IS TRUE
   * $SQL$ INTO res USING template_id, params;
END IF;
 RETURN res;
END
$FUNC$ LANGUAGE 'plpgsql';

pg_upgradeは、同じタイプのサーバー間のデータ転送をサポートします。例、PostgreSQLの11バックエンドデータベースにではなく、Advanced Serverの11バックエンド>にPostgreSQLの9.6バックエンドのデータベースからデータを移動するpg_upgradeを使用することができます。別のタイプのバックエンドデータベース( PostgreSQLサーバーからAdvanced Serverへ)に移行する場合は、Moving the Postgres Enterprise Manager Serverを参照してください。

pg_upgradeの使用に関する詳細については、次を参照してください。

< http://www.postgresql.org/docs/current/ 静的/pgupgrade.html >

1.更新インストーラをダウンロードして起動します。 PostgreSQLおよびAdvanced Serverのインストーラーは、 EDB ウェブサイトから入手できます。

  • https://www.enterprisedb.com/software-downloads-postgres

  • アップグレード処理するサーババージョンのインストーラをダウンロードしたら、PEMサーバーのホストでインストーラを起動します。インストールウィザードの画面上の指示に従って、 Postgresサーバーを構成およびインストールします。

  • オプションで、カスタム構築のPostgreSQLサーバーをPEMバックエンドデータベースのホストとして使用できます。ポート5432でリッスンするPostgreSQLバックエンドデータベースからアップグレード処理場合、新しいサーバーは別のポートでリッスンするように構成する必要があることに注意して監視する。

2.新しいサーバーでSSLユーティリティを構成します。新しいバックエンド>は、現在のバックエンド>が実行されていることsslutilsの同じバージョンを実行している必要があります。 EDBインストーラーで使用されるSSL Utilsパッケージは、次の場所からダウンロードできます。

Advanced Serverを新しいバックエンドデータベースとして使用する場合、sslutils拡張機能を手動で追加する必要はありません。 sslutilsの構成プロセスはプラットフォーム固有です。

  • ** Linuxで**

  • -Advanced Advanced Serverバックエンドデータベースでは、sslutils拡張機能がデフォルトでインストールされます。

  • -PEMバックエンドデータベースとしてPostgreSQLを使用している場合は、 PostgreSQLコミュニティリポジトリにアクセスできることを保証、次のコマンドを使用します。

yum install sslutils_<X>
  • <X>はサーババージョンです。

  • -PEMバックエンドデータベースとしてPostgreSQLのEDBワンクリックインストーラを使用している場合

 yum install gcc openssl-devel

PATHの値を設定して、pg_configプログラムを見つけられるようにします

 export PATH=$PATH:/opt/postgres_inst_dir/<X>/bin/

sslutilsフォルダーに移動して、入力します

 make USE_PGXS=1
 make USE_PGXS=1 install

psqlを使用してsslutils拡張機能を作成します

 CREATE EXTENSION sslutils

Debian 10およびUbuntu 20では、セキュリティの理由により、証明書を受け入れるための要件が増加していることにノートてください。ユーザはマシンのいずれかでPEM Agentをインストールしたい場合、彼らは、4096ビットのRSAキーとSHA256シグネチャアルゴリズムのサポートがadded.Ifユーザは1.3にsslutilsをアップグレードしない場合、PEMエージェントはに失敗する可能性があり1.3にssltuilsをアップグレードする必要がありますPEMバックエンドデータベースサーバに接続すると、エラーca md too weakがログれる場合があります。

  • ** Windows**

  • -sslutilsは、オリジナルのバックエンドデータベースでsslutilsをコンパイルに使用したのと同じコンパイラを使用して、新しいバックエンドデータベースでコンパイルする必要があります。 PostgreSQLワンクリックインストーラ( EDBから)またはAdvanced Serverインストーラーを使用してインストーラたPostgresデータベースに移動する場合、Visual Studioを使用してsslutilsをビルドします。 PostgreSQL 9.6以降にアップグレード処理する場合は、Visual Studio 2010を使用してください。

  • Windows上で特定のバージョンのPostgresをビルドする方法の詳細については、そのバージョンのコア文書を参照してください。コア文書は、 PostgreSQLプロジェクトのウェブサイトで入手できます。

  • https://www.postgresql.org/docs/current/install-windows.html

  • -プロセスの具体的な詳細はプラットフォームとコンパイラによって異なりますが、各プラットフォームの基本的な手順は同じです。次の例は、32ビットWindowsシステムでのPostgreSQLのOpenSSLサポートのコンパイルを例ています。

  • OpenSSL拡張機能をコンパイルする前に、ご使用のバージョンのWindowsのOpenSSLを見つけてインストールする必要があります。 OpenSSLインストーラを呼び出す前に、前提条件の再配布可能ファイル(vcredist_x86.exeなど)をダウンロードしてインストールする必要がある場合があります。

  • OpenSSLをインストールした後、次から入手可能なsslutilsユーティリティパッケージをダウンロードして解凍します。

  • https://www.enterprisedb.com/downloads/modified-gpl-source-code

  • -解凍したsslutilsフォルダーをPostgresインストレーションディレクトリ(つまりC:\ProgramFiles\PostgreSQL\<x.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インストールの場所を指定します。

  • -例、次のコマンドセットは、PostgreSQL 11サーバにOpenSSLサポートを構築します。

SET USE_PGXS=1

SET OPENSSLPATH=C:\OpenSSL-Win32

SET GETTEXTPATH="C:\Program Files\PostgreSQL\11"

SET PGPATH="C:\Program Files\PostgreSQL\11"

SET ARCH=x86

msbuild sslutils.proj /p:Configuration=Release
  • -ビルドが完了すると、sslutilsディレクトリに次のファイルが含まれます。

  • sslutils--1.3.sql

  • sslutils--unpackaged--1.3.sql

  • sslutils--pemagent.sql.in

  • sslutils.dll

  • -コンパイルされたsslutilsファイルをインストールに適したディレクトリにコピーします。例:

COPY sslutils*.sql "%PGPATH%\share\extension\"

COPY sslutils.dll "%PGPATH%\lib\"

COPY sslutils.control "%PGPATH%\share\extension\"

3.古いバックエンドデータベースと新しいバックエンドエンドデータベースの両方のサービスを停止しデータベース。

  • RHELまたはCentOS 7.xまたは8.xで、コマンドラインを開き、スーパーユーザのIDを引き継ぎます。次のコマンドを入力します。
systemctl <service_name> stop
  • <service_name>は、 Postgresサービスの名前を指定します。

Windows、Servicesダイアログを使用してサービスを制御できます。 Servicesダイアログを開くには、Control PanelからSystem and Securityメニューに移動します。 Administrative Toolsを選択し、Servicesアイコンをダブルクリックします。 Servicesダイアログが開いたら、リスト内のサービス名前を強調表示し、ダイアログで提供されるオプションを使用してサービスを停止します。

  1. pg_upgradeユーティリティを使用して、古いバックエンドデータベースと新しいバックエンドエンドデータベースの間で既存のデータのインプレース転送を実行しデータベース。サーバーがmd5認証を強制するように構成されている場合、データベーススーパーユーザの接続プロパティ(およびパスワード)を指定するエントリーを.pgpassファイルに追加するか、pg_upgradeを呼び出す前に信頼接続を許可するようにpg_hba.confファイルを変更する必要がある場合があります。 .pgpassファイルにエントリーを作成する方法の詳細については、次のURLで入手可能なPostgreSQLコア文書を参照してください。

アップグレードプロセス中に、 pg_upgradeはシリーズのログファイルを書き込みます。クラスターの所有者は、書き込み権限を持つディレクトリからpg_upgradeを呼び出す必要があります。アップグレードが正常に完了した場合、pg_upgradeはアップグレードの完了時にログファイルを削除しログ。アップグレードログファイルを削除しないようにpg_upgradeに指示するには、pg_upgradeを呼び出すときに--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は、古いバックエンドデータベースのデータディレクトリへの完全なパスを指定します。 -new_data_dir_pathは、新しいバックエンドデータベースのデータディレクトリへの完全なパスを指定します。 -old_bin_dir_pathは、古いバックエンドデータベースのbinディレクトリへの完全なパスを指定します。 -new_bin_dir_pathは、古いバックエンドデータベースのbinディレクトリへの完全なパスを指定します。 -old_portは、古いサーバーがリッスンしているポートを指定します。 -new_portは、新しいサーバーがリッスンしているポートを指定します。 -user_nameは、クラスター所有者の名前を指定します。

例、次のコマンドを実行します。

C:\>"C:\Program Files\PostgreSQL\11\bin\pg_upgrade.exe"

- d "C:\Program Files\PostgreSQL\9.6\data"

- D "C:\Program Files\PostgreSQL\11\data"

- b "C:\Program Files\PostgreSQL\9.6\bin"

- B "C:\Program Files\PostgreSQL\11\bin"

- p 5432 -P 5433

- U postgres
  • WindowsシステムでPEMデータベースをPostgreSQL 9.6からPostgreSQL 11に移行するようにpg_upgradeに指示します(バックエンドデータベースがデフォルトの場所にインストールされている場合)。

  • 呼び出されると、pg_upgradeはデータを新しいバックエンドデータベースに移動する前に一貫性チェックを実行します。アップグレードが完了すると、pg_upgradeはアップグレードが完了したことを通知します。

  • pg_upgradeオプションの使用またはアップグレードプロセスのトラブルシューティングの詳細については、以下を参照してください。

  • < http://www.postgresql.org/docs/current/ 静的/pgupgrade.html >

5.新しいバックエンド>のdataディレクトリに古いバックエンド>のdataディレクトリから次の証明書ファイルをコピーします。

  • ca_certificate.crt

  • ca_key.key

  • root.crt

  • root.crl

  • server.key

  • server.crt

  • ターゲットサーバーに配置したら、ファイルには以下で説明する(プラットフォーム固有の)権限が必要です。

  • ** Linuxでの許可と所有権**

  • ファイル名 | 所有者 | 許可 | | —————— | ——— | ————— | | ca_certificate.crt |ポストグレス| -rw ——- | | ca_key。キー|ポストグレス| -rw ——- | |ルート.crt |ポストグレス| -rw ——- | |ルート.crl |ポストグレス| -rw ——- | |サーバー。キー|ポストグレス| -rw ——- | | server.crt |ポストグレス| -rw-r–r– |
  • Linuxでは、証明書ファイルはpostgresが所有している必要があります。コマンドラインで次のコマンドを使用して、ファイルの所有権を変更できます。

chown postgres <file_name>
  • file_nameは、証明書ファイルの名前を指定します。

  • server.crtファイルは、ファイルの所有者によって変更されてもよいが、任意のユーザによって読み取られてもよいです。次のコマンドを使用して、server.crtファイルのファイル許可を設定できます。

chmod 644 server.crt
  • 他の証明書ファイルは、ファイルの所有者のみが変更または読み取ることができます。次のコマンドを使用して、ファイルのアクセス許可を設定できます。
chmod 600 <file_name>
  • file_nameはファイルの名前を指定します。

  • ** Windowsでの権限と所有権**

Windows、ソースホストから移動した証明書ファイルは、ターゲットホストでPEMサーバーとバックエンドデータベースインストレーションを実行したサービスアカウントが所有している必要があります。あなたは(インストーラのコンテキストから選択)Run as Administratorオプションを使用してインストーラPEMサーバーとのPostgresを起動した場合、証明書ファイルの所有者がAdministratorsになります。

  • Windowsでファイルのアクセス許可を確認および変更するには、ファイル名前を右クリックして、Propertiesを選択します。

The Security tab ** The Security tab **

  • Securityタブに移動し、Group or user nameを強調ビュー、割り当てられた権限を表示します。 EditまたはAdvancedを選択して、選択したユーザに関連付けられている権限を変更できるダイアログにアクセスします。
  1. postgresql.confファイルには、サーバーの動作を指定するパラメータ設定が含まれています。古いサーバーのpostgresql.confファイルで指定された構成とマッチするように、新しいサーバーのpostgresql.confファイルを変更する必要があります。

デフォルトでは、postgresql.confファイルは次の場所にあります。

    • Postgresのバージョンについて/opt/PostgreSQL/<X>/dataに、Linux上で10よりも低い- Postgresのバージョン10以上の場合は、Linux上のグラフィカルインストーラでインストールしたとき、/opt/PostgreSQL/<X>/dataに- Postgresのバージョン10以上の場合はLinuxのRPMでインストールしたとき、/usr/pgsql/<X>/dataに-任意のPostgresについてWindowsのバージョン、C:\Program Files\PostgreSQL\<X>\data
  • ここで、<X>はシステム上のPostgresのバージョンです。

  • 選択したエディタを使用して、新しいサーバーのpostgresql.confファイルを更新します。以下のパラメーターを変更します。

  • -オリジナルのバックエンドデータベース(通常は5432)によって監視されているポートで監視するする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ファイルを注意深く確認して、新しいサーバーの構成が古いサーバーの構成と一致することを保証します。

  1. pg_hba.confファイルには、サーバーがホストベース認証を実施する方法を指定するパラメータ設定が含まれています。 PEMサーバーをインストールすると、インストーラはpg_hba.confファイルを変更し、ファイルの先頭にエントリを追加しファイル。

    • # Adding entries for PEM Agens 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 Agens 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ファイルは次の場所にあります。

    • Postgresのバージョンについて/opt/PostgreSQL/<X>/dataで、Linux上で10より低い- Postgresのバージョン10以上の場合は、Linux上のグラフィカルインストーラでインストールする場合、/Opt/PostgreSQL/<X>/dataに- Postgresのバージョン10以上の場合は、Linux上のRPMをインストールしたとき、/var/lib/pgsql/<X>/dataに- Advanced Server>について10以上で/var/lib/edb/as<X>/data Linuxでは、上のRPMでインストール- C:\Program Files\PostgreSQL\<X>\dataに、Windows上のための任意のPostgresのバージョン
  • ここで、<X>はシステム上のPostgresのバージョンです。

  • 選択したエディタを使用して、古いサーバーのpg_hba.confファイルから新しいサーバーのpg_hba.confファイルにエントリをコピーします。

8.新しいバックエンドデータベースのサービスを再起動します。

  • RHELまたはCentOS 7.xまたは8.xで、コマンドラインを開き、スーパーユーザのIDを引き継ぎます。次のコマンドを入力します。
systemctl stop <service_name>
  • service_nameは、バックエンドデータベースサーバの名前です。

Windowsを使用している場合は、Servicesダイアログを使用してサービスを制御できます。 Servicesダイアログを開くには、Control PanelからSystem and Securityメニューに移動します。 Administrative Toolsを選択し、Servicesアイコンをダブルクリックします。 Servicesダイアログが開いたら、リストでサービス名前を強調表示し、ダイアログで提供されているオプションを使用してサービスをスタートします。

Moving the Postgres Enterprise Manager Server

このセクションの手順では、PEMサーバーをあるホストマシンから新しいホストマシンに移動する方法について説明します。新しいホスト(ターゲット)上のPEMサーバーは、オリジナルのホスト(ソース)と同じバージョンのPEMサーバーインストーラでインストールする必要があります。同じインストーラバージョンを使用しない場合、スキーマミスマッチエラーが発生する可能性があることにノートてください。

ターゲットサーバのバックエンドデータベース(PostgreSQLやAdvanced Serverのいずれか)は、同じタイプおよびバージョン、またはソースPEMサーバのバックエンドデータベースとは異なるタイプとバージョンのものであってもよいです。 PostgreSQLホスト上にあるPEMサーバーは、 Advanced Serverホストに移行できます。その逆も可能です。

サーバーの移行を開始する前に、ソース>、ターゲットホスト、および任意のPEMエージェントのホスト間のファイアウォールは、サービス間の接続を許可することを保証てください。

1.ターゲットホストの準備

  • ターゲットホストでPEMサーバーのインストーラを起動します。ソースPEMサーバーのインストール時に使用したものと同じバージョンのPEMサーバーインストーラを使用する必要があることにノートてください。

  • ターゲットサーバのバックエンドデータベースは、ソースのバックエンドデータベースとは異なるバージョンまたはタイプであり得ます。新しいPEMサーバーがオリジナルのサーバーと同じタイプのバックエンドデータベースに存在しない場合、sslutils拡張機能の同じバージョンが新しいサーバホストにインストールされている保証必要があります。 PEMインストーラーと共に配布されるsslutilsのバージョンは、次のEDB ウェブサイトから無料でダウンロード。

  • https://www.enterprisedb.com/downloads/modified-gpl-source-code

  • PEMサーバーまたはsslutils拡張機能のインストールについては、次の場所にあるPEM Installation Guidesを参照してください。

  • https://www.enterprisedb.com/docs/p/edb-postgres-enterprise-manager

2.新しいPEMサーバーから既存のスキーマを削除する

移行プロセスにより、ターゲットPEMサーバー上のソースPEMサーバーからpem、pemdata、およびpemhistoryスキーマが再作成されます。移動の準備として、psqlクライアントを使用して、これらのスキーマをターゲットホストのpemデータベースから削除します。コマンドラインでpsqlクライアントを開くか、Postgres Enterprise ManagerメニューからSQL Shell (psql)を選択します。

  • psqlクライアントが開いたら、pemバックエンドデータベースにデータベーススーパーユーザとして接続します。ターゲットホストのpemデータベースに接続した後、次のコマンドを使用してスキーマを削除します。
DROP SCHEMA pem CASCADE;

DROP SCHEMA pemdata CASCADE;

DROP SCHEMA pemhistory CASCADE;
  • スキーマを削除するときは、CASCADEキーワードを含めて、すべての依存オブジェクトを削除するようサーバーに指示する必要があります。コマンドを実行すると、psqlクライアントは依存オブジェクトのリストを表示します。クライアントは、DROP SCHEMAを表示して、スキーマが削除されることを確認します。

3.新しいPEMサーバーでPEMエージェントを準備する

  • PEMサーバーを移動する前に、ソースPEMサーバーによって監視されているエージェントの数を特定し、ターゲットサーバーでその数のエージェント(1つ未満)のIDを作成する必要があります。 PEMサーバーによって監視されるPEMエージェントの総数を検出するには、psqlクライアントを使用してソースホスト上のpemデータベースに接続し、pem.agentテーブルをクエリーします。
SELECT id FROM pem.agent WHERE active = true;

オリジナルのPEMサーバーにあるエージェントの数を1つ少なくして手動で作成する必要があります。 PEMサーバーインストーラは、ターゲットホスト上に1つのエージェントをすでに作成しています。ソースサーバが3つのエージェントが含まれている場合例、あなたは手動で二つの追加のエージェントを作成する必要があります。ターゲットサーバー上のpemデータベースでpsqlセッションを開き、必要なエージェントを作成します。次のコマンドを使用します。

CREATE USER agent<X>;
  • <X>はエージェント番号を指定します。 agent1は、PEMサーバーインストーラによってターゲットホスト上に作成されます。

  • 次に、GRANTコマンドを使用して、ターゲットPEMサーバーにある各エージェントにpem_agent権限を割り当てます。

GRANT pem_agent TO agent<X>;
  • ここで、<X>はエージェント番号を指定します。

4.ソースPEMサーバーのバックアップスクリプトを生成する

  • pg_dumpユーティリティを使用して、ターゲットホストでpemデータベースを再作成するために必要なコマンドを含むスクリプトを生成できます。デフォルトでは、pg_dumpはPostgresインストールのbinディレクトリにインストールされます。 pg_dumpを呼び出すには、コマンドラインを開き、binディレクトリに移動して、次のように入力します。
pg_dump -U <user_name> <db_name> > <file_name>
  • どこで:

  • -<user_name>は、PEMバックエンドデータベースのデータベーススーパーユーザの名前を指定します。 -<db_name>は、PEMバックエンドデータベースの名前を指定します。 -<file_name>は、pg_dumpによって生成されたスクリプトの名前を指定します。

  • プロンプトが表示されたら、指定したユーザに関連付けられたパスワードます。

  • 示されているコマンドは、pg_dumpに(実行時に)pemデータベースを再作成するスクリプトを生成するように指示します。スクリプトの名前付けはbackup.sqlで、tmpディレクトリに作成されます。 pg_dumpは、ユーザpostgresの資格情報を使用してサーバーに接続しています。

  • pg_dumpユーティリティを呼び出しても、現在のデータベースユーザーは中断されないことに注意してください。

  • !!! Note

  • ソースPEMサーバーが7.16バージョンよりも低い場合、pg_dumpを実行してバックアップを取る前に、次の関数を置き換える必要があります。

  • -abstime、reltime、およびtintervalデータ型はPostgresバージョン12以降では非推奨です。したがって、これらのデータ型をtimestamptzデータタイプに置き換えるには、以下のコマンドを使用します。

DO
$$
DECLARE
   *   rec record;
   *   cnt integer;
BEGIN
   *   -- Check for the deprecated type in our user info probe
   *   SELECT count(*) INTO cnt
   *   FROM pem.probe_column
   *   WHERE sql_data_type = ‘abstime’ AND internal_name = ‘valuntil’;
   *     IF cnt = 0 THEN
   *       RETURN;
   *     END IF;
   *   ALTER TABLE pemdata.user_info
   *     ALTER COLUMN valuntil SET DATA TYPE timestamptz;
   *   ALTER TABLE pemhistory.user_info
   *     ALTER COLUMN valuntil SET DATA TYPE timestamptz;
   *   -- Now update the pem.probe_column itself
   *   UPDATE pem.probe_column
   *   SET sql_data_type = ‘timestamptz’
   *   WHERE sql_data_type = ‘abstime’ AND internal_name = ‘valuntil’;
END;
$$ LANGUAGE ‘plpgsql’;
  • -以下のファンクションを置き換えて、アラートエラーを回避します。
CREATE OR REPLACE FUNCTION pem.check_alert_params_array_size(
template_id pem.alert_template.id%type, params text[]
)
RETURNS bool AS $FUNC$
DECLARE
   * res bool := TRUE;
BEGIN
   * /*
   *  * During restoring the pem database, it does not maintain the order while
   *  * inserting data in the table, and uses the sort table based on the
   *  * names.
   *  * Hence - we need to check the foreign key constraint is present before
   *  * validating these values.
   *  */
 IF EXISTS(
   * SELECT 1 FROM information_schema.table_constraints
   * WHERE constraint_name='alert_template_id_fkey' AND
   * table_name='alert' AND table_schema='pem'
 ) THEN
   * /*
   *  * Need to use the IS TRUE construct outside the main query, because
   *  * otherwise if there's no template by that ID then the query would return
   *  * 0 rows and the result of the function would be undefined and CHECK
   *  * constraint would succeed.
   *  * Probably this is being over-cautious, because pem.alert.template_id
   *  * references pem.alert_template.id. But the SQL standard (probably) does
   *  * not define the order in which the CHECK or the FOREIGN KEY constraints
   *  * should be validated; in case CHECK is validated first, we want it to
   *  * fail.
   *  */
EXECUTE $SQL$
   *   SELECT (
   *       SELECT pem.check_array_size_equal(t.param_names, $2)
   *       FROM pem.alert_template AS t
   *       WHERE id = $1
   *   ) IS TRUE
   * $SQL$ INTO res USING template_id, params;
END IF;
 RETURN res;
END
$FUNC$ LANGUAGE 'plpgsql';

5.バックアップをターゲットホストに移動する

  • pg_dumpユーティリティによって生成されたスクリプトをPEMサーバーのターゲットホストに移動します。

6.ターゲットホストでバックアップを復元する

  • ターゲットホストでコマンドラインを開き、binディレクトリ( Postgresバックエンドデータベースインストレーションディレクトリ)に移動します。 pg_dumpユーティリティによって生成されたスクリプトを実行して、psqlを起動します。
psql -U <user_name> -d pem -f <file_name>
  • どこで:

  • -<user_name>は、データベーススーパーユーザの名前を指定します。指定されたユーザは、バックエンドデータベースの接続特権を持っている必要があります。 -<file_name>は、pg_dumpによって生成されたバックアップスクリプトへの完全なパスを指定します。

  • プロンプトが表示されたら、データベーススーパーユーザに関連付けられたパスワードます。

  • この例では、psqlクライアントを使用してbackup.sql名前付けのスクリプトを呼び出し、pemデータベースを再作成します。スクリプトは、データベーススーパーユーザpostgresに関連付けられた特権を使用して呼び出されます。

7.ターゲットホスト上のデータベースサーバーを停止する

  • CentOSまたはRHEL 7.xまたは8.xでPEMサーバーを停止するには、次のコマンドを使用します。
systemctl stop <service_name>
  • ここで、<service_name>はバックエンドデータベースサーバの名前を指定します。 PostgreSQLバックエンドデータベースの場合、サービス名前はpostgresql-<x>であり、 Advanced Serverバックエンドデータベースの場合、サービス名前はedb-as-<X>です(<X>はバージョン番号を指定します)。

Windowsを使用している場合は、Servicesダイアログを使用してサービスを制御できます。 Servicesダイアログを開くには、Control PanelからSystem and Securityメニューに移動します。 Administrative Toolsを選択し、Servicesアイコンをダブルクリックします。 Servicesダイアログが開いたら、リスト内のサービス名前を強調表示し、ダイアログされるオプションを使用してサービスを停止します。

8.証明書ファイルをターゲットホストにコピーします

  • ターゲットホストのインストール時に作成される証明書ファイルを、ソースホストの証明書ファイルに置き換える必要があります。次のファイルをソースPEMサーバーからターゲットPEMサーバーにコピーします。

  • -ca_certificate.crt-ca_key.key-root.crt-root.crl-server.key-server.crt

  • ターゲットクラスタのバックエンドデータベースを提供するPostgresインストールの下のdataディレクトリにファイルをコピーします。

  • Linuxでは、ファイルは次の場所にあります。

/var/lib/pgsql/<X>/data/

Windowsでは、ファイルは次の場所にあります。

C:\Program Files\PostgreSQL\<X>\data
  • どこで:

  • <X>は、システム上のPostgresSQLのバージョンを指定します。

  • ファイルはターゲットクラスタにすでに存在します。コピーを実行する前に既存のファイルを削除するか、既存のファイルをソースサーバーのファイルで上書きします。ターゲットサーバーに配置したら、ファイルには、以降のセクションで説明する(プラットフォーム固有の)権限が必要です。

  • ** Linuxでの許可と所有権**

  • ファイル名 | 所有者 | 許可 | | —————— | ——— | ————— | | ca_certificate.crt |ポストグレス| -rw ——- | | ca_key。キー|ポストグレス| -rw ——- | |ルート.crt |ポストグレス| -rw ——- | |ルート.crl |ポストグレス| -rw ——- | |サーバー。キー|ポストグレス| -rw ——- | | server.crt |ポストグレス| -rw-r–r– |
  • Linuxでは、証明書ファイルはpostgresが所有する必要があります。コマンドラインで次のコマンドを使用して、ファイルの所有権を変更できます。

chown postgres <file_name>
  • file_nameは、証明書ファイルの名前を指定します。

  • server.crtファイルは、ファイルの所有者のみが変更できますが、すべてのユーザが読み取ることができます。次のコマンドを使用して、server.crtファイルのファイル許可を設定できます。

chmod 644 server.crt
  • 他の証明書ファイルは、ファイルの所有者のみが変更または読み取ることができます。次のコマンドを使用して、ファイルのアクセス許可を設定できます。
chmod 600 <file_name>
  • file_nameはファイルの名前を指定します。

Windowsでの権限と所有権

Windows、ソースホストから移動した証明書ファイルは、ターゲットホストでPEMサーバーとバックエンドデータベースインストレーションを実行したサービスアカウントが所有している必要があります。あなたは(インストーラのコンテキストから選択)Run as Administratorオプションを使用してインストーラPEMサーバーとのPostgresを起動した場合、証明書ファイルの所有者がAdministratorsになります。

  • Windowsでファイルのアクセス許可を確認および変更するには、ファイル名前を右クリックして、Propertiesを選択します。

The Permissions tab ** The Permissions tab **

  • Securityタブに移動し、Group or user nameを強調ビュー、割り当てられた権限を表示します。 EditまたはAdvancedを選択して、選択したユーザに関連付けられている権限を変更できるダイアログにアクセスします。
  1. PEMエージェント証明書ファイルをPEMサーバーホストに移動する

ソースPEMサーバーのPEMエージェントが使用する証明書ファイルをターゲットホストに移動する必要があります。このステップはプラットフォーム固有です。

  • ** Linuxで**

  • agent1.keyおよびagent1.crtファイルをソースホストからターゲットホストにコピーします。デフォルトでは、Linuxでは、ファイルは/root/.pemにインストールされます。ファイルをターゲットホスト上の同じディレクトリにコピーします。

  • ファイルのファイル所有権とアクセス許可は、次のように設定する必要があります。

  • ファイル名 | 所有者 | 許可 | | ————- | ——— | ————— | |エージェント1。キー|ルート| -rw ——- | | agent1.crt |ルート| -rw-r–r– |
  • 必要に応じて、/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 as Administratorオプションを使用してインストーラPEMサーバーとのPostgresを起動した場合、エージェントの証明書ファイルの所有者がAdministratorsになります。

  • Windowsでファイルのアクセス許可を確認および変更するには、ファイル名前を右クリックして、Propertiesを選択します。 Securityタブに移動し、Group or user nameを強調ビュー、割り当てられた権限を表示します。 EditまたはAdvancedを選択して、選択したユーザに関連付けられている権限を変更できるダイアログにアクセスします。

10.ターゲットホスト上のpg_hba.confファイルを更新します

  • ターゲットホスト上のpg_hba.confファイルを変更して、各PEMエージェントからの接続を許可します。デフォルトでは、pg_hba.confファイルはPostgresインストールのデータディレクトリにあります。

11.ターゲットホストでサーバーを起動します

  • pg_hba.confファイルを変更た後、サーバーをリスタートして変更を有効にする必要があります。

  • Linuxでデータベースサーバをリスタートするには、次のコマンドを使用します。

/etc/init.d/<service_name> start
  • service_nameは、バックエンドデータベースサーバの名前です。

Windowsを使用している場合は、Servicesダイアログを使用してサービスを制御できます。 Servicesダイアログを開くには、Control PanelからSystem and Securityメニューに移動します。 Administrative Toolsを選択し、Servicesアイコンをダブルクリックします。 Servicesダイアログが開いたら、リストでサービス名前を強調表示し、ダイアログされるオプションを使用してサービスを開始します。

12.監視対象エージェントを新しいPEMサーバーホストに接続する

  • 既存のPEMエージェントに新しいPEMサーバホストに接続するよう指示するには、次の手順を実行する必要があります。

  • -PEMエージェントホストが新しいPEMサーバホストに接続できることを確認します。 -新しいPEMサーバーのIPアドレスとポートを指定して、レジストリ(PEMエージェントを含む各Windowsホスト)またはエージェント構成ファイル(PEMエージェントを含む各Linuxホスト)を変更します。 -PEMエージェントのサービスを再起動します。これらの手順はプラットフォーム固有です:–

  • ** PEMエージェントがLinux上にある場合**

  • 選択したエディタを使用してagent.cfgファイルを変更し、pem_hostおよびpem_portパラメーターでPEMサーバーの新しいIPアドレスとポート番号を指定します。

デフォルトでは、agent.cfgファイルは次の場所にあります。

  • /usr/edb/pem/agent/etc/agent.cfg
The agent.cfg file
  • 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と入力します。レジストリツリーコントロールをナビゲートして、レジストリエントリをビューまたは変更します。

  • 64ビットWindowsでは、PEMエージェントのレジストリエントリは次の場所にあります。

  • HKEY_LOCAL_MACHINE SOFTWARE wow6432Mode EnterpriseDB PEM Agent

  • 32ビットWindowsでは、PEMエージェントのレジストリエントリは次の場所にあります。

  • HKEY_LOCAL_MACHINE SOFTWARE EnterpriseDB PEM Agent

The Windows Registry Editor
  • PEM_HOSTおよびPEM_PORTエントリは、ターゲットホスト上の新しいPEMサーバーのアドレスとポート番号を指定する必要があります。レジストリエントリーを変更するには、エントリーNameを右クリックし、コンテキストメニューからModifyを選択してEdit Stringダイアログを開きます。
The Windows Registry Editor
  • エントリーの値をmakeするEdit Stringダイアログを使用してください。完了したら、OKをクリックして変更を保存するか、Cancelをクリックして保存せずに終了します。

  • レジストリを変更た後、PEMエージェントのサービスをリスタートする必要があります。 Servicesダイアログ( Windows Control Panelからアクセス)を使用して、Postgres Enterprise Manager - pemagentサービスをリスタートできます。

Restarting the PEM Agent service ** Restarting the PEM Agent service **

  • サーバーを移動した後、インストールされているPEMクライアントの接続プロパティを変更して、PEMサーバー、エージェント、監視対象サーバーの新しいホストに接続します。

Troubleshooting