PostgreSQL YUM安装

PostgreSQL YUM安装
Eucalyptus本次实验是在docker容器中安装centos7,然后再在centos7中安装postgresql。
配置环境
| Linux | PostgreSQL | Docker |
|---|---|---|
| centos7 | 15 | 24.0.7 |
docker中的centos7中安装
选择对应的版本然后在容器中的centos7中执行下面命令
但是启动容器的时候需要注意:
- 开启端口映射
- 开启特权模式
- 启动init进程
1 | docker run -itd --name centos-postgresql -p 5433:5432 --privileged=true centos:centos7 /usr/sbin/init |
启动然后进入后先安装ibzstd.so.1依赖
1 | yum install epel-release.noarch -y |
安装PostgreSQL
官网安装教程:https://www.postgresql.org/download/linux/redhat/
安装完依赖后就可以按下面的顺序执行命令
1 | yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm |
执行完成后就可以切换用户登陆postgresql了
1 | #切换用户 |
接下来配置数据库访问控制文件,主要是配置postgresql.conf 和 pg_hba.conf 两个。
- postgresql.conf 针对实例的配置
- pg_hba.conf 针对数据库访问的控制
切换到/var/lib/pgsql/15/data目录下
注意:这里/var/lib/pgsql/15/data的15要根据自己安装的版本来确定
配置postgresql.conf
1 | vim postgresql.conf |
找到”#port”和”#listener_address”这两个参数,这两个参数是相邻的,将两行行首的”#”删除。
将listen_addresses='localhost'改为当前服务器的IP,如果改为listen_addresses='*',将监听整个网络。默认的监听端口是5432,可以自行指定另外一个端口号。
max_connections是客户端最大的连接数,缺省值100有点少,特别是业务系统,可以调整成1000或者更高。
配置pg_hba.conf
1 | vim pg_hba.conf |
将红框设置为 10.10.100.0/24,意思是10.10.100网段的IP连接此服务器上的PostgreSQL。如果想允许所有IP都可以连接此服务器,则可以配置成0.0.0.0/0,但这样是不安全的,可以把trust改为md5,表示需要密码访问,算是提供一个最低级的安全防护。
配置完这两个文件后就可以重启数据库了
1 | systemctl restart postgresql-15 |
记得关闭防火墙
1 | systemctl stop firewalld |
测试连接
docker中直接安装
拉取postgresql镜像后直接启动容器
1 | #拉取镜像 |
测试连接成功
注意事项:
- 两个centos7中的防火墙记得都要放行端口或者关闭
- postgresql.conf 和 pg_hba.conf文件记得配置

















