我正在5432上运行Postgres数据库,在6432上运行pgBouncer。
我所有的脚本都指向6432,但是我们有一个庞大的旧代码库,它指向5432,我们也希望用户pgBouncer。
我们提出的最好方法是在4432上运行Postgres,在5432和6432上运行pgBouncer。不幸的是,我们只能找到一种方法让pbBouncer在一个端口上侦听。
pgBouncer是否可以在两个端口上侦听?
我们还尝试使用IPTables透明地将6432转发到5432,但这没有用:
sudo iptables -t nat -I PREROUTING -p tcp --dport 6432 -j REDIRECT --to-ports 5432
sudo iptables -t nat -I OUTPUT -p tcp -o lo --dport 6432 -j REDIRECT --to-ports 5432
仍然出现此错误:
psql: could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/tmp/.s.PGSQL.6432"?
有什么建议(除了“更新遗留代码库”,这是不得已而为之)?
最佳答案
您的iptables对我来说不错,但请不要忘记启用ip转发:
sysctl net.ipv4.ip_forward=1
关于linux - pgBouncer在多个端口上?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49542106/