wget https://ftp.postgresql.org/pub/source/v14.5/postgresql-14.5.tar.gz
yum install -y perl-ExtUtils-Embed readline-devel zlib-devel pam-devel libxml2-devel libxslt-devel openldap-devel python-devel gcc-c++ openssl-devel cmake
tar -zxf postgresql-14.5.tar.gz
./configure --prefix=/usr/pgsql-14
make world -j 16 && make install-world
groupadd postgres
useradd -g postgres postgres
mkdir /pg_data
chown postgres:postgres /pg_data
cat >> ~/.bash_profile <<"EOF"
export PGDATA=/pg_data
export PGHOME=/usr/pgsql-14
export LD_LIBRARY_PATH=$PGHOME/lib:$LD_LIBRARY_PATH
export PATH=$PGHOME/bin:$PATH:.
export PGHOST=$PGDATA
export PGUSER=postgres
export PGDATABASE=postgres
EOF
source ~/.bash_profile
su - postgres
/usr/pgsql-14/bin/initdb -D /pg_data -E UTF8 --locale=en_US.utf8 -U postgres
cat >> /pg_data/postgresql.conf <<"EOF"
listen_addresses = '*'
log_truncate_on_rotation = on
unix_socket_directories = '/pg_data'
EOF
cat >> /pg_data/pg_hba.conf << EOF
# TYPE DATABASE USER ADDRESS METHOD
host all all 0.0.0.0/0 md5
EOF
cp postgresql-14.5/contrib/start-scripts/linux /etc/init.d/postgresql
chmod +x /etc/init.d/postgresql
prefix=/usr/pgsql-14
PGDATA="/pg_data"
chkconfig --add postgresql
systemctl start postgresql.service