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"