Brian Colman escribió: > El problema que estoy teniendo es que debido a la cantidad de transacciones > de escritura, se dispara el autovacuum para evitar el wraparround, y se > producen bloqueos que impiden el insert y el update, este bloqueo dura > aproximadamente 6 horas, aparentemente cuando se dispara el autovacuum para > la tabla principal.
Vacuum no bloquea insert ni update. Pero quizás haya alguna otra operación que causa un bloqueo, por ejemplo un ALTER TABLE. Para saber qué realmente está pasando, mira la vista pg_locks buscando algún registro con granted=false. Ten en cuenta que autovacuum "comete suicidio" cuando encuentra otro proceso que está siendo bloqueado por él; excepto que cuando llega el tiempo de un autovacuum de emergencia (por la edad para wraparound) este mecanismo se desactiva. ¿Cuándo y cómo se crean las particiones nuevas? > vacuum_cost_delay = 100 > vacuum_cost_page_hit = 100 > vacuum_cost_page_miss = 100 > vacuum_cost_page_dirty = 50 > vacuum_cost_limit = 200 Hm, estos valores hacen que un vacuum se demore demasiado tiempo: va a dormir durante 100 milisegundos por cada 4 páginas modificadas. Considera revertir estos valores a los de fábrica. En cualquier caso lee su documentación. -- Álvaro Herrera http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Training & Services - Enviado a la lista de correo pgsql-es-ayuda ([email protected]) Para cambiar tu suscripción: http://www.postgresql.org/mailpref/pgsql-es-ayuda
