Skip to content

Building PostgreSQL 15.x

linuxonz edited this page Jun 6, 2025 · 17 revisions

Building PostgreSQL

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

  • RHEL 8.10 has 10.23
  • RHEL (9.4, 9.5) have 13.18
  • SLES 15 SP6 has 17.5
  • Ubuntu 22.04 has 14.17
  • Ubuntu (24.04, 24.10) have 16.9
  • Ubuntu 25.04 has 17.5

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

  • RHEL (8.10, 9.4, 9.5)
  • SLES 15 SP6
  • Ubuntu (22.04, 24.04, 24.10, 25.04)

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.

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.13/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.

2. Build and Install PostgreSQL

2.1. Install dependencies

export SOURCE_ROOT=/<source_root>/
  • RHEL (8.10, 9.4, 9.5)

    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
    

    Note: Add the '--allowerasing' option if any dependency conflicts are faced for RHEL 9.4 and RHEL 9.5.

  • SLES 15 SP6

    sudo zypper install -y git-core wget gcc gcc-c++ tar make readline-devel zlib-devel bison flex gawk patch curl gzip
    
  • Ubuntu (22.04, 24.04, 24.10, 25.04)

    sudo apt-get update
    sudo apt-get install -y bison flex wget build-essential git gcc tar make zlib1g-dev libreadline-dev 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.13/postgresql-15.13.tar.gz
tar xf postgresql-15.13.tar.gz

2.4. Build and Install PostgreSQL

cd $SOURCE_ROOT/postgresql-15.13
./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

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