No parar aplicación en vacuum full

From: Pisa Borràs, Anna <anna(dot)pisa(at)tecsidel(dot)es>
To: "pgsql-es-ayuda(at)postgresql(dot)org" <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: No parar aplicación en vacuum full
Date: 2008-06-02 08:37:02
Message-ID: E1DA896B8C4CAD45AB72083FA456C8C212662ED144@SRV-BCNMX.tecsidel.es
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Hola,

Recurro a vosotros para ver si me podéis ayudar en lo siguiente:

He tenido que migrar una bd de Informix a Postgresql en una aplicación que ya tiene unos años. No tuve ningún problema hasta que el cambio pasó de pruebas a explotación. A la semana la máquina iba a pedales, y los accesos a la base de datos duraban minutos. (Novata que era una en PostgreSQL)
Documentándome entré en el maravilloso mundo del vacuum. Logré estabilizar el sistema haciendo un autovacuum cada hora, un vacuum full cada día ( a las 3 de la madrugada, que el sistema va mas descargado, se ejecuta un script con el vacuum full) y aumentar el valor de parámetros de memoria o free space map . Con esta configuración todo marcha sobre ruedas.

Ahora los detalles: la aplicación modifica una tabla, que puede llegar a tener unos 70 registros, cada uno recibe un update cada 15 segundos, con lo cual os podéis imaginar como crece esta tabla cada día.

Para que el vacuum full haga limpieza debo parar la aplicación, y la vuelvo a arrancar una vez ha acabado el vacuum full. Cuando hice pruebas con la aplicación en funcionamiento encontraba cantidad de filas removibles pero luego no se podían borrar.

INFO: “tabla”: found nnnnnn removable, 70 non removable rows versions in xxxx pages
DETAIL: nnnnnn dead row versions cannot be removed yet

Es como si el vacuum full no pudiera bloquear la tabla para hacer la limpieza. (Puede ser esto realmente?)

Mi pregunta es si hay algún mecanismo o parámetro que permita que el vacuum full haga la limpieza de dicha tabla sin parar la aplicación.

Las máquinas sobre las que esta la aplicación y la BBDD son SUN con Solaris 10. La versión de PostgreSQL es la 8.1 11/6, la que trae el Solaris 10.

Gracias de antemano.

Saludos cordiales,

Anna

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Raúl Andrés Duque Murillo 2008-06-02 10:19:01 Re: Optimizar JOINS en vista
Previous Message José Manuel Ruiz 2008-06-02 07:28:32 Re: OT - PHP Postgresql