From: | Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org> |
---|---|
To: | pgsql-committers(at)lists(dot)postgresql(dot)org |
Subject: | pgsql: Ignore invalidated slots while computing oldest catalog Xmin |
Date: | 2022-11-22 09:56:57 |
Message-ID: | E1oxQ1Q-000L9g-Ue@gemulon.postgresql.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-committers |
Ignore invalidated slots while computing oldest catalog Xmin
Once a logical slot has acquired a catalog_xmin, it doesn't let go of
it, even when invalidated by exceeding the max_slot_wal_keep_size, which
means that dead catalog tuples are not removed by vacuum anymore since
the point is invalidated, until the slot is dropped. This could be
catastrophic if catalog churn is high.
Change the computation of Xmin to ignore invalidated slots,
to prevent dead rows from accumulating.
Backpatch to 13, where slot invalidation appeared.
Author: Sirisha Chamarthi <sirichamarthi22(at)gmail(dot)com>
Reviewed-by: Ashutosh Bapat <ashutosh(dot)bapat(dot)oss(at)gmail(dot)com>
Discussion: https://postgr.es/m/CAKrAKeUEDeqquN9vwzNeG-CN8wuVsfRYbeOUV9qKO_RHok=j+g@mail.gmail.com
Branch
------
REL_15_STABLE
Details
-------
https://git.postgresql.org/pg/commitdiff/1ad033df16df8d9f9e9f597ca31915266dfbdfb9
Modified Files
--------------
src/backend/replication/slot.c | 7 +++++++
src/backend/storage/ipc/procarray.c | 3 +++
2 files changed, 10 insertions(+)
From | Date | Subject | |
---|---|---|---|
Next Message | Amit Kapila | 2022-11-22 10:12:32 | pgsql: Improve comments atop pg_get_replication_slots. |
Previous Message | Andres Freund | 2022-11-22 04:40:09 | pgsql: Add wait event for pg_usleep() in perform_spin_delay() |