2012-08-10 15 views
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のアドオン、に戻ってから離れて(これを回避するために何ができますか私が仮定する一時的な解決策)。

+1

sigtermをpostgresqlに送信するサーバ上に何かがありますか? http://archives.postgresql.org/pgsql-general/2010-09/msg00428.php – some

+0

私の管理下にはありません。 herokuが何かをしているかどうかわからない。サイトはトラフィックがほとんどないので、herokuはそのトラフィックを「中断」する可能性があります。 – baldmark

+0

@baldmarkこれを解決できましたか?同じエラーが発生しています。 Herokuは私のデータベースを他のサーバー上で動かすように言った。 – Nikhil

答えて

5

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

質問What's the cause of "PGError: FATAL: terminating connection due to administrator command" on heroku?も参照してください。

Herokuがバックエンドを強制終了し、メンテナンス中にサーバを再起動することがあるようです。これは、ごくまれに使用した場合に問題を説明する可能性があります。