vacuum
) automatiqueCes paramètres contrôlent le comportement de la fonctionnalité appelée autovacuum. Se référer à la Section 24.1.6 pour plus de détails. Notez que beaucoup de ces paramètres peuvent être surchargés au niveau de chaque table ; voir Paramètres de stockage.
autovacuum
(boolean
)
Contrôle si le serveur doit démarrer le démon d'autovacuum.
Celui-ci est activé par défaut. track_counts
doit aussi être activé pour que ce
démon soit démarré. Ce paramètre ne peut être configuré que dans le fichier
postgresql.conf
ou indiqué sur la ligne de commande;
cependant, le processus d'autovacuum peut être désactivé au niveau
de chaque table en modifiant les paramètres de stockage de la table.
Même si ce paramètre est désactivé, le système lance les processus autovacuum nécessaires pour empêcher le bouclage des identifiants de transaction. Voir Section 24.1.5 pour plus d'informations.
log_autovacuum_min_duration
(integer
)
Trace chaque action réalisée par l'autovacuum si elle dure chacune plus que
cette durée. Le configurer à zéro trace toutes les actions de l'autovacuum.
La valeur par défaut, -1
désactive les traces des
actions de l'autovacuum. Si cette valeur est indiquée sans unité, elle est
comprise comme un nombre de millisecondes.
Par exemple, s'il est configuré à 250ms
,
toutes les opérations VACUUM et ANALYZE qui durent plus de 250
ms sont tracées. De plus, quand ce paramètre est configurée à
une valeur autre que -1
, un message sera
tracé si l'action de l'autovacuum est abandonnée à cause de
l'existence d'un verrou en conflit. Activer ce paramètre peut
être utile pour tracer l'activité de l'autovacuum. Ce paramètre
ne peut être configuré que dans le fichier
postgresql.conf
ou indiqué sur la ligne de
commande;
mais le paramètre peut être surchargé au niveau de chaque table
en modifiant les paramètres de stockage de la table.
autovacuum_max_workers
(integer
)Indique le nombre maximum de processus autovacuum (autre que le lanceur d'autovacuum) qui peuvent être exécutés simultanément. La valeur par défaut est 3. Ce paramètre ne peut être configuré qu'au lancement du serveur.
autovacuum_naptime
(integer
)
Indique le délai minimum entre les tours d'activité du démon autovacuum sur
une base. À 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. Si cette valeur est indiquée sans
unité, elle est comprise comme un nombre de secondes. Il vaut, par défaut,
une minute (1min
). Ce paramètre ne peut être configuré
que dans le fichier postgresql.conf
ou indiqué sur la
ligne de commande.
autovacuum_vacuum_threshold
(integer
)
Indique le nombre minimum de lignes mises à jour ou supprimées
nécessaire pour déclencher un VACUUM
sur une table.
La valeur par défaut est de 50 lignes.
Ce paramètre ne peut être configuré que dans le fichier
postgresql.conf
ou indiqué sur la ligne de commande
mais il est possible de surcharger ce paramètre pour toute table en
modifiant les paramètres de stockage de la table.
autovacuum_vacuum_insert_threshold
(integer
)
Indique le nombre de lignes enregistrées avant de déclencher un
VACUUM
sur une table. La valeur par défaut est 1000
lignes. Si -1 est indiqué, autovacuum ne déclenchera pas d'opération
VACUUM
sur une table en se basant sur le nombre
d'insertions. Ce paramètre peut seulement être configuré dans le fichier
postgresql.conf
et sur la ligne de commande du
serveur ; mais la configuration peut être surchargée par des tables
individuelles en modifiant leur paramètres de stockage.
autovacuum_analyze_threshold
(integer
)
Indique le nombre minimum de lignes insérées, mises à jour ou supprimées
nécessaire pour déclencher un ANALYZE
sur une table. La valeur
par défaut est de 50 lignes.
Ce paramètre ne peut être configuré que dans le fichier
postgresql.conf
ou indiqué sur la ligne de commande
mais il est possible de surcharger ce paramètre pour toute table en
modifiant les paramètres de stockage de la table.
autovacuum_vacuum_insert_scale_factor
(floating point
)
Indique une fraction de la taille de la table à ajouter à
autovacuum_vacuum_insert_threshold
avant de décider de
déclencher un VACUUM
sur une table. La valeur par défaut
est 0,2 (soit 20% de la table). Ce paramètre peut seulement être configuré
dans le fichier postgresql.conf
et sur la ligne de
commande du serveur ; mais la configuration peut être surchargée par
des tables individuelles en modifiant leur paramètres de stockage.
autovacuum_vacuum_scale_factor
(floating point
)
Indique la fraction de taille de la table à ajouter à
autovacuum_vacuum_threshold
pour décider du moment
auquel déclencher un VACUUM
. La valeur par défaut
est 0.2 (20 % de la taille de la table).
Ce paramètre ne peut être configuré que dans le fichier
postgresql.conf
ou indiqué sur la ligne de commande
mais il est possible de surcharger ce paramètre pour toute table en
modifiant les paramètres de stockage de la table.
autovacuum_analyze_scale_factor
(floating point
)
Indique la fraction de 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 0.1 (10 % de la taille de la table).
Ce paramètre ne peut être configuré que dans le fichier
postgresql.conf
ou indiqué sur la ligne de commande
mais il est possible de surcharger ce paramètre pour toute table en
modifiant les paramètres de stockage de la table.
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é.
L'opération VACUUM supprime aussi les anciens fichiers du
sous-répertoire pg_xact
, ce qui explique pourquoi
la valeur par défaut est relativement basse (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 modifiant les paramètres de stockage de la table. Pour plus
d'informations, voir Section 24.1.5.
autovacuum_multixact_freeze_max_age
(integer
)
Indique l'âge maximum (en multixacts) que le champ
pg_class
.relminmxid
d'une table peut atteindre avant qu'une opération
VACUUM
ne soit forcé pour empêcher une réutilisation
des identifiants multixact dans la table. Notez que le système lancera
les processus autovacuum pour empêcher la réutilisation même si
l'autovacuum est normalement désactivé.
Un VACUUM des multixacts s'occupe aussi de la suppression des anciens
fichiers à partir des sous-répertoires pg_multixact/members
et pg_multixact/offsets
, ce qui explique pourquoi
la valeur par défaut est relativement basse (400 million de multixacts).
Ce paramètre est seulement configurable au démarrage du serveur mais sa
valeur peut être réduite pour des tables individuelles en modifiant les
paramètres de stockage de la table. Pour plus d'informations, voir Section 24.1.5.1.
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 habituelle de vacuum_cost_delay est
utilisée. Si cette valeur est spécifiée sans unité, elle est comprise
comme un nombre de millisecondes. La valeur par défaut est 2 millisecondes.
Ce paramètre ne peut être configuré que dans le fichier
postgresql.conf
ou indiqué sur la ligne de commande
mais il est possible de le surcharger pour toute table en
modifiant les paramètres de stockage de la table.
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. La
valeur est distribuée proportionnellement entre les processus
autovacuum en cours d'exécution, s'il y en a plus d'un, de sorte que la
somme des limites de chaque processus ne dépasse jamais la limite de
cette variable.
Ce paramètre ne peut être configuré que dans le fichier
postgresql.conf
ou indiqué sur la ligne de commande
mais il est possible de le surcharger pour toute table en modifiant les
paramètres de stockage.