43.10. pg_autovacuum
Le catalogue pg_autovacuum stocke les
paramètres de configuration optionnelle par relation pour le démon
autovacuum. S'il existe une entrée pour une relation particulière,
les paramètres donnés sont utilisés par autovacuum pour cette table.
Si aucune entrée n'est présente, les paramètres par défaut du système
sont utilisés. Pour plus d'informations sur le démon autovacuum, voir
Section 22.1.4, « Le
démon auto-vacuum ».
Tableau 43.10. Colonnes de pg_autovacuum
|
Nom
|
Type
|
Références
|
Description
|
|
vacrelid
|
oid
|
pg_class
.oid
|
Le table concernée par l'entrée
|
|
enabled
|
bool
|
|
Si false, la table n'est jamais
prise en compte par autovacuum
|
|
vac_base_thresh
|
integer
|
|
Nombre minimum de lignes modifiées avant de lancer un
vacuum
|
|
vac_scale_factor
|
float4
|
|
Multiplicateur pour
reltuples
à ajouter à
vac_base_thresh
|
|
anl_base_thresh
|
integer
|
|
Nombre minimum de lignes modifiées avant de lancer une
analyse
|
|
anl_scale_factor
|
float4
|
|
Multiplicateur pour
reltuples
à ajouter à
anl_base_thresh
|
|
vac_cost_delay
|
integer
|
|
Paramètre vacuum_cost_delay
personnalisé
|
|
vac_cost_limit
|
integer
|
|
Paramètre vacuum_cost_limit
personnalisé
|
|
freeze_min_age
|
integer
|
|
Paramètre vacuum_freeze_min_age
personnalisé
|
|
freeze_max_age
|
integer
|
|
Paramètre autovacuum_freeze_max_age personnalisé
|
Le démon autovacuum lance une opération de
VACUUM
sur une table particulière
quand le nombre de lignes mises à jour ou supprimées dépasse
vac_base_thresh
plus
vac_scale_factor
multiplié par le nombre
de lignes actives alors estimées pour la relation. De façon
similaire, il initie une opération
ANALYZE
quand le nombre de lignes
insérées, mises à jour ou supprimées dépasse
anl_base_thresh
plus
anl_scale_factor
multiplié par le nombre
de lignes actives alors estimées pour la relation.
De plus, le démon autovacuum réalise une opération de
VACUUM
pour prévenir la
réinitialisation de l'ID de transaction si le champ pg_class.
relfrozenxid
de la table atteint un âge
de plus de
freeze_max_age
transactions, que la table ait été modifiée ou non. Le système lance
autovacuum pour exécuter de tels
VACUUM
même si autovacuum est
désactivé. Voir Section 22.1.3,
« Éviter les cycles des identifiants de transactions »
pour plus d'informations sur la réinitialisation de l'ID de
transaction.
Tout champ numérique peut contenir -1 (ou
une autre valeur négative) pour indiquer que la valeur par défaut du
système doit être utilisée pour cette valeur particulière. La
variable
vac_cost_delay
hérite
sa valeur par défaut du paramètre de configuration autovacuum_vacuum_cost_delay
ou de vacuum_cost_delay si le premier est
négatif. La même logique s'applique à
vac_cost_limit
. De plus, autovacuum
ignore les tentatives d'initialisation par table d'un
freeze_max_age
plus grand que celui du
sysstème (il peut seulement être plus petit).
freeze_min_age
est limité à la moitié du
paramètre autovacuum_freeze_max_age
du système.