Vous n'êtes pas identifié(e).
Pages : 1
Bonjour à tous,
J'ai une question toutes simple à la quelle je ne trouve pas forcément de réponse.
Sur une table contenant plusieurs centaine de milliers d'enregistrements, mis à jour quotidiennement en nombre (plusieurs dizaine de milliers) il me semble indispensable de mettre en place un AUTO VACUUM quotidien.
Ma question porte sur la ré indexation.
Etant donné que l'AUTO VACUUM va nettoyer les lignes cachés, j'imagine que ces lignes étaient indexées.
De fait, est-il nécessaire de lancer une réindexation à chaque VACUUM (auto ou pas) réalisé ?
Merci.
Geo-x
Hors ligne
Bonjour,
Par définition autovacuum est le contraire d'une planification manuelle d'un vacuum.
La meilleure chose à faire est normalement de configurer autovacuum pour la ou les tables afin qu'autovacuum la traite avec une fréquence suffisamment importante. De plus, avez-vous constaté une baisse de performance sur les requêtes utilisant cette table, ou une augmentation significative du bloat et/ou de la volumétrie ?
Pour finir, il n'est généralement pas nécessaire de faire un REINDEX, pour peu que l'autovacuum soit correctement configuré.
Julien.
https://rjuju.github.io/
Hors ligne
C'est la même table que pour mon autre sujet en réalité :-) (https://forums.postgresql.fr/viewtopic. … 724#p33724)
Il n'y a pas forcément de grosses baisses de performances à ce stade, en revanche la volumétrie est conséquente (plusieurs dizaine de milliers d'enregistrements quotidiens)
Hors ligne
Suivez-vous l'activité d'autovacuum sur cette table, notamment pg_stat_user_tables.last_autovacuum et last_autoanalyze?
plusieurs dizaine de milliers d'enregistrements quotidiens
S'agit-il de nouveaux enregistrements ou d'enregistrements modifiés ? Ce n'est cependant à priori pas grand chose, à moins que chaque ligne fasse plusieurs centaines de Mo.
Julien.
https://rjuju.github.io/
Hors ligne
Je n'ai pas encore mis en place l'AUTO VACUUM, c'était une question en amont :-)
Pour le moment je fais les VACUUM manuellement.
Sur les dizaine de milliers de nouveaux enregistrements, il s'agit d'un mix insertion/mises à jour, et non chaque ligne ne fait pas plusieurs centaines de Mo. Pour donner un ordre d'idée j'ai 495 000 enregistrements pour un poids total 29 Go soit environ 0,05 Mo / ligne.
Hors ligne
Je n'ai pas encore mis en place l'AUTO VACUUM, c'était une question en amont :-)
L'autovacuum est actif par défaut depuis la version 8.3. Êtes-vous en version 8.2 ou inférieur, ou avez-vous explicitement désactivé l'autovacuum ou vous voulez dire que l'autovacuum est actif, avec les réglages par défaut ?
j'ai 495 000 enregistrements pour un poids total 29 Go soit environ 0,05 Mo / ligne
Ce qui semble donc indiquer une absence de fragmentation hors de controle ?
Julien.
https://rjuju.github.io/
Hors ligne
Ah d'accord, je ne savais pas, je suis actuellement en version : PostgreSQL 10.18 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 7.3.1 20180712 (Red Hat 7.3.1-12), 64-bit
Comment puis-je savoir si l'autovacuum est activé ? Si dans PgAdmin je clique sur la base > Maintenance, je ne le vois pas activé.
Hors ligne
Aucune idée de ce que fais pgAdmin. Pour savoir si autovacuum est activé, il suffit d'exécuter la requête suivante :
SHOW autovacuum;
Si cela renvoie "on", c'est activé.
Julien.
https://rjuju.github.io/
Hors ligne
Pages : 1