pgsql: Speedup truncations of relation forks.

Поиск
Список
Период
Сортировка
От Fujii Masao
Тема pgsql: Speedup truncations of relation forks.
Дата
Msg-id E1iCgFM-0001d8-UH@gemulon.postgresql.org
обсуждение исходный текст
Список pgsql-committers
Speedup truncations of relation forks.

When a relation is truncated, shared_buffers needs to be scanned
so that any buffers for the relation forks are invalidated in it.
Previously, shared_buffers was scanned for each relation forks, i.e.,
MAIN, FSM and VM, when VACUUM truncated off any empty pages
at the end of relation or TRUNCATE truncated the relation in place.
Since shared_buffers needed to be scanned multiple times,
it could take a long time to finish those commands especially
when shared_buffers was large.

This commit changes the logic so that shared_buffers is scanned only
one time for those three relation forks.

Author: Kirk Jamison
Reviewed-by: Masahiko Sawada, Thomas Munro, Alvaro Herrera, Takayuki Tsunakawa and Fujii Masao
Discussion: https://postgr.es/m/D09B13F772D2274BB348A310EE3027C64E2067@g01jpexmbkw24

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/6d05086c0a79e50d8e91ed953626ec7280cd2481

Modified Files
--------------
contrib/pg_visibility/pg_visibility.c     | 11 +++-
src/backend/access/heap/visibilitymap.c   | 37 ++++++-------
src/backend/catalog/storage.c             | 87 +++++++++++++++++++++++++++----
src/backend/storage/buffer/bufmgr.c       | 30 +++++++----
src/backend/storage/freespace/freespace.c | 42 +++++----------
src/backend/storage/smgr/smgr.c           | 37 ++++++++++---
src/include/access/visibilitymap.h        |  3 +-
src/include/storage/bufmgr.h              |  4 +-
src/include/storage/freespace.h           |  3 +-
src/include/storage/smgr.h                |  4 +-
10 files changed, 172 insertions(+), 86 deletions(-)


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

Предыдущее
От: Peter Eisentraut
Дата:
Сообщение: pgsql: Don't disable ccache when building with coverage support
Следующее
От: Tom Lane
Дата:
Сообщение: pgsql: Prevent bogus pullup of constant-valued functions returning comp