Comment puis-je savoir si autovacuum est en cours d'exécution sur Windows Server 2003 pour ma base de données PGSQL?

StackOverflow https://stackoverflow.com/questions/2027046

  •  19-09-2019
  •  | 
  •  

Question

dans les jours pré-8.x J'ai couru de nombreuses bases de données PGSQL sur Linux, et a fait passer l'aspirateur la base de données explicitement via le script de maintenance.

Quand 8.x est venu, je ne bougeais pas à autovacuum sur ces systèmes sur la base qu'il fonctionnait très bien donc pas besoin de changer quoi que ce soit. Donc, je ne suis pas un expert autovacuum.

Maintenant dans l'ère post-8.x je me retrouve avec des bases de données PGSQL fonctionnant sous Windows Server 2003 ou plus récent.

On dirait que autovacuum devraient être parce que nous avons suivi les instructions et à gauche il est activé dans le fichier .conf.

Cependant connecter jusqu'à PgAdmin à la base de données nous invite que nous devrions lancer VACUUM.

Comment pouvez-vous dire si le démon autovacuum est en cours d'exécution et après la base de données à la recherche (s), et les passer l'aspirateur correctement?

Était-ce utile?

La solution

Il y a des colonnes dans pg_stat_user_tables cette liste lorsque la dernière autovacuum et autoanalyze a été exécuté sur une table - c'est un bon point de départ. Et bien sûr, le fichier journal contiendra des informations sur ce que autovacuum fait.

Vous pouvez examiner spécifiquement les processus de postgres.exe avec un outil comme Process Explorer. Il y aura un mutex nommé spécifiquement à imiter les informations ps disponibles sur Unix commandline. Il devrait être facile à trouver. Et vous pouvez simplement rechercher « autovacuum » pour vous assurer qu'il est en cours d'exécution.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top