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