diff --git a/doc/src/sgml/config.sgml b/doc/src/sgml/config.sgml
index 07ff5873a97..737b90736bf 100644
--- a/doc/src/sgml/config.sgml
+++ b/doc/src/sgml/config.sgml
@@ -11833,6 +11833,23 @@ dynamic_library_path = '/usr/local/lib/postgresql:$libdir'
+
+ debug_exec_backend (boolean)
+
+ debug_exec_backend configuration parameter
+
+
+
+
+ Reports whether PostgreSQL has been built
+ with EXEC_BACKEND enabled. That is the case on
+ Windows or if the
+ macro EXEC_BACKEND is defined
+ when PostgreSQL is built.
+
+
+
+
huge_pages_status (enum)
diff --git a/src/backend/utils/misc/guc_parameters.dat b/src/backend/utils/misc/guc_parameters.dat
index 1128167c025..3b9d8349078 100644
--- a/src/backend/utils/misc/guc_parameters.dat
+++ b/src/backend/utils/misc/guc_parameters.dat
@@ -617,6 +617,13 @@
max => 'MAX_DEBUG_DISCARD_CACHES',
},
+{ name => 'debug_exec_backend', type => 'bool', context => 'PGC_INTERNAL', group => 'PRESET_OPTIONS',
+ short_desc => 'Shows whether the running server is built with EXEC_BACKEND enabled.',
+ flags => 'GUC_NOT_IN_SAMPLE | GUC_DISALLOW_IN_FILE',
+ variable => 'exec_backend_enabled',
+ boot_val => 'EXEC_BACKEND_ENABLED',
+},
+
{ name => 'debug_io_direct', type => 'string', context => 'PGC_POSTMASTER', group => 'DEVELOPER_OPTIONS',
short_desc => 'Use direct I/O for file access.',
long_desc => 'An empty string disables direct I/O.',
diff --git a/src/backend/utils/misc/guc_tables.c b/src/backend/utils/misc/guc_tables.c
index 0209b2067a2..f87b558c2c6 100644
--- a/src/backend/utils/misc/guc_tables.c
+++ b/src/backend/utils/misc/guc_tables.c
@@ -627,6 +627,13 @@ static bool integer_datetimes;
#endif
static bool assert_enabled = DEFAULT_ASSERT_ENABLED;
+#ifdef EXEC_BACKEND
+#define EXEC_BACKEND_ENABLED true
+#else
+#define EXEC_BACKEND_ENABLED false
+#endif
+static bool exec_backend_enabled = EXEC_BACKEND_ENABLED;
+
static char *recovery_target_timeline_string;
static char *recovery_target_string;
static char *recovery_target_xid_string;