Add ps display while waiting for wal in read_local_xlog_page_guts
Hackorum builds and tests every patch posted to the lists, not only commitfest submissions. This is Hackorum's own CI rather than the PostgreSQL project's, and it is still under testing - please report anything that looks wrong.
You can run a PostgreSQL built from this patch straight from Docker, with no checkout and no build:
docker run --rm -p 5432:5432 ghcr.io/hackorum-dev/postgres-patch:t47739psql -h localhost -U postgresBuilt from patchset v1 (message #1), September 20, 2026 at 05:22 AM.
Every patchset is also pushed to a branch of our PostgreSQL fork, so you can check out the same tree CI built. Without a PostgreSQL checkout:
git clone --branch t47739_1 https://github.com/hackorum-dev/postgres.gitIn a checkout you already have, add the fork once:
git remote add hackorum https://github.com/hackorum-dev/postgres.gitthen, for this patchset and every later one:
git fetch hackorum t47739_1 && git checkout t47739_1Patchset v1 (message #1) is on t47739_1
Hi,
pg_create_logical_replication_slot can take longer than usual on a standby
when there is no activity on the primary. We don't have enough information
in the pg_stat_activity or process title to debug why this is taking so
long. Attached a small patch to update the process title while waiting for
the wal in read_local_xlog_page_guts. Any thoughts on introducing a new
wait event too?
For example, in my setup, slot creation took 8 minutes 13 seconds. It only
succeeded after I ran select txid_current() on primary.
postgres=# select pg_create_logical_replication_slot('s1','test_decoding');
pg_create_logical_replication_slot
------------------------------------
(s1,0/C096D10)
(1 row)
Time: 493365.995 ms (08:13.366)
Thanks,
Sirisha
sirisha chamarthi <sirichamarthi22@gmail.com> writes:
pg_create_logical_replication_slot can take longer than usual on a standby
when there is no activity on the primary. We don't have enough information
in the pg_stat_activity or process title to debug why this is taking so
long. Attached a small patch to update the process title while waiting for
the wal in read_local_xlog_page_guts. Any thoughts on introducing a new
wait event too?
set_ps_display is a fairly expensive operation on a lot of platforms,
so I'm concerned about the overhead this proposal would add. However,
getting rid of that pg_usleep in favor of a proper wait event seems
like a good idea.
regards, tom lane
Hi,
On 4/13/23 12:43 AM, sirisha chamarthi wrote:
Hi,
pg_create_logical_replication_slot can take longer than usual on a standby when there is no activity on the primary. We don't have enough information in the pg_stat_activity or process title to debug why this is taking so long. Attached a small patch to update the process title while waiting for the wal in read_local_xlog_page_guts. Any thoughts on introducing a new wait event too?
For example, in my setup, slot creation took 8 minutes 13 seconds. It only succeeded after I ran select txid_current() on primary.
FWIW, this behavior has been mentioned in 0fdab27ad6 and a new function (pg_log_standby_snapshot()) has been created/documented to accelerate the slot creation on the standby.
Regards,
--
Bertrand Drouvot
PostgreSQL Contributors Team
RDS Open Source Databases
Amazon Web Services: https://aws.amazon.com
Hi,
On 4/13/23 4:29 AM, Tom Lane wrote:
sirisha chamarthi <sirichamarthi22@gmail.com> writes:
pg_create_logical_replication_slot can take longer than usual on a standby
when there is no activity on the primary. We don't have enough information
in the pg_stat_activity or process title to debug why this is taking so
long. Attached a small patch to update the process title while waiting for
the wal in read_local_xlog_page_guts.
Thanks for the patch!
Any thoughts on introducing a new
wait event too?
set_ps_display is a fairly expensive operation on a lot of platforms,
so I'm concerned about the overhead this proposal would add. However,
getting rid of that pg_usleep in favor of a proper wait event seems
like a good idea.
+1 for adding a proper wait event.
Regards,
--
Bertrand Drouvot
PostgreSQL Contributors Team
RDS Open Source Databases
Amazon Web Services: https://aws.amazon.com