操作系统安装
见《CentOS 7.8操作系统安装》
.2 数据库软件
postgresql-12.3.tar.gz,也可以在线下载下来
关闭SELINUX
执行命令:sed -i '/^SELINUX=.*/ s//SELINUX=disabled/' /etc/selinux/config
或vi 编辑/etc/selinux/config 文件,更改SELINUX=disabled
更改后,执行命令:reboot 重启系统生效
重启后,运行:getenforce 检查selinux状态是否为Disabled状态
安装系统依赖
yum install readline-devel gcc zlib-devel -y
安装包准备
wget
如果提示没有wget指令,通过yum install wget -y 进行安装
也可以下载到本地计算机,再传送到服务器端
创建目录
mkdir -p /app/postgresql-12.3/data
解压并进行编译安装
tar xzvf postgresql-12.3.tar.gz #解压缩postgresql安装包
cd postgresql-12.3 #进入目录
./configure --prefix=/app/postgresql-12.3 #编译设置

echo $? #检查是否有错误
make -j4 && make install #编译并安装
创建组及用户
groupadd postgres
useradd -g postgres postgres
chown -R postgres:postgres /app
echo "postgres123" | passwd --stdin postgres //设置postgres用户的密码为postgres123
初始化数据库
su - postgres //切换到postgres用户
/app/postgresql-12.3/bin/initdb -D /app/postgresql-12.3/data/
切换到postgres用户下
su - postgres
vi .bash_profile //vi
编辑.bash_profile文件,添加或编辑以下参数,并保存退出
export PGHOME=/app/postgresql-12.3
export PGDATA=$PGHOME/data
PATH=$PATH:$HOME/.local/bin:$HOME/bin:$PGHOME/bin
export PATH
source .bash_profile //使环境变量配置生效
以root用户配置
创建启动脚本
复制源码安装包下面的启动脚本,放在系统/etc/init.d/目录下,配置成开机自动启动 cp /root/postgresql-12.3/contrib/start-scripts/linux /etc/init.d/postsql
修改启动脚本
vi /etc/init.d/postsql #编辑启动脚本,并修改相应的值
prefix=/app/postgresql-12.3
PGDATA=/app/postgresql-12.3/data
授权并加入系统服务
chmod +x /etc/init.d/postsql
chkconfig --add postsql
chkconfig postsql on --level 2345
su – postgres #切换到postgres用户操作
修改postgresql.conf文件
对监听地址、端口等参数进行修改,其它参数保持默认
注意如参数有注释的,要去掉注释,如(#listen_addresses = 'localhost' 要把#号去掉,并修改localhost为* ,即listen_addresses = '*')
vi /app/postgresql-12.3/data/postgresql.conf
listen_addresses = '*'
port = 5432
max_connections = 500
shared_buffers = 2GB
work_mem = 10MB
maintenance_work_mem = 500MB
effective_cache_size = 5GB
log_timezone = 'Asia/Shanghai'
timezone = 'Asia/Shanghai'
启动数据库(root用户操作)
service postsql start
添加防火墙规则
firewall-cmd --permanent --zone=public --add-port=5432/tcp 如果要指定IP开放,则使用如下规则
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.56.155/32" port protocol="tcp" port="5432" accept"
重载防火墙
firewall-cmd --reload
验证数据库
su - postgres
psql -U postgres
修改密码
alter user postgres with password 'postgres123';
su – postgres #切换到postgres用户配置
修改pg_hba.conf,配置访问规则
vi /app/postgresql-12.3/data/pg_hba.conf
添加允许访问规则
host all all 0.0.0.0/0 md5
并把原来的配置的METHOD 从trust 改成md5,如下图所示
重启PG 数据库
root 用户操作
service postsql restart
验证修改
---END---
