2010-01-08 14 views
8

en los días previos a 8.x He ejecutado numerosas bases de datos PGSQL en Linux, y la base de datos pasó la aspiradora explícitamente a través del script de mantenimiento.¿Cómo puedo saber si Autovacuum se está ejecutando en Windows Server 2003 para mi base de datos PGSQL?

Cuando apareció 8.x, no me moví al autovacuum en esos sistemas porque estaba funcionando bien, así que no es necesario cambiar nada. Entonces no soy un experto en autovacuum.

Ahora en la era post-8.x me encuentro con algunas bases de datos PGSQL ejecutándose en Windows Server 2003 o posterior.

Parece que el autovacuum debe ejecutarse porque hemos seguido las instrucciones y lo hemos dejado en el archivo .conf.

Sin embargo, conectar PGAdmin a la base de datos nos indica que debemos ejecutar VACUUM.

¿Cómo se puede saber si el daemon de autovacuum se está ejecutando y cuidando su (s) base (s) de datos, y pasarlos a la aspiradora correctamente?

+0

Consulte http://stackoverflow.com/q/19826467/41906 para obtener una respuesta específica de UNIX. –

Respuesta

8

Hay columnas en pg_stat_user_tables que enumeran cuándo se ejecutó el último autovacuum y autoanalyze en una tabla; ese es un buen punto de partida. Y, por supuesto, el archivo de registro contendrá información sobre lo que está haciendo el autovacuum.

Puede ver específicamente los procesos postgres.exe con una herramienta como Process Explorer. Habrá un mutex específicamente nombrado para emular la información de línea de comandos ps disponible en Unix. Debería ser fácil de encontrar. Y solo puede buscar "autovacuum" para asegurarse de que se está ejecutando.

+0

Ah. Excelente, eso parece prometedor. Voy a hurgar en esa tabla y en el archivo de registro y promover esta respuesta de manera adecuada. – liamf

Cuestiones relacionadas