diff --git a/src/backend/postmaster/autovacuum.c b/src/backend/postmaster/autovacuum.c
index 21f5e2c..59647fb 100644
--- a/src/backend/postmaster/autovacuum.c
+++ b/src/backend/postmaster/autovacuum.c
@@ -343,6 +343,7 @@ static void perform_work_item(AutoVacuumWorkItem *workitem);
 static void autovac_report_activity(autovac_table *tab);
 static void autovac_report_workitem(AutoVacuumWorkItem *workitem,
 						const char *nspname, const char *relname);
+static const char *autovac_get_workitem_name(AutoVacuumWorkItemType type);
 static void av_sighup_handler(SIGNAL_ARGS);
 static void avl_sigusr2_handler(SIGNAL_ARGS);
 static void avl_sigterm_handler(SIGNAL_ARGS);
@@ -3207,11 +3208,12 @@ AutoVacuumingActive(void)
 /*
  * Request one work item to the next autovacuum run processing our database.
  */
-void
+bool
 AutoVacuumRequestWork(AutoVacuumWorkItemType type, Oid relationId,
 					  BlockNumber blkno)
 {
 	int			i;
+	bool		requested = false;
 
 	LWLockAcquire(AutovacuumLock, LW_EXCLUSIVE);
 
@@ -3231,12 +3233,41 @@ AutoVacuumRequestWork(AutoVacuumWorkItemType type, Oid relationId,
 		workitem->avw_database = MyDatabaseId;
 		workitem->avw_relation = relationId;
 		workitem->avw_blockNumber = blkno;
+		requested = true;
 
 		/* done */
 		break;
 	}
 
 	LWLockRelease(AutovacuumLock);
+
+	if (!requested)
+		ereport(LOG, (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED),
+					  errmsg("could not request an autovacuum work item \"%s\" for \"%s\"",
+							 autovac_get_workitem_name(type), get_rel_name(relationId))));
+
+	return requested;
+}
+
+/*
+ * autovac_get_workitem_name
+ *
+ * Convert AutoVacuumWorkerItemType to string.
+ */
+static const char *
+autovac_get_workitem_name(AutoVacuumWorkItemType type)
+{
+	const char *workitem_name = "UnknownWorkItem";
+
+	switch (type)
+	{
+		case AVW_BRINSummarizeRange:
+			workitem_name = "BrinSummarizeRange";
+			break;
+			/* no default case, so that compiler will warn */
+	}
+
+	return workitem_name;
 }
 
 /*
diff --git a/src/include/postmaster/autovacuum.h b/src/include/postmaster/autovacuum.h
index 18cff54..96752ca 100644
--- a/src/include/postmaster/autovacuum.h
+++ b/src/include/postmaster/autovacuum.h
@@ -71,7 +71,7 @@ extern void AutovacuumWorkerIAm(void);
 extern void AutovacuumLauncherIAm(void);
 #endif
 
-extern void AutoVacuumRequestWork(AutoVacuumWorkItemType type,
+extern bool AutoVacuumRequestWork(AutoVacuumWorkItemType type,
 					  Oid relationId, BlockNumber blkno);
 
 /* shared memory stuff */
