diff --git a/src/backend/replication/logical/launcher.c b/src/backend/replication/logical/launcher.c index 2d663f6..394b1eb 100644 --- a/src/backend/replication/logical/launcher.c +++ b/src/backend/replication/logical/launcher.c @@ -305,7 +305,7 @@ logicalrep_worker_launch(Oid dbid, Oid subid, const char *subname, Oid userid, bgw.bgw_restart_time = BGW_NEVER_RESTART; bgw.bgw_notify_pid = MyProcPid; - bgw.bgw_main_arg = slot; + bgw.bgw_main_arg = Int32GetDatum(slot); if (!RegisterDynamicBackgroundWorker(&bgw, &bgw_handle)) { diff --git a/src/backend/replication/logical/worker.c b/src/backend/replication/logical/worker.c index 656d399..fa4f3b6 100644 --- a/src/backend/replication/logical/worker.c +++ b/src/backend/replication/logical/worker.c @@ -1441,7 +1441,7 @@ subscription_change_cb(Datum arg, int cacheid, uint32 hashvalue) void ApplyWorkerMain(Datum main_arg) { - int worker_slot = DatumGetObjectId(main_arg); + int worker_slot = DatumGetInt32(main_arg); MemoryContext oldctx; char originname[NAMEDATALEN]; XLogRecPtr origin_startpos;