Skip to content

Building PostgreSQL 15.x

linuxonz edited this page Apr 22, 2024 · 9 revisions

Building PostgreSQL

Below versions of PostgreSQL are available in respective distributions at the time of creation of these build instructions:

  • RHEL (7.8, 7.9) have 9.2.24
  • RHEL (8.6, 8.8, 8.9) have 10.23
  • RHEL (9.0, 9.2, 9.3) have 13.13
  • SLES (12 SP5, 15 SP5) have 15.6
  • Ubuntu 20.04 has 12.17
  • Ubuntu 22.04 have 14.11
  • Ubuntu (23.10) has 15.6

The instructions provided below specify the steps to build PostgreSQL version 15.5 on Linux on IBM Z for

  • RHEL(7.8, 7.9, 8.6, 8.8, 8.9, 9.0, 9.2, 9.3)

Note: On Ubuntu (20.04, 22.04), PostgresQL can be installed using APT repository maintained by community here.

General Notes:

  • When following the steps below please use a standard permission user unless otherwise specified.
  • A directory /<source_root>/ will be referred to in these instructions, this is a temporary writable directory anywhere you'd like to place it.

Step 1: Build using script

If you want to build postgreSQL using manual steps, go to STEP 2.

Use the following commands to build postgreSQL using the build script. Please make sure you have wget installed.

wget -q https://raw.githubusercontent.com/linux-on-ibm-z/scripts/master/PostgreSQL/15.5/build_postgresql.sh

# Build PostgreSQL
bash build_postgresql.sh   [Provide -t option for executing build with tests]

If the build completes successfully, follow the notes at the end of the script and go to STEP 3. In case of error, check logs for more details or go to STEP 2 to follow manual build steps.

Step 2: Build and Install PostgreSQL

2.1) Install dependencies

export SOURCE_ROOT=/<source_root>/
  • RHEL (7.8, 7.9)

    sudo yum install -y git wget tar build-essential gcc gcc-c++ make readline-devel zlib-devel bison flex patch curl
    
  • RHEL (8.6, 8.8, 8.9, 9.0, 9.2, 9.3)

    sudo yum install -y git wget gcc gcc-c++ tar make readline-devel zlib-devel bison flex glibc-langpack-en procps-ng diffutils patch curl
    

2.2) Create postgres user

sudo useradd postgres -m -U
sudo passwd postgres

Note: Please note that /usr/sbin is available in PATH environment variable.

2.3) Download PostgreSQL source code

cd $SOURCE_ROOT
wget https://ftp.postgresql.org/pub/source/v15.5/postgresql-15.5.tar.gz
tar xf postgresql-15.5.tar.gz

2.4) Build and Install PostgreSQL

cd $SOURCE_ROOT/postgresql-15.5
./configure
make
make check
sudo make install

Note: Before you run make check make sure LANG environment variable is not set. unset LANG if it is already set.

2.5) Update the PATH variable

export PATH=$PATH:/usr/local/pgsql/bin

Step 3: Set up PostgreSQL server (Optional)

3.1) Create PostgreSQL data directory to store data and make postgres user as the owner

sudo mkdir -p /usr/local/pgsql/data
sudo chown postgres:postgres /usr/local/pgsql/data

3.2) Initialize PostgreSQL data directory as postgres user

su postgres -s /bin/bash
export PATH=$PATH:/usr/local/pgsql/bin
cd /home/postgres/
initdb -D /usr/local/pgsql/data/

Note: Please make sure the directory /usr/local/ has sufficient read and execute permissions when initializing.

3.3) Start the PostgreSQL server

pg_ctl -D /usr/local/pgsql/data/ -l logfile start

References:

Clone this wiki locally