diff --git a/src/common/backend/catalog/pg_builtin_proc.cpp b/src/common/backend/catalog/pg_builtin_proc.cpp index b544328e2..5e1427165 100755 --- a/src/common/backend/catalog/pg_builtin_proc.cpp +++ b/src/common/backend/catalog/pg_builtin_proc.cpp @@ -39,7 +39,8 @@ static_assert(sizeof(true) == sizeof(char), "illegal bool size"); static_assert(sizeof(false) == sizeof(char), "illegal bool size"); #define CUR_THR_IS_WORKER() (t_thrd.role == WORKER || t_thrd.role == THREADPOOL_WORKER ||\ - t_thrd.role == STREAM_WORKER || t_thrd.role == THREADPOOL_STREAM) + t_thrd.role == STREAM_WORKER || t_thrd.role == THREADPOOL_STREAM || t_thrd.role == WAL_DB_SENDER||\ + t_thrd.role == PARALLEL_DECODE || t_thrd.role == JOB_WORKER) #ifdef ENABLE_MULTIPLE_NODES FuncGroup g_func_groups[] = { diff --git a/src/common/backend/utils/init/postinit.cpp b/src/common/backend/utils/init/postinit.cpp index 5c4d74743..0491eee36 100644 --- a/src/common/backend/utils/init/postinit.cpp +++ b/src/common/backend/utils/init/postinit.cpp @@ -1288,6 +1288,8 @@ void PostgresInitializer::InitJobExecuteWorker() InitSettings(); + InitExtensionVariable(); + FinishInit(); } @@ -1967,6 +1969,8 @@ void PostgresInitializer::InitWAL() InitSettings(); + InitExtensionVariable(); + FinishInit(); } diff --git a/src/gausskernel/process/job/job_worker.cpp b/src/gausskernel/process/job/job_worker.cpp index 22fdb86be..b8784b934 100755 --- a/src/gausskernel/process/job/job_worker.cpp +++ b/src/gausskernel/process/job/job_worker.cpp @@ -314,6 +314,10 @@ void JobExecuteWorkerMain() t_thrd.proc_cxt.PostInit->InitJobExecuteWorker(); t_thrd.proc_cxt.PostInit->GetDatabaseName(u_sess->proc_cxt.MyProcPort->database_name); +#if (!defined(ENABLE_MULTIPLE_NODES)) && (!defined(ENABLE_PRIVATEGAUSS)) + LoadSqlPlugin(); +#endif + #ifdef PGXC /* PGXC_COORD */ /* * Initialize key pair to be used as object id while using advisory lock diff --git a/src/gausskernel/storage/replication/walsender.cpp b/src/gausskernel/storage/replication/walsender.cpp index 738d136e4..e96413c35 100755 --- a/src/gausskernel/storage/replication/walsender.cpp +++ b/src/gausskernel/storage/replication/walsender.cpp @@ -379,6 +379,13 @@ int WalSenderMain(void) ALLOCSET_DEFAULT_MINSIZE, ALLOCSET_DEFAULT_INITSIZE, ALLOCSET_DEFAULT_MAXSIZE); + +#if (!defined(ENABLE_MULTIPLE_NODES)) && (!defined(ENABLE_PRIVATEGAUSS)) + if (AM_WAL_DB_SENDER) { + LoadSqlPlugin(); + } +#endif + (void)MemoryContextSwitchTo(walsnd_context); /* Set up resource owner */