diff --git a/src/common/backend/utils/init/postinit.cpp b/src/common/backend/utils/init/postinit.cpp index 0491eee36..590d4ff63 100644 --- a/src/common/backend/utils/init/postinit.cpp +++ b/src/common/backend/utils/init/postinit.cpp @@ -1685,6 +1685,8 @@ void PostgresInitializer::InitAutoVacWorker() InitSettings(); + InitExtensionVariable(); + FinishInit(); } diff --git a/src/gausskernel/process/postmaster/autovacuum.cpp b/src/gausskernel/process/postmaster/autovacuum.cpp index c20c95c10..2ef263681 100755 --- a/src/gausskernel/process/postmaster/autovacuum.cpp +++ b/src/gausskernel/process/postmaster/autovacuum.cpp @@ -1355,6 +1355,10 @@ NON_EXEC_STATIC void AutoVacWorkerMain() pgstat_report_appname("AutoVacWorker"); pgstat_report_activity(STATE_IDLE, NULL); +#if (!defined(ENABLE_MULTIPLE_NODES)) && (!defined(ENABLE_PRIVATEGAUSS)) + LoadSqlPlugin(); +#endif + set_ps_display(dbname, false); ereport(GetVacuumLogLevel(), (errmsg("start autovacuum on database \"%s\"", dbname))); diff --git a/src/include/utils/fmgrtab.h b/src/include/utils/fmgrtab.h index d535e19c1..06568a8e7 100644 --- a/src/include/utils/fmgrtab.h +++ b/src/include/utils/fmgrtab.h @@ -212,7 +212,7 @@ static_assert(sizeof(NULL) == sizeof(void*), "NULL must be a 8 byte-length point #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 == WAL_DB_SENDER||\ - t_thrd.role == PARALLEL_DECODE || t_thrd.role == JOB_WORKER) + t_thrd.role == PARALLEL_DECODE || t_thrd.role == JOB_WORKER || t_thrd.role == AUTOVACUUM_WORKER) #if (!defined(ENABLE_MULTIPLE_NODES)) && (!defined(ENABLE_PRIVATEGAUSS)) /* for dolphin and whale plugin */