pgsql: Fix memory leak when de-toasting compressed values in VACUUM FUL

Поиск
Список
Период
Сортировка
От Michael Paquier
Тема pgsql: Fix memory leak when de-toasting compressed values in VACUUM FUL
Дата
Msg-id E1llPbb-0006xS-Cu@gemulon.postgresql.org
обсуждение исходный текст
Список pgsql-committers
Fix memory leak when de-toasting compressed values in VACUUM FULL/CLUSTER

VACUUM FULL and CLUSTER can be used to enforce the use of the existing
compression method of a toastable column if a value currently stored is
compressed with a method that does not match the column's defined
method.  The code in charge of decompressing and recompressing toast
values at rewrite left around the detoasted values, causing an
accumulation of memory allocated in TopTransactionContext.

When processing large relations, this could cause the system to run out
of memory.  The detoasted values are not needed once their tuple is
rewritten, and this commit ensures that the necessary cleanup happens.

Issue introduced by bbe0a81d.  The comments of the area are reordered a
bit while on it.

Reported-by: Andres Freund
Analyzed-by: Andres Freund
Author: Michael Paquier
Reviewed-by: Dilip Kumar
Discussion: https://postgr.es/m/20210521211929.pcehg6f23icwstdb@alap3.anarazel.de

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/fb0f5f0172edf9f63c8f70ea9c1ec043b61c770e

Modified Files
--------------
src/backend/access/heap/heapam_handler.c | 31 ++++++++++++++++++++++---------
1 file changed, 22 insertions(+), 9 deletions(-)


В списке pgsql-committers по дате отправления:

Предыдущее
От: Amit Kapila
Дата:
Сообщение: pgsql: Doc: Update logical decoding stats information.
Следующее
От: Peter Eisentraut
Дата:
Сообщение: pgsql: postgresql.conf.sample: Make vertical spacing consistent