Installing TPA from source

このドキュメントでは、ソースコードリポジトリのコピーからTPAを使用する方法について説明します。

できれば install TPA from packages してください。システムで利用可能なパッケージがない場合(MacOS Xなど)、またはTPA開発者と協力して未リリースのコードをテストする場合にのみ、ソースからインストールします。

ソースからTPAを実行するには、パッケージが処理するすべての依存関係(Python 3.6以降など)をインストールするか、ソースと run TPA in a Docker container をダウンロードする必要があります。 (どちらの方法でも、LinuxおよびMacOS Xでは正常に動作します。)

クイックスタート

まず、TPAパッケージとともに自動的にインストールされるさまざまな依存関係をインストールする必要があります。 (必要に応じて、 sudo 以外のものを使用して、これらのコマンドをrootとして実行できます。)

#  Debian (python3.7) or Ubuntu (python3.6)

$ sudo apt-get install python3.7 python3-pip python3-venv \
      git openvpn patch

#  RedHat, Rocky or AlmaLinux (python3 for RHEL7, python36 for RHEL8)

$ sudo yum install python36 python3-pip \
      epel-release git openvpn patch

#  MacOS X

$ brew tap discoteq/discoteq
$ brew install python@3 openvpn flock coreutils gpatch git

次に、TPA自分自身をインストールします。

$ git clone ssh://git@github.com/EnterpriseDB/tpaexec.git
$ ./tpaexec/bin/tpaexec setup
$ ./tpaexec/bin/tpaexec selftest

ステップバイステップ

上記のように、さまざまな依存関係をインストールします。

システムにPython 3.6+パッケージがない場合は、 pyenv を使用して、より新しいPythonをホームディレクトリにインストールできます(下記参照)。または、

run TPA in a Docker container ことができます。

次に、TPAリポジトリを~/tpaexec などに複製します。 (どこに置いてもかまいませんが、将来TPAパッケージをインストールする場合の競合を回避するために、 /opt/EDB/TPA または/opt/2ndQuadrant/TPA を使用しないでください。)

$ git clone ssh://git@github.com/EnterpriseDB/tpaexec.git ~/tpaexec

(ソースからインストールする場合は、ソースのアーカイブをダウンロードする代わりに、リポジトリをクローンしてください。)

残りの手順は、パッケージをインストールした場合と同じです。

#  Add tpaexec to your PATH for convenience

#  (Put this in your ~/.bashrc too)

$ export PATH=$PATH:$HOME/tpaexec/bin

$ tpaexec setup
$ tpaexec selftest

セルフテストがエラーなしで完了した場合、TPAインストールを使用する準備が整います。

Python 3.6+

TPAには、最新のディストリビューションのほとんどで利用可能なPython 3.6以降が必要です。お持ちでない場合は、 pyenv を使用して、システムパッケージに影響を与えることなく、好きなバージョンのPythonをインストールできます。

#  First, install pyenv and activate it in ~/.bashrc
#  See https://github.com/pyenv/pyenv#installation
#  (e.g., `brew install pyenv` on MacOS X)

$ pyenv install 3.9.0
Downloading Python-3.9.0.tar.xz...
- > https://www.python.org/ftp/python/3.9.0/Python-3.9.0.tar.xz
Installing Python-3.9.0...
Installed Python-3.9.0 to /home/ams/.pyenv/versions/3.9.0

$ pyenv local 3.9.0
$ pyenv version
3.9.0 (set by /home/ams/pyenv/.python-version)

$ pyenv which python3
/home/ams/.pyenv/versions/3.9.0/bin/python3
$ python3 --version
3.9.0
まだpyenvを使用していない場合は、 .bashrc のPATHに pyenv を追加し、

pyenv documentation で説明されているように eval "$(pyenv init -)"

を呼び出すことを忘れないでください。

仮想環境オプション

デフォルトでは、 tpaexec setup は組み込みのPython 3 -m venv を使用して$TPA_DIR/tpa-venv の下にvenvを作成し、 tpaexec が呼び出されるたびに自動的にアクティブ化します。

tpaexec setup --venv /other/location を実行して、新しいvenvの別の場所を指定できます。

デフォルトのvenvロケーションに固執することを強くお勧めします。別の場所を使用する場合は、たとえば、次の行を.bashrc(または他のシェル起動スクリプト)に追加して、環境変数TPA_VENVをその場所に設定する必要があります。

export TPA_VENV="/other/location"