IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

17.9. Nettoyage automatique

Ces paramètres contrôlent le comportement de la fonctionnalité appelée autovacuum. On peut se référerer à la Section 22.1.4, « Le démon auto-vacuum » pour plus de détails.

autovacuum (boolean)

Contrôle si le serveur doit démarrer le démon d'autovacuum. Celui-ci est désactivé par défaut. stats_start_collector et stats_row_level doivent être activés pour que ce démon soit démarré. Ce paramètre ne peut qu'être configuré dans le fichier postgresql.conf ou indiqué sur la ligne de commande.

autovacuum_naptime (integer)

Indique le délai entre les tours d'activité du démon autovacuum. À chaque tour, le démon examine une base de données et lance les commandes VACUUM et ANALYZE nécessaires aux tables de cette base. Le délai, mesuré en secondes, vaut, par défaut, une minute (1m). Ce paramètre ne peut qu'être configuré dans le fichier postgresql.conf ou indiqué sur la ligne de commande.

Même si ce paramètre est désactivé, le système lance périodiquement les processus autovacuum pour empêcher le bouclage des identifiants de transaction. Voir Section 22.1.3, « Éviter les cycles des identifiants de transactions » pour plus d'informations.

autovacuum_vacuum_threshold (integer)

Indique le nombre minimum de lignes mises à jour ou supprimées nécessaires pour déclencher un VACUUM sur une table. La valeur par défaut est de 500 lignes. Ce paramètre ne peut qu'être configuré dans le fichier postgresql.conf ou indiqué sur la ligne de commande. Il est possible de surcharger ce paramètre pour toute table par l'insertion de données dans pg_autovacuum.

autovacuum_analyze_threshold (integer)

Indique le nombre minimum de lignes insérées, mises à jour ou supprimées nécessaires pour déclencher un ANALYZE sur une table. La valeur par défaut est de 250 lignes. Ce paramètre ne peut qu'être configuré dans le fichier postgresql.conf ou indiqué sur la ligne de commande. Il est possible de surcharger ce paramètre pour toute table par l'insertion de données dans pg_autovacuum.

autovacuum_vacuum_scale_factor (floating point)

Indique une fraction de la taille de la table à ajouter à autovacuum_vacuum_threshold pour décider du moment auquel déclencher un VACUUM . La valeur par défaut est de 0,2 (20 % de la taille de la table). Ce paramètre ne peut qu'être configuré dans le fichier postgresql.conf ou indiqué sur la ligne de commande. Il est possible de surcharger ce paramètre pour toute table par l'insertion de données dans pg_autovacuum.

autovacuum_analyze_scale_factor (floating point)

Indique une fraction de la taille de la table à ajouter à autovacuum_analyze_threshold pour décider du moment auquel déclencher une commande ANALYZE . La valeur par défaut est de 0,1 (10 % de la taille de la table). Ce paramètre ne peut qu'être configuré dans le fichier postgresql.conf ou indiqué sur la ligne de commande. Il est possible de surcharger ce paramètre pour toute table par l'insertion de données dans pg_autovacuum.

autovacuum_freeze_max_age (integer)

Indique l'âge maximum (en transactions) que le champ pg_class. relfrozenxid d'une table peut atteindre avant qu'une opération VACUUM ne soit forcée pour empêcher la réinitialisation de l'ID de transaction sur cette table. Le système lance les processus autovacuum pour éviter ce bouclage même si l'autovacuum est désactivé. La valeur par défaut est de 200 millions de transactions. Ce paramètre n'est lu qu'au démarrage du serveur mais il peut être diminué pour toute table en ajoutant des entrées dans pg_autovacuum. Pour plus d'information, voir Section 22.1.3, « Éviter les cycles des identifiants de transactions ».

autovacuum_vacuum_cost_delay (integer)

Indique la valeur du coût de délai utilisée dans les opérations de VACUUM . Si -1 est indiqué (la valeur par défaut), la valeur habituelle de vacuum_cost_delay est utilisée. Ce paramètre ne peut qu'être configuré dans le fichier postgresql.conf ou indiqué sur la ligne de commande. Il est possible de le surcharger pour toute table par l'insertion de données dans pg_autovacuum.

autovacuum_vacuum_cost_limit (integer)

Indique la valeur de coût limite utilisée dans les opérations de VACUUM automatiques. Si -1 est indiqué (valeur par défaut), la valeur courante de vacuum_cost_limit est utilisée. Ce paramètre ne peut qu'être configuré dans le fichier postgresql.conf ou indiqué sur la ligne de commande. Il est possible de le surcharger pour toute table par l'insertion de données dans pg_autovacuum.