问题描述
如何在单台服务器(Ubuntu18.04)上安装多个不同池模式的PG Bouncer?
当我尝试第二次安装时,它说已经安装?
是否有其他方法可以使用不同的端口进行安装?
解决方法
您可以安装一个容器运行程序(例如 docker)并运行多个容器,每个容器都包含一个 pgbouncer 安装,例如。使用此图片:https://github.com/edoburu/docker-pgbouncer
首先安装docker:
sudo apt install docker.io
然后,start 可以启动任意数量的 pgbouncer。
pgbouncer-1:
sudo docker run --rm -d \
-n pgbouncer-session\
-e DATABASE_URL="postgres://user:pass@postgres-host/database" \
-e POOL_MODE=session \
-p 5432:5432
edoburu/pgbouncer
pgbouncer-2
sudo docker run --rm -d \
-n pgbouncer-transaction \
-e DATABASE_URL="postgres://user:pass@postgres-host/database" \
-e POOL_MODE=transaction \
-p 5433:5432
edoburu/pgbouncer
注意容器在主机上使用不同的端口(第一个使用 5432,第二个使用 5433)。
如果您有很多配置,您可能希望对配置文件使用绑定挂载。
此外,为了稳定设置,我建议使用 docker-compose 而不是原始 docker 命令。