2012-08-10 13 views
5

que recientemente se trasladaron a Postgres y estoy recibiendo errores intermitentes de la forma:Problemas con Postgres nivel de arranque

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' 

¿Qué puedo hacer para evitar esto (aparte de ir de nuevo a la edad de Postgres Addon, que es una solución temporal, supongo).

+1

¿Tiene algo en el servidor que envíe sigterm a postgresql? http://archives.postgresql.org/pgsql-general/2010-09/msg00428.php – some

+0

No bajo mi control, sin duda. No sé si heroku puede estar haciendo algo. El sitio recibe muy poco tráfico, por lo que heroku puede "suspenderlo". – baldmark

+0

@baldmark ¿Pudiste resolver esto? Estoy obteniendo el mismo error. Heroku me dijo que moviera mi base de datos en otro servidor. – Nikhil

Respuesta

5

Idealmente, su aplicación debería hacer frente de forma transparente a los errores de la base de datos volviendo a intentar su trabajo sin molestar al usuario. Si un back-end de base de datos inactivo se apaga por debajo de él, no debería importarle, solo debería hacer una nueva conexión y comenzar la transacción nuevamente. No sé qué tan práctico Rails y ActiveRecord hacen eso.

Véase también la pregunta What's the cause of "PGError: FATAL: terminating connection due to administrator command" on heroku?.

Parece que Heroku matará a veces backends y reiniciará los servidores cuando están realizando mantenimiento, lo que podría explicar sus problemas si su uso es muy poco frecuente.

Cuestiones relacionadas