- 软件包下载
bash
wget https://ftp.postgresql.org/pub/source/v14.5/postgresql-14.5.tar.gz
- 依赖安装
bash
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
- 解压安装
bash
tar -zxf postgresql-14.5.tar.gz
./configure --prefix=/usr/pgsql-14
make world -j 16 && make install-world
- 配置用户
bash
groupadd postgres
useradd -g postgres postgres
mkdir /pg_data
chown postgres:postgres /pg_data
- 配置环境变量
bash
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
- 初始化
bash
su - postgres
/usr/pgsql-14/bin/initdb -D /pg_data -E UTF8 --locale=en_US.utf8 -U postgres
- 配置
bash
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
- 添加服务
bash
cp postgresql-14.5/contrib/start-scripts/linux /etc/init.d/postgresql
chmod +x /etc/init.d/postgresql
- 修改配置
bash
prefix=/usr/pgsql-14
PGDATA="/pg_data"
bash
chkconfig --add postgresql
- 启动服务
bash
systemctl start postgresql.service