【发布时间】:2015-08-21 15:05:21
【问题描述】:
更新:我尝试将 PostgreSQL 连接对象的存储从常量 POSTGRES 更改为类变量 @@pg。那并没有解决问题。然后,我尝试将其更改为全局变量$pg。这似乎奏效了!但是,我仍然希望最终实现数据库连接池,这样我就可以拥有一个最多包含 5 个(左右)数据库连接的池来处理请求,而不仅仅是一个用于所有请求的全局连接。结束更新
我在 Heroku 上托管 Acani Chats REST Server。
第一个请求正常,但后续请求无法连接到 PostgreSQL 数据库。
我收到以下错误:
Rack app error: #<PG::UnableToSend: SSL error: decryption failed or bad record mac>
Rack app error: #<PG::UnableToSend: no connection to the server>
发生了什么事?
在/config/application.rb 中,我将常量POSTGRES 定义为PostgreSQL 连接对象。
我应该使用全局变量还是类变量而不是常量来保持连接实例?
在/config/routes.rb 中,我定义了Rack call 方法。
我想学习如何使用 Puma 和 PostgreSQL 实现 database connection pooling in Ruby for Rack。
【问题讨论】:
标签: ruby postgresql heroku connection-pooling rack