统信UOS V20编译安装PostgreSQL
更改yum源
由于统信V20服务器免费版无法使用官方yum源,需更改默认yum源。
cd /etc/yum.repos.d
mv UniontechOS.repo UniontechOS.repo.bak
#下载可用的repo文件
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo
yum makecache
yum update
安装
#下载源码
cd /usr/local/src
wget https://ftp.postgresql.org/pub/source/v15.3/postgresql-15.3.tar.gz
tar zxvf postgresql-15.3.tar.gz
cd cd postgresql-15.3/
#安装依赖
yum install readline-devel
#编译
./configure --prefix=/usr/local/pg15
make
make install
#检测
/usr/local/pg15/bin/postgres --version
#创建用户
adduser postgres
#创建目录
mkdir /usr/local/pg15/data
chown postgres /usr/local/pg15/data
#切换到postgres用户
su - postgres
#初始化
/usr/local/pg15/bin/initdb -D /usr/local/pg15/data -E UTF-8
#运行
/usr/local/pg15/bin/pg_ctl -D /usr/local/pg15/data -l logfile start
#默认端口5432
ss -ntl
#root用户设置postgres密码
#echo -e "xxx\xxx" | passwd postgres
passwd postgres #Hello@123
#设置环境变量
vim /etc/profile.d/pgsql.sh
#!/bin/bash
export PGHOME=/usr/local/pg15
export PATH=$PGHOME/bin/:$PATH
export PGDATA=/usr/local/pg15/data
export PGUSER=postgres
export MANPATH=/usr/local/pg15/share/man:$MANPATH
chmod +x /etc/profile.d/pgsql.sh
/etc/profile.d/pgsql.sh
source /etc/profile
#测试
psql
#设置postgres用户密码
alter role postgres with password 'Hello@123';
#为方便维护,写一个service文件来管理
vim /lib/systemd/system/postgresql.service
[Unit]
Description=PostgreSQL databases server
After=net.work.target
[Service]
User=postgres
Group=postgres
ExecStart=/usr/local/pg15/bin/postmaster -D /usr/local/pg15/data
ExecReload=/bin/kill -HUP
[Install]
WantedBy=multi-user.targer
#重新加载服务配置
systemctl daemon-reload
#关闭原pg进程并启动
systemctl start postgresql.service
systemctl status postgresql.service
#开启远程访问
vim /usr/local/pg15/data/pg_hba.conf
# IPv4 local connections:
host all all 127.0.0.1/32 trust
host all all 0.0.0.0/0 md5
vim /usr/local/pg15/data/postgresql.conf
listen_addresses = '*'
port = 5432
#重载配置
#pg_ctl reload
systemctl restart postgresql.service