repmgr 4.3 Documentation | |||
---|---|---|---|
Prev | Up | Chapter 2. Installation | Next |
To install repmgr the prerequisites for compiling PostgreSQL must be installed. These are described in PostgreSQL's documentation on build requirements and build requirements for documentation.
Most mainstream Linux distributions and other UNIX variants provide simple ways to install the prerequisites from packages.
Debian and Ubuntu: First add the apt.postgresql.org repository to your sources.list if you have not already done so, and ensure the source repository is enabled.
Tip: If not configured, the source repository can be added by including a deb-src line as a copy of the existing deb line in the repository file, which is usually /etc/apt/sources.list.d/pgdg.list, e.g.:
deb http://apt.postgresql.org/pub/repos/apt/ stretch-pgdg main deb-src http://apt.postgresql.org/pub/repos/apt/ stretch-pgdg main
Then install the prerequisites for building PostgreSQL with e.g.:
sudo apt-get update sudo apt-get build-dep postgresql-9.6
Important: Select the appropriate PostgreSQL version for your target repmgr version.
Note: If using apt-get build-dep is not possible, the following packages may need to be installed manually:
- libedit-dev
- libkrb5-dev
- libpam0g-dev
- libreadline-dev
- libselinux1-dev
- libssl-dev
- libxml2-dev
- libxslt1-dev
RHEL or CentOS 6.x or 7.x: install the appropriate repository RPM for your system from yum.postgresql.org. Then install the prerequisites for building PostgreSQL with:
sudo yum check-update sudo yum groupinstall "Development Tools" sudo yum install yum-utils openjade docbook-dtds docbook-style-dsssl docbook-style-xsl sudo yum-builddep postgresql96
Important: Select the appropriate PostgreSQL version for your target repmgr version.
Note: If using yum-builddep is not possible, the following packages may need to be installed manually:
- libselinux-devel
- libxml2-devel
- libxslt-devel
- openssl-devel
- pam-devel
- readline-devel
Tip: If building against PostgreSQL 11 or later configured with the --with-llvm option (this is the case with the PGDG-provided packages) you'll also need to install the llvm-toolset-7-clang package. This is available via the Software Collections (SCL) Repository.
There are two ways to get the repmgr source code: with git, or by downloading tarballs of released versions.
Use git if you expect to update often, you want to keep track of development or if you want to contribute changes to repmgr. There is no reason not to use git if you're familiar with it.
The source for repmgr is maintained at https://github.com/2ndQuadrant/repmgr.
There are also tags for each repmgr release, e.g. v4.2.0.
Clone the source code using git:
git clone https://github.com/2ndQuadrant/repmgr
For more information on using git see git-scm.com.
Official release source code is uploaded as tarballs to the repmgr website along with a tarball checksum and a matching GnuPG signature. See http://repmgr.org/ for the download information. See Verifying digital signatures for information on verifying digital signatures.
You will need to download the repmgr source, e.g. repmgr-4.0.tar.gz. You may optionally verify the package checksums from the .md5 files and/or verify the GnuPG signatures per Verifying digital signatures.
After you unpack the source code archives using tar xf the installation process is the same as if you were installing from a git clone.
To installing repmgr from source, simply execute:
./configure && make install
Ensure pg_config for the target PostgreSQL version is in $PATH.
The repmgr documentation is (like the main PostgreSQL project) written in DocBook format. To build it locally as HTML, you'll need to install the required packages as described in the PostgreSQL documentation then execute:
./configure && make install-doc
The generated HTML files will be placed in the doc/html subdirectory of your source tree.
To build the documentation as a single HTML file, execute:
cd doc/ && make repmgr.html
Note: Due to changes in PostgreSQL's documentation build system from PostgreSQL 10, the documentation can currently only be built against PostgreSQL 9.6 or earlier. This limitation will be fixed when time and resources permit.