| From: | Álvaro Herrera <alvherre(at)kurilemu(dot)de> |
|---|---|
| To: | pgsql-committers(at)lists(dot)postgresql(dot)org |
| Subject: | pgsql: Have the REPACK decoding worker use timeout values from the stee |
| Date: | 2026-09-17 10:48:03 |
| Message-ID: | E1x79et-0000000068H-35SU@gemulon.postgresql.org |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-committers |
Have the REPACK decoding worker use timeout values from the steering backend
The worker connects as the table owner in a new session, so a role- or
database-level lock_timeout and transaction_timeout unhelpfully apply to
it, possibly canceling the wait for older transactions. This cannot be
overridden by the REPACK calling session. Fix by passing the timeout
values from the steering backend via the DecodingWorkerShared struct and
adopting these values in the worker; this way, values from session-local
SET reach the worker too.
In passing, remove a pointless member from the same struct.
Author: Shihao Zhong <zhong950419(at)gmail(dot)com>
Backpatch-through: 19
Discussion: https://postgr.es/m/CAGRkXqTYaBjFvjtjPb1+=sZWvt93=2c472bmM+xdG7w9ZvAydA@mail.gmail.com
Branch
------
REL_19_STABLE
Details
-------
https://git.postgresql.org/pg/commitdiff/746a507a391b7c1d333ff969ab08d60575da9630
Modified Files
--------------
src/backend/commands/repack.c | 5 ++++-
src/backend/commands/repack_worker.c | 11 ++++++++++-
src/include/commands/repack_internal.h | 5 ++++-
3 files changed, 18 insertions(+), 3 deletions(-)
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Daniel Gustafsson | 2026-09-17 12:54:39 | pgsql: Fix postmaster crash on whitespace-only oauth_validator_librarie |
| Previous Message | Michael Paquier | 2026-09-17 10:26:49 | pgsql: Tolerate partial pgstats entries in pgstat_gc_entry_refs() |