【发布时间】:2019-09-19 12:16:48
【问题描述】:
我在服务器 A(端口 6432,主机地址:10.XX.XX.92)上配置了 pgbouncer,它将接受服务器 B 上运行的 postgres 服务器的连接(端口 5433 ,主机地址:10.XX.XX.90)。这个 postgres 服务器有 2 个数据库。(postgres 和 db1)
我有 2 个不同类型的用户(user1、user2)将连接到同一个数据库(db1)。这两个用户在 db1 上拥有不同的权限集。
以下是我如何配置 pgbouncer.ini 文件的示例。
database1 = host=10.XX.XX.90 port=5433 user=user1 password='pwd1' dbname=db1
database2 = host=10.XX.XX.90 port=5433 user=user2 password='pwd2' dbname=db1
现在当我尝试通过 pgAdmin 连接到这个数据库时,它给了我一个错误 "No such database"。
以下是我用来通过 pgadmin 为 user1 连接的连接变量。
主机 = 10.XX.XX.92
端口 = 6432
维护数据库 = database1
用户名 = user1
密码 = pwd1
但是当我使用相同的变量并尝试使用 DBeaver 或 psql 连接时,我能够成功连接到数据库 db1。
有谁知道这只是 pgAdmin 问题还是我在这里遗漏了什么。
注意:我还尝试了另一件事。如果在 pgbouncer.ini 中,我将数据库变量(database1)命名为与实际数据库名称(db1)相同,pg 管理员让我连接到数据库。如果我只有一个用户连接到数据库,但我有两个用户并且他们在配置文件中不能有相同的连接名称,这对我来说是可行的。
【问题讨论】:
-
您是否在 DBeaver 或 psql 上设置了某种端口转发?我已经看到端口号不匹配的此错误,在您的示例中,您有
5433和6432。 -
没有。我只是能够直接连接到数据库而无需明确设置任何内容。我认为这与 pgAdmin 中的维护数据库有关,但我可能错了。
-
我也遇到了同样的问题。经过这么长时间你修好了吗?编辑:我想我在这里找到了答案stackoverflow.com/a/41500185/5341247
标签: postgresql pgadmin-4 pgbouncer