PostgreSQL容器安装-docker中直接安装

时间:2024-03-12 11:48:02

选择对应的版本然后在容器中的centos7中执行下面命令

但是启动容器的时候需要注意

  1. 开启端口映射
  2. 开启特权模式
  3. 启动init进程
 docker run -itd --name centos-postgresql -p 5433:5432 --privileged=true centos:centos7 /usr/sbin/init

启动然后进入后先安装ibzstd.so.1依赖

yum install epel-release.noarch -y
yum install libzstd.x86_64 -y

安装完依赖后就可以按下面的顺序执行命令

yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
yum install -y postgresql15-server
/usr/pgsql-15/bin/postgresql-15-setup initdb
systemctl enable postgresql-15
systemctl start postgresql-15

执行完成后就可以切换用户登陆postgresql了

#切换用户
su - postgres
#登陆数据库
psql

接下来配置数据库访问控制文件,主要是配置postgresql.conf 和 pg_hba.conf 个。

  1. postgresql.conf 针对实例的配置
  2. pg_hba.conf 针对数据库访问的控制

切换到/var/lib/pgsql/15/data目录下

注意:这里/var/lib/pgsql/15/data的15要根据自己安装的版本来确定

配置postgresql.conf

vim postgresql.conf 

找到"#port"和"#listener_address"这两个参数,这两个参数是相邻的,将两行行首的"#"删除。
将"listen_addressee='localhost'"改为当前服务器的IP,如果改为

"listen_addressee='*'",将监听整个网络。
默认的监听端口是5432,可以自行指定另外一个端口号。
max_connections是客户端最大的连接数, 缺省值100有点少,特别是业务系统,可以调整成1000或者更高。

配置pg_hba.conf

vim pg_hba.conf

将红框设置为 10.10.100.0/24,意思是10.10.100网段的IP 连接此服务器上的PostgreSQL. 如果想允许所有IP都可以连接此服务器,则可以配置成0.0.0.0/0,但这样是不安全的,可以把trust改为md5,表示需要密码访问,算是提供一个最低级的安全防护。

配置完这俩个文件后就可以重启数据库了

systemctl restart postgresql-15

记得关闭防火墙

systemctl stop firewalld

测试连接