TPA installation
================

TPAを使用するには、パッケージまたはソースからインストールし、
``tpaexec setup``
コマンドを実行する必要があります。このドキュメントでは、TPAパッケージをインストールする方法について説明します。
EDBサブスクリプションプランがあり、したがってEDBリポジトリにアクセスできる場合は、次の手順に従う必要があります。ソースからTPAをインストールするには、
 :ref:`Installing TPA from source <Installing TPA from source>`  を参照してください。

サポートされているプラットフォームについては、
 :ref:`配布サポート <配布サポート>` を参照してください。

..  Note::
   さまざまなことが失敗するため、システムに正しい日付と時刻が設定されていることを絶対に確認してください。 `sudo ntpdate pool.ntp.org` などのネットワーク時間を使用することをお勧めします

クイックスタート
----------------

 `EDB Repos 2.0 <https://www.enterprisedb.com/repos-downloads>`_ にログイン

あなたのトークンを取得します。次に、次のコマンドを実行し、
``<your-token>`` をトークンに置き換え、 ``<your-plan>``
を、サブスクライブしているEDBプランに応じて次のいずれかで置き換えます。\ ``enterprise``
、\ ``standard`` 、\ ``community360`` 、\ ``postgres_distributed`` 。

DebianまたはUbuntuにリポジトリを追加し、TPAをインストールする
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

.. code:: bash

   curl -1sLf https://downloads.enterprisedb.com/<your-token>/<your-plan>/setup.deb.sh | sudo -E bash
   sudo apt-get install tpaexec

RHEL、Rocky、AlmaLinux、またはOracle Linuxにリポジトリを追加し、TPAをインストールします
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

.. code:: bash

   curl -1sLf https://downloads.enterprisedb.com/<your-token>/<your-plan>/setup.rpm.sh | sudo -E bash
   sudo yum install tpaexec

追加の依存関係をインストールする
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

.. code:: bash

   sudo /opt/EDB/TPA/bin/tpaexec setup

インストールを確認します（通常ユーザーとして実行）
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

.. code:: bash

   /opt/EDB/TPA/bin/tpaexec selftest

各ステップのより詳細な説明は以下に記載されています。

TPAをインストールする場所
-------------------------

サポートされているプラットフォームを使用している限り、TPAをワークステーションからインストールして実行できます。これは、学習、ローカルテスト、またはデモンストレーションの目的には適しています。
TPAは :ref:`deploying to Docker containers <Docker>` をサポート

自分のワークステーションで完全な展開を実行したい場合。

運用環境で使用する場合は、専用の永続的な仮想マシンでTPAを実行することをお勧めします。これにより、クラスターディレクトリが保持され、将来のクラスター管理または更新のためにチームが使用できるようになるため、これをお勧めします。また、これは、TPAの1つのコピーを更新するだけでよく、単一のTPAホストからターゲットインスタンスへのネットワークアクセスを提供するだけでよいことを意味します。

TPAパッケージのインストール
---------------------------

TPAをインストールするには、最初にそれを提供するEDBリポジトリにサブスクライブする必要があります。リポジトリの推奨ソースはEDB
Repos 2.0です。

 `EDB Repos 2.0 <https://www.enterprisedb.com/repos-downloads>`_ にログイン

あなたのトークンを取得します。次に、次のコマンドを実行し、
``<your-token>`` をトークンに置き換え、 ``<your-plan>``
を、サブスクライブしているEDBプランに応じて次のいずれかで置き換えます。\ ``enterprise``
、\ ``standard`` 、\ ``community360`` 、\ ``postgres_distributed`` 。

DebianまたはUbuntuにリポジトリを追加する
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

.. code:: bash

   curl -1sLf https://downloads.enterprisedb.com/<your-token>/<your-plan>/setup.deb.sh | sudo -E bash

RHEL、Rocky、AlmaLinux、またはOracle Linuxにリポジトリを追加します
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

.. code:: bash

   curl -1sLf https://downloads.enterprisedb.com/<your-token>/<your-plan>/setup.rpm.sh | sudo -E bash

または、従来の2ndQuadrantリポジトリからTPAを取得できます。これを行うには、EDBカスタマーサポートポータルにログインし、
 `products/tpa/release <https://techsupport.enterprisedb.com/software_subscriptions/add/products/tpa/>`_ にサブスクライブします

Support/Software/Subscriptionsの下にサブスクリプションを追加し、指示に従ってシステムでリポジトリを有効にします。

これらのリポジトリのいずれかを有効にしたら、次のようにTPAをインストールできます。

DebianまたはUbuntuにインストールする
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

.. code:: bash

   sudo apt-get install tpaexec

RHEL、Rocky、AlmaLinuxまたはOracle Linuxにインストール
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

.. code:: bash

   sudo yum install tpaexec

これにより、TPAが\ ``/opt/EDB/TPA``
にインストールされます。また、他の必要なパッケージ（Python
3.6以降など）がインストールされていることも確認します。

ここでは、どのコマンドにroot権限が必要かを示すためにのみ、 ``sudo``
について言及します。他の方法を使用して、ルートとしてコマンドを実行できます。

TPA Python環境のセットアップ
----------------------------

次に、 ``tpaexec setup``
を実行して分離されたPython環境を作成し、必要なすべてのモジュールの正しいバージョンをインストールします。

..  Note::
   20.04より前のUbuntuバージョンでは、 `sudo -H tpaexec setup` を使用して、 `tpaexec configure` 中の後続の許可エラーを回避してください

.. code:: bash

   sudo /opt/EDB/TPA/bin/tpaexec setup

``/opt/EDB/TPA``
に書き込むため、これをrootとして実行する必要がありますが、このプロセスは、インストールしたシステム全体のPythonモジュール（Ansibleを含む）には影響しません。

通常\ ``tpaexec`` コマンドを実行するユーザーの\ ``PATH``
に\ ``/opt/EDB/TPA/bin``
を追加します。たとえば、これを.bashrcまたは同等のシェル構成ファイルに追加できます。

.. code:: bash

   export PATH=$PATH:/opt/EDB/TPA/bin

インターネットまたはネットワークアクセスなしでTPAをインストールする（エアギャップ）
-----------------------------------------------------------------------------------

このセクションでは、EDBリポジトリ、Pythonパッケージインデックス、またはその両方にアクセスできないサーバーにTPAをインストールする方法について説明します。このような環境でのTPAの使用方法については、
 :ref:`Managing clusters in a disconnected or air-gapped environment <Managing clusters in a disconnected or air-gapped environment>` をご覧ください

TPAパッケージのダウンロード
^^^^^^^^^^^^^^^^^^^^^^^^^^^

TPAをインストールする必要があるサーバーからEDBリポジトリに直接アクセスできない場合は、インターネットに接続されたマシンからパッケージをダウンロードして転送できます。これを達成するにはいくつかの方法があります。

インターネットに接続されたマシンがターゲットと同じオペレーティングシステムを使用している場合は、
``yumdownloader`` （RHEL風）または\ ``apt download``
（Debian風）を使用してパッケージをダウンロードすることをお勧めします。

これが不可能な場合は、EDBサポートに連絡してください。サブスクリプションに適したダウンロードリンクまたは手順を提供します。

Pythonパッケージインデックスにアクセスせずにインストールする
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

``tpaexec setup``
を実行すると、通常、PythonパッケージインデックスからPythonパッケージがダウンロードされます。あなたの環境が別のインデックスを提供しない限り、デフォルトは公式の
 `PyPI <https://pypi.org>`_ 
です。パッケージインデックスが利用できない場合は、インストールした\ ``tpaexec``
と同じ方法で\ ``tpaexec-deps``
パッケージをインストールする必要があります。 ``tpaexec-deps``
パッケージ（tpaexecと同じリポジトリから入手可能）は、ダウンロードされるすべてのものをバンドルしているため、ネットワークにアクセスせずにインストールできます。
``tpaexec setup``
を実行する前にパッケージをインストールするだけで、バンドルされたコピーが自動的に使用されます。

TPAのインストールの確認
-----------------------

上記の手順をすべて完了したら、次のコマンドを実行してローカルインストールを確認します。

.. code:: bash

   tpaexec selftest

そのコマンドがエラーなしで完了した場合、TPAインストールを使用する準備が整います。

TPAのアップグレード
-------------------

TPAの新しいリリースにアップグレードするには、以下を行う必要があります。

1.最新の\ ``tpaexec`` パッケージをインストールします

2.最新の\ ``tpaexec-deps``
パッケージをインストールします（必要な場合。上記を参照）

3. ``tpaexec setup`` を再度実行します

上記のようにTPAパッケージリポジトリをサブスクライブしている場合
``apt-get update && apt-get upgrade`` または\ ``yum update``
を実行すると、これらのパッケージの利用可能な最新バージョンがインストールされます。そうでない場合は、利用可能な任意の手段でパッケージをインストールできます。

``tpaexec`` の新しいバージョンがインストールされるたびに、
``tpaexec setup``
を再度実行することをお勧めします。一部の新しいリリースでは、これを厳密に必要としない場合がありますが、他のリリースではこれがないと動作しません。

Ansibleコミュニティのサポート
-----------------------------

TPAはデフォルトでansibleのコミュニティディストリビューションを使用するようになりました。
``--use-2q-ansible`` オプションを\ ``tpaexec setup``
に渡すことで、2ndQuadrant /
ansibleフォークを引き続き使用できます。将来のTPAリリースでは、
2ndQuadrant ansible forkのサポートが削除されます。

ほとんどのユーザーにとって、これは違いはありません。ただし、2ndQuadrant
ansibleで\ ``--skip-tags``
を使用している場合、これはサポートされていないことに注意してください
2ndQuadrant
ansibleのサポートが削除される前に、すべてのansibleバージョンと互換性のあるタスクをスキップする代替手段が提供されます。
