【问题标题】:What's the cause of "PGError: FATAL: terminating connection due to administrator command" on heroku?Heroku上“PGError:FATAL:由于管理员命令而终止连接”的原因是什么?
【发布时间】:2011-08-12 19:47:24
【问题描述】:

我在 Heroku 上有一个 Rails 应用程序供用户登录。我会定期收到此异常:

用户会话控制器# (ActiveRecord::StatementInvalid) “PGError:致命:终止 由于管理员的连接 命令\n服务器关闭连接 意外\n\t这可能意味着 服务器终止 异常\n\tbef...

网址

POST http://secure.huckberry.com/user_sessions

这可能是什么原因?如有任何帮助,我将不胜感激。

【问题讨论】:

  • 显然管理员已经关闭/重启了服务器。
  • 听起来更像是有人运行了 pg_cancel_backend(yourpidhere);或杀死一个后端进程。如果您关闭服务器,您会收到一条错误消息,指出它正在关闭。
  • 我今天也看到了类似的错误。
  • 我在 communityguides.eu/feeds 上遇到了异常报告的相同错误。
  • 当我从不同的终端窗口运行多个并发 postgres db 导入时,我得到了这个(我试图节省时间将最新数据导入单个数据库上的三个不同 psql 模式)

标签: ruby-on-rails postgresql heroku


【解决方案1】:

假设您最近看到了这一点,这是由于最近进行了一些高优先级的维护工作,以便在共享数据库上启用连续备份 - 包括重新启动服务器。你不应该担心这个错误,只要它不会重现。我认为这不太可能,很高兴黑客攻击!

【讨论】:

  • 我今天升级了一些包,得到了这个错误。我不确定是什么触发了它。但是,我肯定想知道原因,这样我以后就可以避免这种情况了。
【解决方案2】:

我遇到了这个错误。我的应用程序服务器与数据库建立了开放连接。在我的 SSH 终端中,我在 ph_hba.conf 文件中添加了一个 ipaddress 并重新启动了 postgreSQL 服务器。

这就是这个错误出现的时候。我刷新了我的网页一次,错误消失了。

【讨论】:

    【解决方案3】:

    这可能意味着某些东西向服务器进程发送了 SIGTERM 信号。如果邮递员从某事获得SIGINT,则可能发生这种情况。但是,如果您能够重新连接,则情况并非如此,因为 postmaster 将不允许新连接。

    您的应用程序中可能存在某种冲突。启用query logging 并检查异常情况。

    【讨论】:

      【解决方案4】:

      如果您运行使用数据库连接(在本例中为 PSQL)的测试套件并且测试仍在运行(异步),也可能会出现此错误。 当测试仍在运行时,拆卸钩子可能会终止连接,并最终出现此错误消息。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-06-11
        • 2021-06-13
        • 2019-01-20
        • 1970-01-01
        • 2014-08-29
        • 1970-01-01
        • 2020-12-26
        • 2018-04-23
        相关资源
        最近更新 更多