5

最近 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 アドオンに戻ることは別として)。

4

1 に答える 1

5

理想的には、ユーザーに迷惑をかけずに作業を再試行することで、アプリがデータベース エラーに透過的に対処する必要があります。アイドル状態の DB バックエンドがその下からシャットダウンされた場合、気にする必要はありません。単に新しい接続を確立して、トランザクションを再開する必要があります。ただし、Rails と ActiveRecord がそれをどのように実現するかはわかりません。

Heroku での「PGError: FATAL: terinating connection due to administrator command」の原因は何ですか? の質問も参照してください。.

Heroku はメンテナンス中にバックエンドを強制終了し、サーバーを再起動することがあるようです。

于 2012-08-11T06:40:58.463 に答える