统信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

Tags: 运维

添加新评论