3 navsection: installguide
4 title: Install PostgreSQL 9.4+
7 Copyright (C) The Arvados Authors. All rights reserved.
9 SPDX-License-Identifier: CC-BY-SA-3.0
12 Arvados requires at least version *9.4* of PostgreSQL. We recommend using version 10 or newer.
16 * "Alma/CentOS/Red Hat/Rocky 8":#rh8
17 * "Debian or Ubuntu":#debian
21 When deploying on AWS, Arvados can use an Aurora RDS PostgreSQL database. Aurora Serverless is not recommended.
23 h3(#centos7). CentOS 7
24 {% assign rh_version = "7" %}
25 {% include 'note_python_sc' %}
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>
39 h3(#rh8). Alma/CentOS/Red Hat/Rocky 8
42 The default version on RH8 is PostgreSQL 10. You can install up to PostgreSQL 13.
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>
56 h3(#debian). Debian or Ubuntu
58 Debian 10 (Buster) and Ubuntu 16.04 (Xenial) and later versions include a sufficiently recent version of Postgres.
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>