pgsql: Release lock on heap buffer before vacuuming FSM

Поиск
Список
Период
Сортировка
От Andres Freund
Тема pgsql: Release lock on heap buffer before vacuuming FSM
Дата
Msg-id E1r45pT-005wIc-Nm@gemulon.postgresql.org
обсуждение исходный текст
Список pgsql-committers
Release lock on heap buffer before vacuuming FSM

When there are no indexes on a table, we vacuum each heap block after
pruning it and then update the freespace map. Periodically, we also
vacuum the freespace map. This was done while unnecessarily holding a
lock on the heap page. Release the lock before calling
FreeSpaceMapVacuumRange() and, while we're at it, ensure the range
includes the heap block we just vacuumed.

There are no known deadlocks or other similar issues, therefore don't
backpatch. It's certainly not good to do all this work under a lock, but it's
not frequently reached, making it not worth the risk of backpatching.

Author: Melanie Plageman <melanieplageman@gmail.com>
Reviewed-by: Andres Freund <andres@anarazel.de>
Discussion: https://postgr.es/m/CAAKRu_YiL%3D44GvGnt1dpYouDSSoV7wzxVoXs8m3p311rp-TVQQ%40mail.gmail.com

Branch
------
master

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

Modified Files
--------------
src/backend/access/heap/vacuumlazy.c | 30 ++++++++++++++++++------------
1 file changed, 18 insertions(+), 12 deletions(-)


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

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: pgsql: docs: Document --with-selinux/-Dselinux options centrally
Следующее
От: Andres Freund
Дата:
Сообщение: Re: pgsql: docs: Document --with-selinux/-Dselinux options centrally