diff options
Diffstat (limited to 'src/backend/replication/logical/launcher.c')
-rw-r--r-- | src/backend/replication/logical/launcher.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/backend/replication/logical/launcher.c b/src/backend/replication/logical/launcher.c index 970d170e73a..ceea1262315 100644 --- a/src/backend/replication/logical/launcher.c +++ b/src/backend/replication/logical/launcher.c @@ -797,8 +797,11 @@ logicalrep_worker_onexit(int code, Datum arg) * Session level locks may be acquired outside of a transaction in * parallel apply mode and will not be released when the worker * terminates, so manually release all locks before the worker exits. + * + * The locks will be acquired once the worker is initialized. */ - LockReleaseAll(DEFAULT_LOCKMETHOD, true); + if (!InitializingApplyWorker) + LockReleaseAll(DEFAULT_LOCKMETHOD, true); ApplyLauncherWakeup(); } |