先安装docker,安装docker 方法自行寻找方法
然后安装pgsql
拉取镜像
docker pull registry.cn-hangzhou.aliyuncs.com/qiluo-images/postgres:latest
运行容器
docker run -it --name postgres --privileged --restart always -e POSTGRES_PASSWORD='Yo5WYypu0mCCheOU' -e ALLOW_IP_RANGE=0.0.0.0/0 -e TZ=Asia/Shanghai -p 5432:5432 -v /data/postgres/data:/var/lib/postgresql/data -d registry.cn-hangzhou.aliyuncs.com/qiluo-images/postgres:latest
带连接数
docker run -it --name postgres --privileged --restart always -e POSTGRES_PASSWORD='Yo5WYypu0mCCheOU' -e ALLOW_IP_RANGE=0.0.0.0/0 -e TZ=Asia/Shanghai -p 5432:5432 -v /data/postgres/data:/var/lib/postgresql/data -d registry.cn-hangzhou.aliyuncs.com/qiluo-images/postgres:latest -c 'max_connections=20000'
修改外部可以连接,复制配置到外部
docker cp postgres:/var/lib/postgresql/data/pg_hba.conf /data/postgres/pg_hba.conf
把 第一行的改成第二行
把修改的配置复制到容器
docker cp /data/postgres/pg_hba.conf postgres:/var/lib/postgresql/data/pg_hba.conf
然后重启容器
docker restart postgres
开启5432端口
firewall-cmd --permanent --add-port=5432/tcp
firewall-cmd --reload
查看安装的服务版本
docker exec -it postgres psql -U postgres -c "SELECT version();"
docker exec -it postgres psql -U postgres -c "SHOW server_version;"
本文镜像版本是16.4
默认是设置了时区
,如果没有设置的,在容器内手动设置,你也可以在运行的 PostgreSQL 容器内手动更改时区设置。
进入容器:
docker exec -it postgres bash
编辑 postgresql.conf 文件,将 timezone 设置为你需要的时区:
echo "timezone = 'Asia/Shanghai'" >> /var/lib/postgresql/data/postgresql.conf
退出,重启容器
docker restart postgres
如果是单独修改,复制出来
docker cp postgres:/var/lib/postgresql/data/postgresql.conf /data/postgres/
然后再宿主机编辑,修改连接数
max_connections=100 改成max_connections=20000
然后把配置文件复制回去
docker cp /data/postgres/postgresql.conf postgres:/var/lib/postgresql/data/postgresql.conf
重启容器
docker restart postgres
执行如下SQL进行验证,查看max_connections:
show max_connections;
查看当前连接数:
select count(*) from pg_stat_activity;