1.下载
地址:ftp 目录
2.创建用户组及目录
# 创建用户组
groupadd postgres
# 创建用户
useradd -g postgres postgres -s /bin/bash
# 创建根目录
mkdir -p /opt/postgresql-14.4
# 创建数据存储目录
mkdir -p /opt/postgresql-14.4/data
# 授权
chown -R postgres:postgres /opt/postgresql-14.4
chown -R postgres:postgres /opt/postgresql-14.4/data
3.安装
# 解压缩(压缩放在 /home 根目录下)
tar -zxvf /home/postgresql-14.4.tar.gz
# 配置编译项
cd /home/postgresql-14.4
# 编译
./configure \
--prefix=/opt/postgresql-14.4 \
--with-python \
--with-systemd \
--with-lz4 \
--with-zstd \
--with-openssl \
--with-libxml \
--with-libxslt
常见问题:
# 报错:
checking for liblz4... no
configure: error: Package requirements (liblz4) were not met:
Package 'liblz4', required by 'virtual:world', not found
# 一次性解决:
yum install -y \
gcc gcc-c++ make cmake \
readline-devel zlib-devel \
lz4-devel zstd-devel \
openssl-devel \
libxml2-devel libxslt-devel \
python3-devel \
systemd-devel
安装:
make -j$(nproc)
sudo make install
4.初始化
/opt/postgresql-14.4/bin/initdb -D \
/opt/postgresql-14.4/data -U postgres \
--pwprompt --encoding=UTF8 --locale=C
5.配置远程访问
编辑 /opt/postgresql-14.4/data/postgresql.conf:
listen_addresses = '*'
port = 5432
编辑 /opt/postgresql-14.4/data/pg_hba.conf,添加:
host all all 0.0.0.0/0 md5
6.配置系统服务
创建 /etc/systemd/system/postgresql.service:
[Unit]
Description=PostgreSQL 14.4 Database Server
Documentation=man:postgres(1)
After=network-online.target
[Service]
Type=notify
User=postgres
Group=postgres
Environment=PGDATA=/opt/postgresql-14.4/data
ExecStart=/opt/postgresql-14.4/bin/postgres -D ${PGDATA}
ExecReload=/bin/kill -HUP $MAINPID
KillMode=mixed
Restart=on-failure
[Install]
WantedBy=multi-user.target
启动并启用服务
systemctl daemon-reload
systemctl start postgresql
systemctl enable postgresql
systemctl status postgresql
systemctl stop postgresql

