Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 赫罗库+;轨道&x2B;PG:ActiveRecord::StatementInvalid(PG::ConnectionBad:PQconsumeInput()SSL连接已意外关闭_Ruby On Rails_Postgresql_Activerecord_Ssl_Heroku - Fatal编程技术网

Ruby on rails 赫罗库+;轨道&x2B;PG:ActiveRecord::StatementInvalid(PG::ConnectionBad:PQconsumeInput()SSL连接已意外关闭

Ruby on rails 赫罗库+;轨道&x2B;PG:ActiveRecord::StatementInvalid(PG::ConnectionBad:PQconsumeInput()SSL连接已意外关闭,ruby-on-rails,postgresql,activerecord,ssl,heroku,Ruby On Rails,Postgresql,Activerecord,Ssl,Heroku,我在日志中随机且非常频繁地收到以下错误: Nov 06 05:31:21 lmrapp app/web.2: [wbinternacional] [0f0965e3-e537-4aed-8f3e-311a222e8fa1] PG::ConnectionBad: PQconsumeInput() SSL connection has been closed unexpectedly Nov 06 05:31:21 lmrapp app/web.2: [wbinternacional] [0f

我在日志中随机且非常频繁地收到以下错误:

Nov 06 05:31:21 lmrapp app/web.2:  [wbinternacional] [0f0965e3-e537-4aed-8f3e-311a222e8fa1] PG::ConnectionBad: PQconsumeInput() SSL connection has been closed unexpectedly 
Nov 06 05:31:21 lmrapp app/web.2:  [wbinternacional] [0f0965e3-e537-4aed-8f3e-311a222e8fa1] Completed 500 Internal Server Error in 23ms 
Nov 06 05:31:21 lmrapp app/web.2:  FATAL:  terminating connection due to administrator command 
Nov 06 05:31:21 lmrapp app/web.2:  ActiveRecord::StatementInvalid (PG::ConnectionBad: PQconsumeInput() SSL connection has been closed unexpectedly 
可能是因为我在heroku上的Pg计划的连接限制(我有20个连接的“嗜好基础”


谢谢

我得到了完全相同的错误。我也在Heroku Hobby basic db上。我向Heroku提交了一张罚单,以下是回复:

“SSL连接已意外关闭”错误(以及一些类似错误)是一个客户端错误,表明您的数据库连接已断开。嗜好层数据库的限制之一是未经通知的维护。我们偶尔需要关闭一些与嗜好层数据库的连接,当我们这样做时,应用程序经常会看到类似这样的错误

大多数维护连接池的应用程序(如Rails中的ActiveRecord)只能打开到数据库的新连接。但是,在某些情况下,应用程序将无法重新连接。如果发生这种情况,您可以重新启动该dyno,以便在新的运行时上获得新进程

通常不建议在生产环境中运行hobby tier数据库。不过,如果您打算这样配置应用程序,使其在重复出现数据库连接错误时崩溃,这会很有帮助,它将在新的运行时自动启动,并具有新的连接池

不过,您似乎经常遇到这种情况;在这种情况下,我建议您使用将数据库移动到另一个共享服务器。请记住,爱好层次规则适用于$9基本计划和免费数据库。如果您还有任何问题,请告诉我。谢谢


对我来说,这基本上意味着Heroku不想修复这个错误,希望你升级到50美元的数据库。现在我运行的是一个每天有4-5个用户的小网站-我还没有办法切换到生产网站。我每天至少会遇到你提到的5-6次同样的错误,但仍然没有找到解决方法。尝试将您的db切换到另一个共享服务器-这对我不起作用。

我经常遇到这个问题,这很烦人。特别是当您尝试构建一个应用程序,并且不想在开发过程中每月支付50美元时。我注意到的一个最大的问题是确保您没有像e DB Visualizer或在开发过程中运行的其他DBMS。我知道这似乎违反直觉,但它确实有助于保持数据库池的空闲

此外,如果您正在运行RoR,您可以尝试将
pool:1
添加到默认连接字符串,以确保您的应用程序尝试连接到postgres的次数不会超过您在Heroku上的postgres设置所允许的次数

default: &default
  adapter: postgresql
  encoding: unicode
  pool: 1

希望这能帮助一些人!

没错,是的,请将问题提交给herokus支持部门。并在此处提供链接。是的,我最终不得不升级到50美元的Postgres计划。之后,错误不再出现。我对此不太确定。我使用50美元的计划,我不时会看到这个错误。当然,非常罕见,但是它还在那里。