mirror of
https://github.com/EnterpriseDB/repmgr.git
synced 2026-03-28 09:26:29 +00:00
Add installation instructions
This commit is contained in:
5
doc/appendix-signatures.sgml
Normal file
5
doc/appendix-signatures.sgml
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
<appendix id="appendix-signatures" xreflabel="Verifying digital signatures">
|
||||||
|
<title>Verifying digital signatures</title>
|
||||||
|
|
||||||
|
<para>WIP</para>
|
||||||
|
</appendix>
|
||||||
@@ -13,6 +13,8 @@
|
|||||||
<!ENTITY % standalone-ignore "INCLUDE">
|
<!ENTITY % standalone-ignore "INCLUDE">
|
||||||
<!ENTITY % standalone-include "IGNORE">
|
<!ENTITY % standalone-include "IGNORE">
|
||||||
|
|
||||||
|
<!-- doc/filelist.sgml -->
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
By default, no index is included. Use -i include-index on the command line
|
By default, no index is included. Use -i include-index on the command line
|
||||||
to include it.
|
to include it.
|
||||||
@@ -29,3 +31,8 @@
|
|||||||
-->
|
-->
|
||||||
|
|
||||||
<!ENTITY overview SYSTEM "overview.sgml">
|
<!ENTITY overview SYSTEM "overview.sgml">
|
||||||
|
<!ENTITY install SYSTEM "install.sgml">
|
||||||
|
<!ENTITY install-requirements SYSTEM "install-requirements.sgml">
|
||||||
|
<!ENTITY install-packages SYSTEM "install-packages.sgml">
|
||||||
|
<!ENTITY install-source SYSTEM "install-source.sgml">
|
||||||
|
<!ENTITY appendix-signatures SYSTEM "appendix-signatures.sgml">
|
||||||
|
|||||||
32
doc/install-packages.sgml
Normal file
32
doc/install-packages.sgml
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
<sect1 id="installation-packages" xreflabel="Installing from packages">
|
||||||
|
<title>Installing &repmgr; from packages</title>
|
||||||
|
<para>
|
||||||
|
We recommend installing `repmgr` using the available packages for your
|
||||||
|
system.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<sect2 id="installation-packages-redhat" xreflabel="Installing from packages on RHEL, Fedora and CentOS">
|
||||||
|
<title>RedHat/Fedora/CentOS</title>
|
||||||
|
<para>
|
||||||
|
RPM packages for `repmgr` are available via Yum through
|
||||||
|
the PostgreSQL Global Development Group RPM repository
|
||||||
|
( <ulink url="http://yum.postgresql.org/">http://yum.postgresql.org/</>).
|
||||||
|
Follow the instructions for your distribution (RedHat, CentOS,
|
||||||
|
Fedora, etc.) and architecture as detailed at yum.postgresql.org.
|
||||||
|
</para>
|
||||||
|
<para>
|
||||||
|
2ndQuadrant also provides its own RPM packages which are made available
|
||||||
|
at the same time as each `repmgr` release, as it can take some days for
|
||||||
|
them to become available via the main PGDG repository. See here for details:
|
||||||
|
<ulink url="http://repmgr.org/yum-repository.html">http://repmgr.org/yum-repository.html</>
|
||||||
|
</para>
|
||||||
|
</sect2>
|
||||||
|
<sect2 id="installation-packages-debian" xreflabel="Installing from packages on Debian or Ubuntu">
|
||||||
|
<title>Debian/Ubuntu</title>
|
||||||
|
<para>.deb packages for `repmgr` are available from the
|
||||||
|
PostgreSQL Community APT repository (<ulink url="http://apt.postgresql.org/">http://apt.postgresql.org/</> ).
|
||||||
|
Instructions can be found in the APT section of the PostgreSQL Wiki
|
||||||
|
(<ulink url="https://wiki.postgresql.org/wiki/Apt">https://wiki.postgresql.org/wiki/Apt</> ).
|
||||||
|
</para>
|
||||||
|
</sect2>
|
||||||
|
</sect1>
|
||||||
67
doc/install-requirements.sgml
Normal file
67
doc/install-requirements.sgml
Normal file
@@ -0,0 +1,67 @@
|
|||||||
|
<sect1 id="install-requirements" xreflabel="installation requirements">
|
||||||
|
<title>Requirements for installing repmgr</title>
|
||||||
|
<para>
|
||||||
|
repmgr is developed and tested on Linux and OS X, but should work on any
|
||||||
|
UNIX-like system supported by PostgreSQL itself. There is no support for
|
||||||
|
Microsoft Windows.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
From version 4.0, repmgr is compatible with all PostgreSQL versions from 9.4, including PostgreSQL 10.
|
||||||
|
</para>
|
||||||
|
<para>
|
||||||
|
PostgreSQL 9.3 is supported by repmgr 3.3.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<note>
|
||||||
|
<simpara>
|
||||||
|
If upgrading from `repmgr 3`, please see the separate upgrade guide
|
||||||
|
`doc/upgrading-from-repmgr3.md`.
|
||||||
|
</simpara>
|
||||||
|
</note>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
All servers in the replication cluster must be running the same major version of
|
||||||
|
PostgreSQL, and we recommend that they also run the same minor version.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
`repmgr` must be installed on each server in the replication cluster.
|
||||||
|
If installing repmgr from packages, the package version must match the PostgreSQL
|
||||||
|
version. If installing from source, repmgr must be compiled against the same
|
||||||
|
major version.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
A dedicated system user for `repmgr` is *not* required; as many `repmgr` and
|
||||||
|
`repmgrd` actions require direct access to the PostgreSQL data directory,
|
||||||
|
these commands should be executed by the `postgres` user.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Passwordless `ssh` connectivity between all servers in the replication cluster
|
||||||
|
is not required, but is necessary in the following cases:
|
||||||
|
<itemizedlist>
|
||||||
|
<listitem>
|
||||||
|
<simpara>if you need `repmgr` to copy configuration files from outside the PostgreSQL
|
||||||
|
data directory (in which case `rsync` is also required)</simpara>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<simpara>to perform switchover operations</simpara>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<simpara>when executing `repmgr cluster matrix` and `repmgr cluster crosscheck`</simpara>
|
||||||
|
</listitem>
|
||||||
|
</itemizedlist>
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<tip>
|
||||||
|
<simpara>
|
||||||
|
We recommend using a session multiplexer utility such as `screen` or
|
||||||
|
`tmux` when performing long-running actions (such as cloning a database)
|
||||||
|
on a remote server - this will ensure the `repmgr` action won't be prematurely
|
||||||
|
terminated if your `ssh` session to the server is interrupted or closed.
|
||||||
|
</simpara>
|
||||||
|
</tip>
|
||||||
|
</sect1>
|
||||||
139
doc/install-source.sgml
Normal file
139
doc/install-source.sgml
Normal file
@@ -0,0 +1,139 @@
|
|||||||
|
<sect1 id="installation-source" xreflabel="Installing from source code">
|
||||||
|
<title>Installing &repmgr; from source</title>
|
||||||
|
|
||||||
|
<sect2 id="installation-source-prereqs">
|
||||||
|
<title>Prerequisites for installing from source</title>
|
||||||
|
<para>
|
||||||
|
To install &repmgr; the prerequisites for compiling
|
||||||
|
&postgres; must be installed. These are described in &postgres;'s
|
||||||
|
documentation
|
||||||
|
on <ulink url="https://www.postgresql.org/docs/current/install-requirements.html">build requirements</ulink>
|
||||||
|
and <ulink url="https://www.postgresql.org/docs/current/docguide-toolsets.html">build requirements for documentation</ulink>.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Most mainstream Linux distributions and other UNIX variants provide simple
|
||||||
|
ways to install the prerequisites from packages.
|
||||||
|
<itemizedlist spacing="compact" mark="bullet">
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
<literal>Debian</literal> and <literal>Ubuntu</literal>: First
|
||||||
|
add the <ulink
|
||||||
|
url="http://apt.postgresql.org/">apt.postgresql.org</ulink>
|
||||||
|
repository to your <filename>sources.list</filename> if you
|
||||||
|
have not already done so. Then install the pre-requisites for
|
||||||
|
building PostgreSQL with:
|
||||||
|
<programlisting>
|
||||||
|
sudo apt-get update
|
||||||
|
sudo apt-get build-dep postgresql-9.6
|
||||||
|
</programlisting>
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
<literal>RHEL or CentOS 6.x or 7.x</literal>: install the appropriate repository RPM
|
||||||
|
for your system from <ulink url="http://yum.postgresql.org/repopackages.php">
|
||||||
|
yum.postgresql.org</ulink>. Then install the prerequisites for building
|
||||||
|
PostgreSQL with:
|
||||||
|
<programlisting>
|
||||||
|
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
|
||||||
|
</programlisting>
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
</itemizedlist>
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<note>
|
||||||
|
<simpara>
|
||||||
|
Select the appropriate PostgreSQL versions for your target repmgr version.
|
||||||
|
</simpara>
|
||||||
|
</note>
|
||||||
|
</sect2>
|
||||||
|
|
||||||
|
|
||||||
|
<sect2 id="installation-get-source">
|
||||||
|
<title>Getting &repmgr; source code</title>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
There are two ways to get the &repmgr; source code: with git, or by downloading tarballs of released versions.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<sect3>
|
||||||
|
<title>Using <application>git</application> to get the &repmgr; sources</title>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Use <application><ulink url="http://git-scm.org">git</ulink></application> 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 <emphasis>not</emphasis> to use <application>git</application>
|
||||||
|
if you're familiar with it.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
The source for &repmgr; is maintained at
|
||||||
|
<ulink url="https://github.com/2ndQuadrant/repmgr">https://github.com/2ndQuadrant/repmgr</ulink>.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
There are also tags for each &repmgr; release, e.g. <filename>REL4_0_STABLE</filename>.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Clone the source code using <application>git</application>:
|
||||||
|
<programlisting>
|
||||||
|
git clone https://github.com/2ndQuadrant/repmgr
|
||||||
|
</programlisting>
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
For more information on using <application>git</application> see
|
||||||
|
<ulink url="http://git-scm.org/">git-scm.org</ulink>.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
</sect3>
|
||||||
|
|
||||||
|
<sect3>
|
||||||
|
<title>Downloading release source tarballs</title>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Official release source code is uploaded as tarballs to the
|
||||||
|
&repmgr; website along with a tarball checksum and a matching GnuPG
|
||||||
|
signature. See
|
||||||
|
<ulink url="http://repmgr.org/">http://repmgr.org/</ulink>
|
||||||
|
for the download information. See <xref linkend="appendix-signatures">
|
||||||
|
for information on verifying digital signatures.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
You will need to download the repmgr source, e.g. <filename>repmgr-4.0.tar.gz</filename>.
|
||||||
|
You may optionally verify the package checksums from the
|
||||||
|
<literal>.md5</literal> files and/or verify the GnuPG signatures
|
||||||
|
per <xref linkend="appendix-signatures">.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
After you unpack the source code archives using <literal>tar xf</literal>
|
||||||
|
the installation process is the same as if you were installing from a git
|
||||||
|
clone.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
</sect3>
|
||||||
|
|
||||||
|
</sect2>
|
||||||
|
|
||||||
|
<sect2 id="installation-repmgr-source">
|
||||||
|
<title>Installation of &repmgr; from source</title>
|
||||||
|
<para>
|
||||||
|
To installing &repmgr; from source, simply execute:
|
||||||
|
|
||||||
|
<programlisting>
|
||||||
|
./configure && make install
|
||||||
|
</programlisting>
|
||||||
|
|
||||||
|
Ensure `pg_config` for the target PostgreSQL version is in `$PATH`.
|
||||||
|
</para>
|
||||||
|
</sect2>
|
||||||
|
|
||||||
|
</sect1>
|
||||||
24
doc/install.sgml
Normal file
24
doc/install.sgml
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
<chapter id="installation" xreflabel="Installation">
|
||||||
|
<title>Installation</title>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
&repmgr; can be installed from binary packages provided by your operating
|
||||||
|
system's packaging system, or from source.
|
||||||
|
</para>
|
||||||
|
<para>
|
||||||
|
In general we recommend using binary packages, unless unavailable for your operating system.
|
||||||
|
</para>
|
||||||
|
<para>
|
||||||
|
Source installs are mainly useful if you want to keep track of the very
|
||||||
|
latest repmgr development and contribute to development. They're also the
|
||||||
|
only option if there are no packages for your operating system yet.
|
||||||
|
</para>
|
||||||
|
<para>
|
||||||
|
Before installing &repmgr; make sure you satisfy the <xref linkend="install-requirements">.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
&install-requirements;
|
||||||
|
&install-packages;
|
||||||
|
&install-source;
|
||||||
|
|
||||||
|
</chapter>
|
||||||
@@ -63,9 +63,9 @@
|
|||||||
<part id="getting-started">
|
<part id="getting-started">
|
||||||
<title>Getting started</title>
|
<title>Getting started</title>
|
||||||
&overview;
|
&overview;
|
||||||
|
&install;
|
||||||
</part>
|
</part>
|
||||||
|
&appendix-signatures;
|
||||||
|
|
||||||
<![%include-index;[&bookindex;]]>
|
<![%include-index;[&bookindex;]]>
|
||||||
<![%include-xslt-index;[<index id="bookindex"></index>]]>
|
<![%include-xslt-index;[<index id="bookindex"></index>]]>
|
||||||
|
|||||||
Reference in New Issue
Block a user