Merge commit '3b735dd9330e0989f51a76771c3303031154154e' into 21158-wf-page-list
[arvados.git] / doc / install / install-postgresql.html.textile.liquid
1 ---
2 layout: default
3 navsection: installguide
4 title: Install PostgreSQL 9.4+
5 ...
6 {% comment %}
7 Copyright (C) The Arvados Authors. All rights reserved.
8
9 SPDX-License-Identifier: CC-BY-SA-3.0
10 {% endcomment %}
11
12 Arvados requires at least version *9.4* of PostgreSQL. We recommend using version 10 or newer.
13
14 * "AWS":#aws
15 * "CentOS 7":#centos7
16 * "Alma/CentOS/Red Hat/Rocky 8":#rh8
17 * "Debian or Ubuntu":#debian
18
19 h3(#aws). AWS
20
21 When deploying on AWS, Arvados can use an Aurora RDS PostgreSQL database. Aurora Serverless is not recommended.
22
23 h3(#centos7). CentOS 7
24 {% assign rh_version = "7" %}
25 {% include 'note_python_sc' %}
26
27 # Install PostgreSQL
28   <notextile><pre># <span class="userinput">yum install rh-postgresql12 rh-postgresql12-postgresql-contrib</span>
29 ~$ <span class="userinput">scl enable rh-postgresql12 bash</span></pre></notextile>
30 # Initialize the database
31   <notextile><pre># <span class="userinput">postgresql-setup initdb</span></pre></notextile>
32 # Configure the database to accept password connections from localhost
33   <notextile><pre><code># <span class="userinput">sed -ri -e 's/^(host +all +all +(127\.0\.0\.1\/32|::1\/128) +)ident$/\1md5/' /var/lib/pgsql/data/pg_hba.conf</span></code></pre></notextile>
34 # Configure the database to accept password connections from the local network (replace @10.9.8.0/24@ with your private network mask)
35   <notextile><pre><code># <span class="userinput">echo 'host all all 10.9.8.0/24 md5' | tee -a /var/lib/pgsql/data/pg_hba.conf</span></code></pre></notextile>
36 # Configure the database to launch at boot and start now
37   <notextile><pre># <span class="userinput">systemctl enable --now rh-postgresql12-postgresql</span></pre></notextile>
38
39 h3(#rh8). Alma/CentOS/Red Hat/Rocky 8
40
41 {% comment %}
42 The default version on RH8 is PostgreSQL 10. You can install up to PostgreSQL 13.
43 {% endcomment %}
44
45 # Install PostgreSQL
46   <notextile><pre># <span class="userinput">dnf install postgresql-server postgresql-contrib</span></pre></notextile>
47 # Initialize the database
48   <notextile><pre># <span class="userinput">postgresql-setup initdb</span></pre></notextile>
49 # Configure the database to accept password connections from localhost
50   <notextile><pre><code># <span class="userinput">sed -ri -e 's/^(host +all +all +(127\.0\.0\.1\/32|::1\/128) +)ident$/\1md5/' /var/lib/pgsql/data/pg_hba.conf</span></code></pre></notextile>
51 # Configure the database to accept password connections from the local network (replace @10.9.8.0/24@ with your private network mask)
52   <notextile><pre><code># <span class="userinput">echo 'host all all 10.9.8.0/24 md5' | tee -a /var/lib/pgsql/data/pg_hba.conf</span></code></pre></notextile>
53 # Configure the database to launch at boot and start now
54   <notextile><pre># <span class="userinput">systemctl enable --now postgresql</span></pre></notextile>
55
56 h3(#debian). Debian or Ubuntu
57
58 Debian 10 (Buster) and Ubuntu 16.04 (Xenial) and later versions include a sufficiently recent version of Postgres.
59
60 # Install PostgreSQL
61 <notextile><pre># <span class="userinput">apt-get --no-install-recommends install postgresql postgresql-contrib</span></pre></notextile>
62 # Configure PostgreSQL to accept password connections from the local network (replace @10.9.8.0/24@ with your private network mask)
63 <notextile><pre># <span class="userinput">echo 'host all all 10.9.8.0/24 md5' | tee -a /etc/postgresql/*/main/pg_hba.conf</span></pre></notextile>
64 # Configure the database to launch at boot and start now
65 <notextile><pre># <span class="userinput">systemctl enable --now postgresql</span></pre></notextile>