This is an English translation of a Japanese blog. Some content may not be fully translated.
PostgreSQL

Installing PostgreSQL 11.7 from Source Code

This assumes PostgreSQL 11.7. PostgreSQL is easy to install whether using yum or building from source.

Pre-checks

GNU make Version

Confirm it is version 3.80 or higher.

make --version

Install gcc

sudo yum -y install gcc

readline-devel Package

sudo yum -y install readline-devel

zlib-devel Package

sudo yum -y install zlib-devel

Create OS User

groupadd -g 1101 postgres
useradd -u 1101 -g postgres -G postgres -d /home/postgres postgres
passwd postgres

PostgreSQL Installation (performed as postgres user)

Download Source & Extract

wget https://ftp.postgresql.org/pub/source/v11.7/postgresql-11.7.tar.gz
tar xvfz postgresql-11.7.tar.gz

If you need to modify the source code, do so at this point.

cd ./postgresql-11.7/contrib/pg_trgm
vi ./trgm.h

#Comment out KEEPONLYALNUM

Build & Install

cd $HOME/postgresql-11.7
./configure --prefix=$HOME/pgsql/11
make
make install

PostgreSQL Initialization

Create $PGDATA

mkdir -p /home/postgres/pgsql/11/data

Initialize DB

sudo su - postgres
whoami
export PGDATA=/home/postgres/pgsql/11/data
/home/postgres/pgsql/11/bin/initdb --pgdata=$PGDATA
/home/postgres/pgsql/11/bin/pg_ctl start --pgdata=$PGDATA
/home/postgres/pgsql/11/bin/pg_ctl status --pgdata=$PGDATA

Connect and Verify Version

[postgres@post11db bin]$ ./psql
psql (11.7)
Type "help" for help.

postgres=#
postgres=# select version();
                                                version
--------------------------------------------------------------------------------------------------------
 PostgreSQL 11.7 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 7.3.1 20180712 (Red Hat 7.3.1-6), 64-bit
(1 row)

Reference

Chapter 16. Installation from Source Code https://www.postgresql.jp/document/11/html/installation.html

Suggest an edit on GitHub