gpt4 book ai didi

postgresql - PGBouncer : Cant connect on the right db

转载 作者:行者123 更新时间:2023-12-05 06:30:34 24 4
gpt4 key购买 nike

我实际上面临一个问题。我在生产服务器上安装了 pgbouncer,在该服务器上我还有一个 Odoo 实例和 postgresql。

也许:

在我的日志中,我有这个:

2018-09-10 16:39:16.389 10123 WARNING C-0x1eb5478: 
(nodb)/(nouser)@unix(18272):6432 pooler error: no such database: postgres
2018-09-10 16:39:16.389 10123 LOG C-0x1eb5478: (nodb)/(nouser)@unix(18272):6432 login failed: db=postgres user=oerppreprod

这是 pgbouncer 的实际配置:

pgbouncer_archive = host=127.0.0.1 port=5432 dbname=archive
admin_users = postgres
ignore_startup_parameters = extra_float_digits

还有默认配置(我只添加/编辑了它)。

他为什么要尝试连接 postgres 数据库?

当我回到之前的 conf(没有 PGBouncer,只是从端口 6432 切换到 5432)时,一切正常....

有什么想法吗?

提前致谢!

最佳答案

我有同样的问题,在我的情况下。也许对某人有用:

我已经通过几个步骤解决了这个问题:

  1. 在每个请求的开始 - 您的框架或 PDO(或其他)运行初始查询以检查您请求的数据库是否存在于 postgres 数据中以处理您的请求。

  2. 我已经从 pgbouncer.ini 文件的数据库部分替换了行“user=project_user password=mytestpassword”的部分。正如我测试的那样,如果您替换这部分 - 那么 pgbouncer 将使用您的 userlist.txt 文件(或您选择的身份验证),在我的例子中,它是 userlist.txt。

  3. 添加行“postgres = host=127.0.0.1 port=5432 dbname=postgres

    [数据库]

    postgres = host=127.0.0.1 port=5432 dbname=postgres

    my_database = host=127.0.0.1 port=5432 dbname=my_database

  4. 我的 userlist.txt 文件如下所示(我使用的是 auth_type = md5,所以我的密码是 md5):

    "my_user""md5passwordandsoelse"

  5. 我已将我的管理员用户添加到我的 pgbouncer.ini 文件中:

    admin_users = postgres, my_user

在所有操作之后,我建议您使用这个简单的查询来检查您正在从哪个用户运行查询:

select current_user;

最后,通过这个查询,您必须收到您选择的用户名(在我的例子中是 - my_user)附:我还必须提到,我使用的是 127.0.0.1 - 因为我的 pgbouncer 与 postgres 安装在同一台服务器上。

关于postgresql - PGBouncer : Cant connect on the right db,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52260434/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com