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

TPAを使用するには、パッケージまたはソースからインストールし、\ ``tpaexec setup``
コマンドを実行する必要があります。
EDBサブスクリプションプランを契約しており、EDBリポジトリにアクセスできる場合、次の手順に従ってTPAパッケージをインストールします。

ソースからTPAをインストールするには、 :ref:`ソースからのビルドとインストール <ソースからのビルドとインストール>` を参照してください。

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

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

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

トークンを取得するには、 `EDB Repos 2.0 <https://www.enterprisedb.com/repos-downloads>`_ 
にログインします。次に、次のコマンドを実行して、\ ``<your-token>``
のトークンを置き換えます。購読しているEDBプランに応じて、
``<your-plan>`` を次のいずれかに置き換えます。\ ``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>``
のトークンを置き換えます。購読しているEDBプランに応じて、
``<your-plan>`` を次のいずれかに置き換えます。\ ``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 repository <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.9以降などがインストールされていることも確認します。

ここでは、 root権限を必要とするコマンドを示すためにのみ\ ``sudo``
に言及しています。他の手段を使用して、rootとしてコマンドを実行できます。

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`` パッケージをインストールします必要な場合。
:ref:`Pythonパッケージインデックスへのアクセスを使用しないインストール <Pythonパッケージインデックスへのアクセスを使用しないインストール>` を参照してください。

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

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

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

Ansibleバージョン
-----------------

TPAは、デフォルトでAnsibleバージョン8 ansible-core 2.15を使用します。

TPAは、Ansible 9 ansible-core 2.16を実験的にサポートしています。これは、
``tpaexec setup`` への\ ``--ansible-version``
引数を使用して指定できます。 Python 3.10以降が必要であるため、edb-python
3.9がインストールされている場合は、\ ``tpaexec setup``
の実行時にPythonバージョンを明示的に設定する必要があります。

.. code:: bash

   PYTHON=/usr/bin/python3.10 tpaexec setup --ansible-version 9
