diff --git a/src/backend/replication/logical/launcher.c b/src/backend/replication/logical/launcher.c index 4c6d4b2772..6c894421a3 100644 --- a/src/backend/replication/logical/launcher.c +++ b/src/backend/replication/logical/launcher.c @@ -929,11 +929,14 @@ ApplyLauncherMain(Datum main_arg) Subscription *sub = (Subscription *) lfirst(lc); LogicalRepWorker *w; + if (!sub->enabled) + continue; + LWLockAcquire(LogicalRepWorkerLock, LW_SHARED); w = logicalrep_worker_find(sub->oid, InvalidOid, false); LWLockRelease(LogicalRepWorkerLock); - if (sub->enabled && w == NULL) + if (w == NULL) { last_start_time = now; wait_time = wal_retrieve_retry_interval;