【问题标题】:Rails, PgBouncer and DigitalOcean — how to work with Databases Connection Pools?Rails、PgBouncer 和 DigitalOcean — 如何使用数据库连接池?
【发布时间】:2019-12-20 22:34:33
【问题描述】:

最近在 DigitalOcean 有机会创建数据库。这有点像基于通常的 Droplet 的交钥匙解决方案,带有一堆额外的数据库功能。

其中一项附加功能 - 连接池。据我了解,这是一个 PgBouncer。

如果我以通常的方式(直接)将数据库连接到 Rails 5.2 应用程序,那么一切都很好。

但是如果我通过“连接池”使用连接,就会报错:

ActiveRecord::StatementInvalid: PG::DuplicatePstatement: ERROR:prepared statement "a1" already exists

当从数据库接收到任何数据时会发生这种情况。

请告诉我,如何使这一切正常工作?

【问题讨论】:

    标签: ruby-on-rails postgresql digital-ocean pgbouncer


    【解决方案1】:

    在数据库配置中将prepared_statementsadvisory_locks 设置为false

    更多信息here

    【讨论】:

    • 谢谢!这在 DO 网站上应该更明显
    • 救了我。不知道为什么 DO 没有提到这一点。
    猜你喜欢
    • 2019-07-27
    • 2020-11-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-14
    • 2011-12-31
    • 2020-11-25
    • 2016-06-02
    相关资源
    最近更新 更多