Type: | integer |
Défaut: | 65536 (64MB) |
Min: | 1024 (1MB) |
Max: | 2147483647 (2147483647kB) |
Unité: | KB |
Contexte: | user |
Redémarrer: | false |
Indique la quantité maximale de mémoire que peuvent utiliser les opérations de maintenance telles que VACUUM, CREATE INDEX et ALTER TABLE ADD FOREIGN KEY. Si cette valeur est indiquée sans unité, elle est considérée etre en Ko. La valeur par défaut est de 64 Mo. Puisque seule une de ces opérations peut être exécutée à la fois dans une session et que, dans le cadre d'un fonctionnement normal, peu d'opérations de ce genre sont exécutées concurrentiellement sur une même installation, il est possible d'initialiser cette variable à une valeur bien plus importante que work_mem. Une grande valeur peut améliorer les performances des opérations VACUUM et de la restauration des sauvegardes.
Quand autovacuum fonctionne, un maximum de autovacuum_max_workers fois cette quantité de mémoire peut être utilisée. Il convient donc de s'assurer de ne pas configurer la valeur par défaut de façon trop importante. Il pourrait être utile de contrôler ceci en configurant autovacuum_work_mem séparément.
Recommandations [EN]
Sur StackOverflow
Sur pgsql-hackers
- Proposal for Resumable Vacuum (again ...)
- Re: Add the ability to limit the amount of memory that can be allocated to backends.
- Re: Proposal for Resumable Vacuum (again ...)
- Re: [PATCH] Improve amcheck to also check UNIQUE constraint in btree index.
- Re: Making the initial and maximum DSA segment sizes configurable