CentOS7.9源码安装部署Postgresql16.1

  |   0 评论   |   0 浏览

软件准备

postgresql-16.0.tar.gz
https://ftp.postgresql.org/pub/source/v16.0/postgresql-16.0.tar.gz

依赖安装

yum -y install systemd-devel readline readline-devel zlib-devel gcc

创建安装用户

# 创建组
groupadd postgres
# 创建用户
useradd -g postgres postgres

源码编译安装

# 安装目录
mkdir -p /data/server/pgsql
# 数据目录
mkdir -p /data/server/pgsql/data
# 解压编译安装
tar -zxvf postgresql-16.0.tar.gz
cd postgresql-16.0
./configure --prefix=/data/server/pgsql --without-icu --with-systemd
make && make install
# 修改目录属主、属组
chown -R postgres:postgres /data/server/pgsql

# 切换到postgres用户初始化数据目录
su - postgres
/data/server/pgsql/bin/initdb -D /data/server/pgsql/data


开机自启设置

vim /etc/systemd/system/postgresql.service

[Unit]
Description=PostgreSQL 16.0 database server
Documentation=man:postgres(1)
After=network-online.target
Wants=network-online.target

[Service]

Type=forking
User=postgres
Group=postgres
OOMScoreAdjust=-1000
ExecStart=/data/server/pgsql/bin/pg_ctl start -D /data/server/pgsql/data 
ExecStop=/data/server/pgsql/bin/pg_ctl stop -D /data/server/pgsql/data
ExecReload=/data/server/pgsql/bin/pg_ctl reload -D /data/server/pgsql/data 
TimeoutSec=0

[Install]
WantedBy=multi-user.target

启动服务

systemctl daemon-reload
systemctl enable postgresql
systemctl start postgresql

连接数据库

# 切换到 postgres用户
su - postgres
/data/server/pgsql/bin/psql

# 创建用户及密码
postgres=# create user gadmin password '123456';

# 创建指定拥有者gadmin的数据库tt
postgres=# create database tt owner gadmin;

修改配置文件

postgresql.conf

# 修改监听地址,否则无法远程连接
listen_addresses = '*'
port = 5432
# 修改最大连接数
max_connections = 1024
# 设置socket目录
unix_socket_directories = '/data/server/pgsql'
# 开启日志获取
logging_collector = on
# 设置日志目录
log_directory = 'pg_log'
# 设置日志文件名称格式
log_filename = 'postgresql-%Y-%m-%d.log'
# 开启日志轮转
log_truncate_on_rotation = on 

pg_hba.conf

# IPv4 local connections:
host    all             all             127.0.0.1/32            trust
# 增加如下一行,远程连接,
# tt为数据库名,gadmin为用户名,192.168.200.0/24为允许连接的地址范围,md5使用密码验证
host    tt              gadmin          192.168.200.0/24        md5

重启服务

# 重启服务后就能使用gadmin账户远程连接tt数据库了
systemctl restart postgresql


标题:CentOS7.9源码安装部署Postgresql16.1
作者:zytops
地址:https://www.zytops.com/articles/2024/01/05/1704441911684.html