Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
Pages : 1
#1 27/04/2011 19:08:48
- Pooky
- Membre
Vacuum FULL
Bonjour,
Existerait il une table système sur laquelle s'appuyer afin de connaitre l'état de fragmentation des tables ?
En gros puis je obtenir une estimation de l'espace disque que je pourrais gagner en faisant un vacuum full sur ma base ?
Sachant que c'est une opération qui peut s'avérer parfois lourde, j'aimerais être sur du gain que je peux en retirer.
Merci par avance.
Hors ligne
#2 27/04/2011 21:02:01
- gleu
- Administrateur
Re : Vacuum FULL
Existerait il une table système sur laquelle s'appuyer afin de connaitre l'état de fragmentation des tables ?
Non.
En gros puis je obtenir une estimation de l'espace disque que je pourrais gagner en faisant un vacuum full sur ma base ?
L'outil check_postgres est capable de le faire avec son action bloat. Ceci dit, ce n'est qu'une estimation. De toute façon, l'utilisation de l'option FULL est à envisager que dans deux cas : suppression ou mise à jour massive (ie au moins la moitié de la table), ou base hors production.
Guillaume.
Hors ligne
#3 03/05/2011 16:50:55
- Pooky
- Membre
Re : Vacuum FULL
Merci bien.
J'aurais une autre interrogation concernant cette fois ci la remise a zéro des statistiques.
A part l'utilisation de pg_stat_reset, y'a t'il d'autres événements qui peuvent remettre a jour les statistiques du nombre de fois qu'un index est utilisé par exemple ?
Un REINDEX puisqu'il drop et recréer les index si je ne m'abuse, remet-il a zéro également les statistiques ?
Hors ligne
#4 03/05/2011 16:54:46
- gleu
- Administrateur
Re : Vacuum FULL
L'implémentation de REINDEX revient à un DROP et à un CREATE mais ce n'est pas la même chose qu'un DROP suivi d'un CREATE. Donc, non, vous ne perdez pas les statistiques en question.
Sur les anciennes versions, il y avait un paramètre stats_reset_on_server_start pour réinitialiser les stats au démarrage du serveur. Ce paramètre a disparu depuis la 8.3.
En dehors de ça, il est possible de supprimer le fichier de stats. Dans ce cas toutes les stats disparaissent.
Si vous voulez pouvoir supprimer des stats sur des objets spécifiques, il vous faut une version 9.0.
Guillaume.
Hors ligne
#5 03/05/2011 16:57:53
- Marc Cousin
- Membre
Re : Vacuum FULL
Il existe quand même un module contrib, pgstattuple, qui permet de mesurer, et non plus d'estimer, la fragmentation d'une table. Il a un défaut: il faut scanner intégralement la table pour avoir l'information.
Marc.
Hors ligne
Pages : 1