CentOS 7.8安装PostgreSQL(生产系统)

来源:这里教程网 时间:2026-03-14 20:18:27 作者:

操作系统安装

见《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---

相关推荐