Building PostgreSQL 15.x - linux-on-ibm-z/docs GitHub Wiki
Building PostgreSQL
Below versions of PostgreSQL are available in respective distributions at the time of creation of these build instructions:
- RHEL (8.8, 8.9) have
10.23
- RHEL (9.2, 9.3) have
13.14
- SLES (12 SP5, 15 SP5) have
15.7
- Ubuntu 20.04 has
12.18
- Ubuntu 22.04 have
14.11
- Ubuntu 23.10 has
15.6
- Ubuntu 24.04 has
16.2
The instructions provided below specify the steps to build PostgreSQL version 15.7 on Linux on IBM Z for
- RHEL(8.8, 8.9, 8.10, 9.2, 9.3, 9.4)
Note: On Ubuntu (20.04, 22.04, 24.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.7/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>/
-
Ubuntu 23.10
sudo apt-get update sudo apt-get install -y bison flex wget build-essential git gcc tar make zlib1g-dev libreadline-dev patch curl
-
RHEL (8.8, 8.9, 8.10, 9.2, 9.3, 9.4)
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.3 and RHEL 9.4.
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.7/postgresql-15.7.tar.gz
tar xf postgresql-15.7.tar.gz
2.4) Build and Install PostgreSQL
cd $SOURCE_ROOT/postgresql-15.7
./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