微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

postgresql – Postgres入门级问题

我最近搬到了Postgres并且遇到了形式的间歇性错误

PGError: FATAL:  terminating connection due to administrator command
SSL connection has been closed unexpectedly: 
        SELECT a.attname,format_type(a.atttypid,a.atttypmod),d.adsrc,a.attnotnull
          FROM pg_attribute a LEFT JOIN pg_attrdef d
            ON a.attrelid = d.adrelid AND a.attnum = d.adnum
         WHERE a.attrelid = '"xxxxxx"'::regclass
           AND a.attnum > 0 AND NOT a.attisdropped
         ORDER BY a.attnum

vendor/bundle/ruby/1.9.1/gems/activerecord-3.0.11/lib/active_record/
connection_adapters/postgresql_adapter.rb:505:in `exec'

我能做些什么来绕过这个(除了回到旧的Postgres Addon,这是我认为的临时解决方案).

解决方法

理想情况下,您的应用程序应该通过重新尝试其工作而不会误导用户来透明地处理数据库错误.如果空闲数据库后端从它下面关闭,它应该不关心,它应该只是建立一个新连接并再次启动事务.我不知道Rails和ActiveRecord如何实现这一点.

另见问题What’s the cause of “PGError: FATAL: terminating connection due to administrator command” on heroku?.

似乎Heroku会在他们进行维护时有时会杀死后端并重新启动服务器,这可能会解释您的问题,如果您的使用非常罕见.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐