diff --git a/contrib/auth_delay/auth_delay.c b/contrib/auth_delay/auth_delay.c index 5820ac328d..d11dd1e416 100644 --- a/contrib/auth_delay/auth_delay.c +++ b/contrib/auth_delay/auth_delay.c @@ -67,6 +67,9 @@ _PG_init(void) NULL, NULL, NULL); + + EmitWarningsOnPlaceholders("auth_delay"); + /* Install Hooks */ original_client_auth_hook = ClientAuthentication_hook; ClientAuthentication_hook = auth_delay_checks; diff --git a/contrib/pg_trgm/trgm_op.c b/contrib/pg_trgm/trgm_op.c index fb38135f7a..0407c7dd64 100644 --- a/contrib/pg_trgm/trgm_op.c +++ b/contrib/pg_trgm/trgm_op.c @@ -100,6 +100,8 @@ _PG_init(void) NULL, NULL, NULL); + + EmitWarningsOnPlaceholders("pg_trgm"); } /* diff --git a/contrib/postgres_fdw/option.c b/contrib/postgres_fdw/option.c index 48c7417e6e..36555398ec 100644 --- a/contrib/postgres_fdw/option.c +++ b/contrib/postgres_fdw/option.c @@ -469,4 +469,6 @@ _PG_init(void) NULL, NULL, NULL); + + EmitWarningsOnPlaceholders("postgres_fdw"); } diff --git a/contrib/sepgsql/hooks.c b/contrib/sepgsql/hooks.c index 19a3ffb7ff..44a09c35a7 100644 --- a/contrib/sepgsql/hooks.c +++ b/contrib/sepgsql/hooks.c @@ -455,6 +455,8 @@ _PG_init(void) NULL, NULL); + EmitWarningsOnPlaceholders("sepgsql"); + /* Initialize userspace access vector cache */ sepgsql_avc_init(); diff --git a/src/backend/utils/misc/guc.c b/src/backend/utils/misc/guc.c index e91d5a3cfd..07647a0d84 100644 --- a/src/backend/utils/misc/guc.c +++ b/src/backend/utils/misc/guc.c @@ -9322,6 +9322,13 @@ DefineCustomEnumVariable(const char *name, define_custom_variable(&var->gen); } +/* + * For historical context, this function name is EmitWarningsOnPlaceholders, + * but it emits an error when an invalid custom GUC is set. + * + * If we use DefineCustomXXXVariable, it is recommended that this function is + * added. + */ void EmitWarningsOnPlaceholders(const char *className) { @@ -9336,7 +9343,7 @@ EmitWarningsOnPlaceholders(const char *className) strncmp(className, var->name, classLen) == 0 && var->name[classLen] == GUC_QUALIFIER_SEPARATOR) { - ereport(WARNING, + ereport(ERROR, (errcode(ERRCODE_UNDEFINED_OBJECT), errmsg("unrecognized configuration parameter \"%s\"", var->name))); diff --git a/src/pl/tcl/pltcl.c b/src/pl/tcl/pltcl.c index e11837559d..1389aa0943 100644 --- a/src/pl/tcl/pltcl.c +++ b/src/pl/tcl/pltcl.c @@ -474,6 +474,8 @@ _PG_init(void) PGC_SUSET, 0, NULL, NULL, NULL); + EmitWarningsOnPlaceholders("pltclu"); + pltcl_pm_init_done = true; } diff --git a/src/test/modules/delay_execution/delay_execution.c b/src/test/modules/delay_execution/delay_execution.c index b3d0841ba8..8ec623ac52 100644 --- a/src/test/modules/delay_execution/delay_execution.c +++ b/src/test/modules/delay_execution/delay_execution.c @@ -91,6 +91,8 @@ _PG_init(void) NULL, NULL); + EmitWarningsOnPlaceholders("delay_execution"); + /* Install our hook */ prev_planner_hook = planner_hook; planner_hook = delay_execution_planner; diff --git a/src/test/modules/ssl_passphrase_callback/ssl_passphrase_func.c b/src/test/modules/ssl_passphrase_callback/ssl_passphrase_func.c index 6b0a3db104..3ba33e501c 100644 --- a/src/test/modules/ssl_passphrase_callback/ssl_passphrase_func.c +++ b/src/test/modules/ssl_passphrase_callback/ssl_passphrase_func.c @@ -48,6 +48,9 @@ _PG_init(void) NULL, NULL, NULL); + + EmitWarningsOnPlaceholders("ssl_passphrase"); + if (ssl_passphrase) openssl_tls_init_hook = set_rot13; } diff --git a/src/test/modules/worker_spi/worker_spi.c b/src/test/modules/worker_spi/worker_spi.c index 0b6246676b..adb02d8cb8 100644 --- a/src/test/modules/worker_spi/worker_spi.c +++ b/src/test/modules/worker_spi/worker_spi.c @@ -322,6 +322,8 @@ _PG_init(void) 0, NULL, NULL, NULL); + EmitWarningsOnPlaceholders("worker_spi"); + /* set up common data for all our workers */ memset(&worker, 0, sizeof(worker)); worker.bgw_flags = BGWORKER_SHMEM_ACCESS |