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_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_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.