1<sect1 id="install-requirements" xreflabel="installation requirements">
2
3  <title>Requirements for installing repmgr</title>
4
5  <indexterm>
6   <primary>installation</primary>
7   <secondary>requirements</secondary>
8  </indexterm>
9
10  <para>
11    repmgr is developed and tested on Linux and OS X, but should work on any
12    UNIX-like system supported by PostgreSQL itself. There is no support for
13    Microsoft Windows.
14  </para>
15
16  <para>
17   &repmgr; &repmgrversion; is compatible with all PostgreSQL versions from 9.4. See
18   section <link linkend="install-compatibility-matrix">&repmgr; compatibility matrix</link>
19   for an overview of version compatibility.
20  </para>
21
22  <note>
23   <simpara>
24    If upgrading from &repmgr; 3.x, please see the section <xref linkend="upgrading-from-repmgr-3"/>.
25   </simpara>
26  </note>
27
28  <para>
29   All servers in the replication cluster must be running the same major version of
30   PostgreSQL, and we recommend that they also run the same minor version.
31  </para>
32
33  <para>
34   &repmgr; must be installed on each server in the replication cluster.
35   If installing repmgr from packages, the package version must match the PostgreSQL
36   version. If installing from source, &repmgr; must be compiled against the same
37   major version.
38  </para>
39
40  <note>
41   <simpara>
42     The same &quot;major&quot; &repmgr; version (e.g. <literal>&repmgrversion;.x</literal>) <emphasis>must</emphasis>
43     be installed on all node in the replication cluster. We strongly recommend keeping all
44     nodes on the same (preferably latest) &quot;minor&quot; &repmgr; version to minimize the risk
45     of incompatibilities.
46   </simpara>
47   <simpara>
48     If different &quot;major&quot; &repmgr; versions (e.g. 4.1.x and &repmgrversion;.x)
49     are installed on different nodes, in the best case &repmgr; (in particular &repmgrd;)
50     will not run. In the worst case, you will end up with a broken cluster.
51   </simpara>
52  </note>
53
54  <para>
55   A dedicated system user for &repmgr; is <emphasis>not</emphasis> required; as many &repmgr; and
56   &repmgrd; actions require direct access to the PostgreSQL data directory,
57   these commands should be executed by the <literal>postgres</literal> user.
58  </para>
59
60  <para>
61    See also <link linkend="configuration-prerequisites">Prerequisites for configuration</link>
62    for information on networking requirements.
63  </para>
64
65  <tip>
66   <simpara>
67    We recommend using a session multiplexer utility such as <command>screen</command> or
68    <command>tmux</command> when performing long-running actions (such as cloning a database)
69    on a remote server - this will ensure the &repmgr; action won't be prematurely
70    terminated if your <command>ssh</command> session to the server is interrupted or closed.
71    </simpara>
72  </tip>
73
74  <sect2 id="install-compatibility-matrix">
75
76    <title>&repmgr; compatibility matrix</title>
77
78    <indexterm>
79      <primary>repmgr</primary>
80      <secondary>compatibility matrix</secondary>
81    </indexterm>
82
83    <indexterm>
84      <primary>compatibility matrix</primary>
85    </indexterm>
86
87    <para>
88      The following table provides an overview of which &repmgr; version supports
89      which PostgreSQL version.
90    </para>
91
92
93    <table id="repmgr-compatibility-matrix">
94      <title>&repmgr; compatibility matrix</title>
95
96      <tgroup cols="3">
97        <thead>
98          <row>
99            <entry>
100              &repmgr; version
101            </entry>
102            <entry>
103              Supported?
104            </entry>
105            <entry>
106              Latest release
107            </entry>
108            <entry>
109              Supported PostgreSQL versions
110            </entry>
111          </row>
112        </thead>
113
114        <tbody>
115
116          <row>
117            <entry>
118              &repmgr; 5.2
119            </entry>
120            <entry>
121              YES
122            </entry>
123            <entry>
124              <link linkend="release-current">&repmgrversion;</link> (&releasedate;)
125            </entry>
126            <entry>
127              9.4, 9.5, 9.6, 10, 11, 12, 13
128            </entry>
129          </row>
130
131          <row>
132            <entry>
133              &repmgr; 5.1
134            </entry>
135            <entry>
136              NO
137            </entry>
138            <entry>
139              <link linkend="release-5.1.0">5.1.0</link> (2020-04-13)
140            </entry>
141            <entry>
142              9.3, 9.4, 9.5, 9.6, 10, 11, 12
143            </entry>
144          </row>
145
146          <row>
147            <entry>
148              &repmgr; 5.0
149            </entry>
150            <entry>
151              NO
152            </entry>
153            <entry>
154              <link linkend="release-5.0">5.0</link> (2019-10-15)
155            </entry>
156            <entry>
157              9.3, 9.4, 9.5, 9.6, 10, 11, 12
158            </entry>
159          </row>
160
161
162          <row>
163            <entry>
164              &repmgr; 4.x
165            </entry>
166            <entry>
167              NO
168            </entry>
169            <entry>
170              <link linkend="release-4.4">4.4</link> (2019-06-27)
171            </entry>
172            <entry>
173              9.3, 9.4, 9.5, 9.6, 10, 11
174            </entry>
175          </row>
176
177          <row>
178            <entry>
179              &repmgr; 3.x
180            </entry>
181            <entry>
182              NO
183            </entry>
184            <entry>
185              <ulink url="https://repmgr.org/release-notes-3.3.2.html">3.3.2</ulink> (2017-05-30)
186            </entry>
187            <entry>
188              9.3, 9.4, 9.5, 9.6
189            </entry>
190          </row>
191
192          <row>
193            <entry>
194              &repmgr; 2.x
195            </entry>
196            <entry>
197              NO
198            </entry>
199            <entry>
200              <ulink url="https://repmgr.org/release-notes-2.0.3.html">2.0.3</ulink> (2015-04-16)
201            </entry>
202            <entry>
203              9.0, 9.1, 9.2, 9.3, 9.4
204            </entry>
205          </row>
206        </tbody>
207
208      </tgroup>
209    </table>
210
211    <important>
212      <para>
213        The &repmgr; 2.x and 3.x series are no longer maintained or supported.
214        We strongly recommend  upgrading to the latest &repmgr; version.
215      </para>
216      <para>
217        Following the release of &repmgr; 5.0, there will be no further releases of
218        the &repmgr; 4.x series. Note that &repmgr; 5.x is an incremental development
219        of the 4.x series and &repmgr; 4.x users should upgrade to this as soon as possible.
220      </para>
221    </important>
222
223  </sect2>
224
225  <sect2 id="install-postgresql-93-94">
226
227    <title>PostgreSQL 9.4 support</title>
228
229    <indexterm>
230      <primary>PostgreSQL 9.4</primary>
231      <secondary>repmgr support</secondary>
232    </indexterm>
233
234    <para>
235      Note that some &repmgr; functionality is not available in PostgreSQL 9.4:
236    </para>
237    <itemizedlist spacing="compact" mark="bullet">
238
239      <listitem>
240        <para>
241          In PostgreSQL 9.4, <command>pg_rewind</command> is not part of the core
242          distribution. <command>pg_rewind</command> will need to be compiled separately to be able
243          to use any &repmgr; functionality which takes advantage of it.
244        </para>
245      </listitem>
246    </itemizedlist>
247
248    <warning>
249      <para>
250        PostgreSQL 9.3 has reached the end of its community support period (final release was
251        <ulink url="https://www.postgresql.org/docs/9.3/release-9-3-25.html">9.3.25</ulink>
252        in November 2018) and will no longer be updated with security or bugfixes.
253      </para>
254      <para>
255        Beginning with &repmgr; 5.2, &repmgr; no longer supports PostgreSQL 9.3.
256      </para>
257      <para>
258        PostgreSQL 9.4 has reached the end of its community support period (final release was
259        <ulink url="https://www.postgresql.org/docs/9.4/release-9-4-26.html">9.4.26</ulink>
260        in February 2020) and will no longer be updated with security or bugfixes.
261      </para>
262      <para>
263        We recommend that users of these versions migrate to a supported PostgreSQL version
264        as soon as possible.
265      </para>
266      <para>
267        For further details, see the  <ulink url="https://www.postgresql.org/support/versioning/">PostgreSQL Versioning Policy</ulink>.
268      </para>
269    </warning>
270
271  </sect2>
272
273 </sect1>
274