From 50d9d497b646b37fc29cd62ce319c1142125785e Mon Sep 17 00:00:00 2001
From: Mark Dilger <mark.dilger@enterprisedb.com>
Date: Wed, 12 May 2021 07:04:14 -0700
Subject: [PATCH v2] Delegating setting of GUC variables

Creating roles with permission to run SET and ALTER SYSTEM SET
commands for variables which otherwise require superuser privileges.
---
 contrib/auth_delay/auth_delay.c               |    1 +
 contrib/auto_explain/auto_explain.c           |   12 +
 contrib/pg_prewarm/autoprewarm.c              |    2 +
 .../pg_stat_statements/pg_stat_statements.c   |    5 +
 contrib/pg_trgm/trgm_op.c                     |    3 +
 contrib/sepgsql/hooks.c                       |    2 +
 src/backend/utils/misc/guc.c                  |  778 ++++--
 src/include/catalog/pg_authid.dat             |   60 +
 src/include/utils/guc.h                       |   22 +
 src/include/utils/guc_tables.h                |    1 +
 src/pl/plperl/plperl.c                        |    8 +-
 src/pl/plpgsql/src/pl_handler.c               |   10 +-
 src/pl/tcl/pltcl.c                            |    4 +-
 .../modules/delay_execution/delay_execution.c |    1 +
 .../ssl_passphrase_func.c                     |    1 +
 src/test/modules/worker_spi/worker_spi.c      |    3 +
 src/test/regress/expected/guc_priv_admin.out  | 1844 ++++++++++++++
 src/test/regress/expected/guc_priv_tenant.out | 2237 +++++++++++++++++
 src/test/regress/parallel_schedule            |    2 +-
 src/test/regress/sql/guc_priv_admin.sql       | 1470 +++++++++++
 src/test/regress/sql/guc_priv_tenant.sql      | 1461 +++++++++++
 21 files changed, 7746 insertions(+), 181 deletions(-)
 create mode 100644 src/test/regress/expected/guc_priv_admin.out
 create mode 100644 src/test/regress/expected/guc_priv_tenant.out
 create mode 100644 src/test/regress/sql/guc_priv_admin.sql
 create mode 100644 src/test/regress/sql/guc_priv_tenant.sql

diff --git a/contrib/auth_delay/auth_delay.c b/contrib/auth_delay/auth_delay.c
index 5820ac328d..6a5105aa61 100644
--- a/contrib/auth_delay/auth_delay.c
+++ b/contrib/auth_delay/auth_delay.c
@@ -63,6 +63,7 @@ _PG_init(void)
 							0,
 							0, INT_MAX / 1000,
 							PGC_SIGHUP,
+							GUC_INTERFACE_SETTINGS,
 							GUC_UNIT_MS,
 							NULL,
 							NULL,
diff --git a/contrib/auto_explain/auto_explain.c b/contrib/auto_explain/auto_explain.c
index e9092ba359..11b5687136 100644
--- a/contrib/auto_explain/auto_explain.c
+++ b/contrib/auto_explain/auto_explain.c
@@ -100,6 +100,7 @@ _PG_init(void)
 							-1,
 							-1, INT_MAX,
 							PGC_SUSET,
+							GUC_LOGGING_SETTINGS,
 							GUC_UNIT_MS,
 							NULL,
 							NULL,
@@ -111,6 +112,7 @@ _PG_init(void)
 							 &auto_explain_log_analyze,
 							 false,
 							 PGC_SUSET,
+							 GUC_LOGGING_SETTINGS,
 							 0,
 							 NULL,
 							 NULL,
@@ -122,6 +124,7 @@ _PG_init(void)
 							 &auto_explain_log_settings,
 							 false,
 							 PGC_SUSET,
+							 GUC_LOGGING_SETTINGS,
 							 0,
 							 NULL,
 							 NULL,
@@ -133,6 +136,7 @@ _PG_init(void)
 							 &auto_explain_log_verbose,
 							 false,
 							 PGC_SUSET,
+							 GUC_LOGGING_SETTINGS,
 							 0,
 							 NULL,
 							 NULL,
@@ -144,6 +148,7 @@ _PG_init(void)
 							 &auto_explain_log_buffers,
 							 false,
 							 PGC_SUSET,
+							 GUC_LOGGING_SETTINGS | GUC_RESOURCE_USAGE,
 							 0,
 							 NULL,
 							 NULL,
@@ -155,6 +160,7 @@ _PG_init(void)
 							 &auto_explain_log_wal,
 							 false,
 							 PGC_SUSET,
+							 GUC_LOGGING_SETTINGS | GUC_WAL_SETTINGS,
 							 0,
 							 NULL,
 							 NULL,
@@ -166,6 +172,7 @@ _PG_init(void)
 							 &auto_explain_log_triggers,
 							 false,
 							 PGC_SUSET,
+							 GUC_LOGGING_SETTINGS,
 							 0,
 							 NULL,
 							 NULL,
@@ -178,6 +185,7 @@ _PG_init(void)
 							 EXPLAIN_FORMAT_TEXT,
 							 format_options,
 							 PGC_SUSET,
+							 GUC_LOGGING_SETTINGS,
 							 0,
 							 NULL,
 							 NULL,
@@ -190,6 +198,7 @@ _PG_init(void)
 							 LOG,
 							 loglevel_options,
 							 PGC_SUSET,
+							 GUC_LOGGING_SETTINGS,
 							 0,
 							 NULL,
 							 NULL,
@@ -201,6 +210,7 @@ _PG_init(void)
 							 &auto_explain_log_nested_statements,
 							 false,
 							 PGC_SUSET,
+							 GUC_LOGGING_SETTINGS,
 							 0,
 							 NULL,
 							 NULL,
@@ -212,6 +222,7 @@ _PG_init(void)
 							 &auto_explain_log_timing,
 							 true,
 							 PGC_SUSET,
+							 GUC_LOGGING_SETTINGS,
 							 0,
 							 NULL,
 							 NULL,
@@ -225,6 +236,7 @@ _PG_init(void)
 							 0.0,
 							 1.0,
 							 PGC_SUSET,
+							 GUC_LOGGING_SETTINGS,
 							 0,
 							 NULL,
 							 NULL,
diff --git a/contrib/pg_prewarm/autoprewarm.c b/contrib/pg_prewarm/autoprewarm.c
index b3f73ea92d..55432c502c 100644
--- a/contrib/pg_prewarm/autoprewarm.c
+++ b/contrib/pg_prewarm/autoprewarm.c
@@ -116,6 +116,7 @@ _PG_init(void)
 							300,
 							0, INT_MAX / 1000,
 							PGC_SIGHUP,
+							GUC_INTERNAL_SETTINGS,
 							GUC_UNIT_S,
 							NULL,
 							NULL,
@@ -131,6 +132,7 @@ _PG_init(void)
 							 &autoprewarm,
 							 true,
 							 PGC_POSTMASTER,
+							 GUC_INTERNAL_SETTINGS | GUC_RESOURCE_USAGE,
 							 0,
 							 NULL,
 							 NULL,
diff --git a/contrib/pg_stat_statements/pg_stat_statements.c b/contrib/pg_stat_statements/pg_stat_statements.c
index 77ca5abcdc..525d951cb8 100644
--- a/contrib/pg_stat_statements/pg_stat_statements.c
+++ b/contrib/pg_stat_statements/pg_stat_statements.c
@@ -380,6 +380,7 @@ _PG_init(void)
 							100,
 							INT_MAX,
 							PGC_POSTMASTER,
+							GUC_STATS_SETTINGS | GUC_RESOURCE_USAGE,
 							0,
 							NULL,
 							NULL,
@@ -392,6 +393,7 @@ _PG_init(void)
 							 PGSS_TRACK_TOP,
 							 track_options,
 							 PGC_SUSET,
+							 GUC_STATS_SETTINGS,
 							 0,
 							 NULL,
 							 NULL,
@@ -403,6 +405,7 @@ _PG_init(void)
 							 &pgss_track_utility,
 							 true,
 							 PGC_SUSET,
+							 GUC_STATS_SETTINGS,
 							 0,
 							 NULL,
 							 NULL,
@@ -414,6 +417,7 @@ _PG_init(void)
 							 &pgss_track_planning,
 							 false,
 							 PGC_SUSET,
+							 GUC_STATS_SETTINGS,
 							 0,
 							 NULL,
 							 NULL,
@@ -425,6 +429,7 @@ _PG_init(void)
 							 &pgss_save,
 							 true,
 							 PGC_SIGHUP,
+							 GUC_STATS_SETTINGS,
 							 0,
 							 NULL,
 							 NULL,
diff --git a/contrib/pg_trgm/trgm_op.c b/contrib/pg_trgm/trgm_op.c
index fb38135f7a..33c93084ee 100644
--- a/contrib/pg_trgm/trgm_op.c
+++ b/contrib/pg_trgm/trgm_op.c
@@ -72,6 +72,7 @@ _PG_init(void)
 							 0.0,
 							 1.0,
 							 PGC_USERSET,
+							 GUC_INTERNAL_SETTINGS,
 							 0,
 							 NULL,
 							 NULL,
@@ -84,6 +85,7 @@ _PG_init(void)
 							 0.0,
 							 1.0,
 							 PGC_USERSET,
+							 GUC_INTERNAL_SETTINGS,
 							 0,
 							 NULL,
 							 NULL,
@@ -96,6 +98,7 @@ _PG_init(void)
 							 0.0,
 							 1.0,
 							 PGC_USERSET,
+							 GUC_INTERNAL_SETTINGS,
 							 0,
 							 NULL,
 							 NULL,
diff --git a/contrib/sepgsql/hooks.c b/contrib/sepgsql/hooks.c
index 34de6158d6..4ba78767cd 100644
--- a/contrib/sepgsql/hooks.c
+++ b/contrib/sepgsql/hooks.c
@@ -431,6 +431,7 @@ _PG_init(void)
 							 &sepgsql_permissive,
 							 false,
 							 PGC_SIGHUP,
+							 GUC_SECURITY_SETTINGS,
 							 GUC_NOT_IN_SAMPLE,
 							 NULL,
 							 NULL,
@@ -449,6 +450,7 @@ _PG_init(void)
 							 &sepgsql_debug_audit,
 							 false,
 							 PGC_USERSET,
+							 GUC_SECURITY_SETTINGS,
 							 GUC_NOT_IN_SAMPLE,
 							 NULL,
 							 NULL,
diff --git a/src/backend/utils/misc/guc.c b/src/backend/utils/misc/guc.c
index 0a180341c2..a5b0ec7f66 100644
--- a/src/backend/utils/misc/guc.c
+++ b/src/backend/utils/misc/guc.c
@@ -939,6 +939,7 @@ static struct config_bool ConfigureNamesBool[] =
 		{"enable_seqscan", PGC_USERSET, QUERY_TUNING_METHOD,
 			gettext_noop("Enables the planner's use of sequential-scan plans."),
 			NULL,
+			GUC_INTERNAL_SETTINGS,
 			GUC_EXPLAIN
 		},
 		&enable_seqscan,
@@ -949,6 +950,7 @@ static struct config_bool ConfigureNamesBool[] =
 		{"enable_indexscan", PGC_USERSET, QUERY_TUNING_METHOD,
 			gettext_noop("Enables the planner's use of index-scan plans."),
 			NULL,
+			GUC_INTERNAL_SETTINGS,
 			GUC_EXPLAIN
 		},
 		&enable_indexscan,
@@ -959,6 +961,7 @@ static struct config_bool ConfigureNamesBool[] =
 		{"enable_indexonlyscan", PGC_USERSET, QUERY_TUNING_METHOD,
 			gettext_noop("Enables the planner's use of index-only-scan plans."),
 			NULL,
+			GUC_INTERNAL_SETTINGS,
 			GUC_EXPLAIN
 		},
 		&enable_indexonlyscan,
@@ -969,6 +972,7 @@ static struct config_bool ConfigureNamesBool[] =
 		{"enable_bitmapscan", PGC_USERSET, QUERY_TUNING_METHOD,
 			gettext_noop("Enables the planner's use of bitmap-scan plans."),
 			NULL,
+			GUC_INTERNAL_SETTINGS,
 			GUC_EXPLAIN
 		},
 		&enable_bitmapscan,
@@ -979,6 +983,7 @@ static struct config_bool ConfigureNamesBool[] =
 		{"enable_tidscan", PGC_USERSET, QUERY_TUNING_METHOD,
 			gettext_noop("Enables the planner's use of TID scan plans."),
 			NULL,
+			GUC_INTERNAL_SETTINGS,
 			GUC_EXPLAIN
 		},
 		&enable_tidscan,
@@ -989,6 +994,7 @@ static struct config_bool ConfigureNamesBool[] =
 		{"enable_sort", PGC_USERSET, QUERY_TUNING_METHOD,
 			gettext_noop("Enables the planner's use of explicit sort steps."),
 			NULL,
+			GUC_INTERNAL_SETTINGS,
 			GUC_EXPLAIN
 		},
 		&enable_sort,
@@ -998,7 +1004,8 @@ static struct config_bool ConfigureNamesBool[] =
 	{
 		{"enable_incremental_sort", PGC_USERSET, QUERY_TUNING_METHOD,
 			gettext_noop("Enables the planner's use of incremental sort steps."),
-			NULL
+			NULL,
+			GUC_INTERNAL_SETTINGS
 		},
 		&enable_incremental_sort,
 		true,
@@ -1008,6 +1015,7 @@ static struct config_bool ConfigureNamesBool[] =
 		{"enable_hashagg", PGC_USERSET, QUERY_TUNING_METHOD,
 			gettext_noop("Enables the planner's use of hashed aggregation plans."),
 			NULL,
+			GUC_INTERNAL_SETTINGS,
 			GUC_EXPLAIN
 		},
 		&enable_hashagg,
@@ -1018,6 +1026,7 @@ static struct config_bool ConfigureNamesBool[] =
 		{"enable_material", PGC_USERSET, QUERY_TUNING_METHOD,
 			gettext_noop("Enables the planner's use of materialization."),
 			NULL,
+			GUC_INTERNAL_SETTINGS,
 			GUC_EXPLAIN
 		},
 		&enable_material,
@@ -1028,6 +1037,7 @@ static struct config_bool ConfigureNamesBool[] =
 		{"enable_resultcache", PGC_USERSET, QUERY_TUNING_METHOD,
 			gettext_noop("Enables the planner's use of result caching."),
 			NULL,
+			GUC_INTERNAL_SETTINGS,
 			GUC_EXPLAIN
 		},
 		&enable_resultcache,
@@ -1038,6 +1048,7 @@ static struct config_bool ConfigureNamesBool[] =
 		{"enable_nestloop", PGC_USERSET, QUERY_TUNING_METHOD,
 			gettext_noop("Enables the planner's use of nested-loop join plans."),
 			NULL,
+			GUC_INTERNAL_SETTINGS,
 			GUC_EXPLAIN
 		},
 		&enable_nestloop,
@@ -1048,6 +1059,7 @@ static struct config_bool ConfigureNamesBool[] =
 		{"enable_mergejoin", PGC_USERSET, QUERY_TUNING_METHOD,
 			gettext_noop("Enables the planner's use of merge join plans."),
 			NULL,
+			GUC_INTERNAL_SETTINGS,
 			GUC_EXPLAIN
 		},
 		&enable_mergejoin,
@@ -1058,6 +1070,7 @@ static struct config_bool ConfigureNamesBool[] =
 		{"enable_hashjoin", PGC_USERSET, QUERY_TUNING_METHOD,
 			gettext_noop("Enables the planner's use of hash join plans."),
 			NULL,
+			GUC_INTERNAL_SETTINGS,
 			GUC_EXPLAIN
 		},
 		&enable_hashjoin,
@@ -1068,6 +1081,7 @@ static struct config_bool ConfigureNamesBool[] =
 		{"enable_gathermerge", PGC_USERSET, QUERY_TUNING_METHOD,
 			gettext_noop("Enables the planner's use of gather merge plans."),
 			NULL,
+			GUC_INTERNAL_SETTINGS,
 			GUC_EXPLAIN
 		},
 		&enable_gathermerge,
@@ -1078,6 +1092,7 @@ static struct config_bool ConfigureNamesBool[] =
 		{"enable_partitionwise_join", PGC_USERSET, QUERY_TUNING_METHOD,
 			gettext_noop("Enables partitionwise join."),
 			NULL,
+			GUC_INTERNAL_SETTINGS,
 			GUC_EXPLAIN
 		},
 		&enable_partitionwise_join,
@@ -1088,6 +1103,7 @@ static struct config_bool ConfigureNamesBool[] =
 		{"enable_partitionwise_aggregate", PGC_USERSET, QUERY_TUNING_METHOD,
 			gettext_noop("Enables partitionwise aggregation and grouping."),
 			NULL,
+			GUC_INTERNAL_SETTINGS,
 			GUC_EXPLAIN
 		},
 		&enable_partitionwise_aggregate,
@@ -1098,6 +1114,7 @@ static struct config_bool ConfigureNamesBool[] =
 		{"enable_parallel_append", PGC_USERSET, QUERY_TUNING_METHOD,
 			gettext_noop("Enables the planner's use of parallel append plans."),
 			NULL,
+			GUC_INTERNAL_SETTINGS,
 			GUC_EXPLAIN
 		},
 		&enable_parallel_append,
@@ -1108,6 +1125,7 @@ static struct config_bool ConfigureNamesBool[] =
 		{"enable_parallel_hash", PGC_USERSET, QUERY_TUNING_METHOD,
 			gettext_noop("Enables the planner's use of parallel hash plans."),
 			NULL,
+			GUC_INTERNAL_SETTINGS,
 			GUC_EXPLAIN
 		},
 		&enable_parallel_hash,
@@ -1120,6 +1138,7 @@ static struct config_bool ConfigureNamesBool[] =
 			gettext_noop("Allows the query planner and executor to compare partition "
 						 "bounds to conditions in the query to determine which "
 						 "partitions must be scanned."),
+			GUC_INTERNAL_SETTINGS,
 			GUC_EXPLAIN
 		},
 		&enable_partition_pruning,
@@ -1130,6 +1149,7 @@ static struct config_bool ConfigureNamesBool[] =
 		{"enable_async_append", PGC_USERSET, QUERY_TUNING_METHOD,
 			gettext_noop("Enables the planner's use of async append plans."),
 			NULL,
+			GUC_INTERNAL_SETTINGS,
 			GUC_EXPLAIN
 		},
 		&enable_async_append,
@@ -1141,6 +1161,7 @@ static struct config_bool ConfigureNamesBool[] =
 			gettext_noop("Enables genetic query optimization."),
 			gettext_noop("This algorithm attempts to do planning without "
 						 "exhaustive searching."),
+			GUC_INTERNAL_SETTINGS,
 			GUC_EXPLAIN
 		},
 		&enable_geqo,
@@ -1152,6 +1173,7 @@ static struct config_bool ConfigureNamesBool[] =
 		{"is_superuser", PGC_INTERNAL, UNGROUPED,
 			gettext_noop("Shows whether the current user is a superuser."),
 			NULL,
+			GUC_INTERNAL_SETTINGS,
 			GUC_REPORT | GUC_NO_SHOW_ALL | GUC_NO_RESET_ALL | GUC_NOT_IN_SAMPLE | GUC_DISALLOW_IN_FILE
 		},
 		&session_auth_is_superuser,
@@ -1161,7 +1183,8 @@ static struct config_bool ConfigureNamesBool[] =
 	{
 		{"bonjour", PGC_POSTMASTER, CONN_AUTH_SETTINGS,
 			gettext_noop("Enables advertising the server via Bonjour."),
-			NULL
+			NULL,
+			GUC_INTERFACE_SETTINGS
 		},
 		&enable_bonjour,
 		false,
@@ -1170,7 +1193,8 @@ static struct config_bool ConfigureNamesBool[] =
 	{
 		{"track_commit_timestamp", PGC_POSTMASTER, REPLICATION_SENDING,
 			gettext_noop("Collects transaction commit time."),
-			NULL
+			NULL,
+			GUC_WAL_SETTINGS
 		},
 		&track_commit_timestamp,
 		false,
@@ -1179,7 +1203,8 @@ static struct config_bool ConfigureNamesBool[] =
 	{
 		{"ssl", PGC_SIGHUP, CONN_AUTH_SSL,
 			gettext_noop("Enables SSL connections."),
-			NULL
+			NULL,
+			GUC_INTERFACE_SETTINGS
 		},
 		&EnableSSL,
 		false,
@@ -1188,7 +1213,8 @@ static struct config_bool ConfigureNamesBool[] =
 	{
 		{"ssl_passphrase_command_supports_reload", PGC_SIGHUP, CONN_AUTH_SSL,
 			gettext_noop("Also use ssl_passphrase_command during server reload."),
-			NULL
+			NULL,
+			GUC_INTERFACE_SETTINGS
 		},
 		&ssl_passphrase_command_supports_reload,
 		false,
@@ -1197,7 +1223,8 @@ static struct config_bool ConfigureNamesBool[] =
 	{
 		{"ssl_prefer_server_ciphers", PGC_SIGHUP, CONN_AUTH_SSL,
 			gettext_noop("Give priority to server ciphersuite order."),
-			NULL
+			NULL,
+			GUC_INTERFACE_SETTINGS
 		},
 		&SSLPreferServerCiphers,
 		true,
@@ -1209,7 +1236,8 @@ static struct config_bool ConfigureNamesBool[] =
 			gettext_noop("The server will use the fsync() system call in several places to make "
 						 "sure that updates are physically written to disk. This insures "
 						 "that a database cluster will recover to a consistent state after "
-						 "an operating system or hardware crash.")
+						 "an operating system or hardware crash."),
+			GUC_WAL_SETTINGS
 		},
 		&enableFsync,
 		true,
@@ -1224,6 +1252,7 @@ static struct config_bool ConfigureNamesBool[] =
 						 "(but still report a warning), and continue processing. This "
 						 "behavior could cause crashes or other serious problems. Only "
 						 "has an effect if checksums are enabled."),
+			GUC_STORAGE_SETTINGS,
 			GUC_NOT_IN_SAMPLE
 		},
 		&ignore_checksum_failure,
@@ -1238,6 +1267,7 @@ static struct config_bool ConfigureNamesBool[] =
 						 "zero_damaged_pages to true causes the system to instead report a "
 						 "warning, zero out the damaged page, and continue processing. This "
 						 "behavior will destroy data, namely all the rows on the damaged page."),
+			GUC_STORAGE_SETTINGS,
 			GUC_NOT_IN_SAMPLE
 		},
 		&zero_damaged_pages,
@@ -1257,6 +1287,7 @@ static struct config_bool ConfigureNamesBool[] =
 						 "crashes, data loss, propagate or hide corruption, "
 						 "or other serious problems. Only has an effect "
 						 "during recovery or in standby mode."),
+			GUC_STORAGE_SETTINGS,
 			GUC_NOT_IN_SAMPLE
 		},
 		&ignore_invalid_pages,
@@ -1270,7 +1301,8 @@ static struct config_bool ConfigureNamesBool[] =
 						 "only partially written to disk.  During recovery, the row changes "
 						 "stored in WAL are not enough to recover.  This option writes "
 						 "pages when first modified after a checkpoint to WAL so full recovery "
-						 "is possible.")
+						 "is possible."),
+			GUC_WAL_SETTINGS
 		},
 		&fullPageWrites,
 		true,
@@ -1280,7 +1312,8 @@ static struct config_bool ConfigureNamesBool[] =
 	{
 		{"wal_log_hints", PGC_POSTMASTER, WAL_SETTINGS,
 			gettext_noop("Writes full pages to WAL when first modified after a checkpoint, even for a non-critical modification."),
-			NULL
+			NULL,
+			GUC_WAL_SETTINGS
 		},
 		&wal_log_hints,
 		false,
@@ -1290,7 +1323,8 @@ static struct config_bool ConfigureNamesBool[] =
 	{
 		{"wal_compression", PGC_SUSET, WAL_SETTINGS,
 			gettext_noop("Compresses full-page writes written in WAL file."),
-			NULL
+			NULL,
+			GUC_WAL_SETTINGS
 		},
 		&wal_compression,
 		false,
@@ -1300,7 +1334,8 @@ static struct config_bool ConfigureNamesBool[] =
 	{
 		{"wal_init_zero", PGC_SUSET, WAL_SETTINGS,
 			gettext_noop("Writes zeroes to new WAL files before first use."),
-			NULL
+			NULL,
+			GUC_WAL_SETTINGS
 		},
 		&wal_init_zero,
 		true,
@@ -1310,7 +1345,8 @@ static struct config_bool ConfigureNamesBool[] =
 	{
 		{"wal_recycle", PGC_SUSET, WAL_SETTINGS,
 			gettext_noop("Recycles WAL files by renaming them."),
-			NULL
+			NULL,
+			GUC_WAL_SETTINGS
 		},
 		&wal_recycle,
 		true,
@@ -1320,7 +1356,8 @@ static struct config_bool ConfigureNamesBool[] =
 	{
 		{"log_checkpoints", PGC_SIGHUP, LOGGING_WHAT,
 			gettext_noop("Logs each checkpoint."),
-			NULL
+			NULL,
+			GUC_LOGGING_SETTINGS
 		},
 		&log_checkpoints,
 		false,
@@ -1329,7 +1366,8 @@ static struct config_bool ConfigureNamesBool[] =
 	{
 		{"log_connections", PGC_SU_BACKEND, LOGGING_WHAT,
 			gettext_noop("Logs each successful connection."),
-			NULL
+			NULL,
+			GUC_LOGGING_SETTINGS
 		},
 		&Log_connections,
 		false,
@@ -1338,7 +1376,8 @@ static struct config_bool ConfigureNamesBool[] =
 	{
 		{"log_disconnections", PGC_SU_BACKEND, LOGGING_WHAT,
 			gettext_noop("Logs end of a session, including duration."),
-			NULL
+			NULL,
+			GUC_LOGGING_SETTINGS
 		},
 		&Log_disconnections,
 		false,
@@ -1347,7 +1386,8 @@ static struct config_bool ConfigureNamesBool[] =
 	{
 		{"log_replication_commands", PGC_SUSET, LOGGING_WHAT,
 			gettext_noop("Logs each replication command."),
-			NULL
+			NULL,
+			GUC_LOGGING_SETTINGS
 		},
 		&log_replication_commands,
 		false,
@@ -1357,6 +1397,7 @@ static struct config_bool ConfigureNamesBool[] =
 		{"debug_assertions", PGC_INTERNAL, PRESET_OPTIONS,
 			gettext_noop("Shows whether the running server has assertion checks enabled."),
 			NULL,
+			GUC_INTERNAL_SETTINGS,
 			GUC_NOT_IN_SAMPLE | GUC_DISALLOW_IN_FILE
 		},
 		&assert_enabled,
@@ -1371,7 +1412,8 @@ static struct config_bool ConfigureNamesBool[] =
 	{
 		{"exit_on_error", PGC_USERSET, ERROR_HANDLING_OPTIONS,
 			gettext_noop("Terminate session on any error."),
-			NULL
+			NULL,
+			GUC_INTERNAL_SETTINGS
 		},
 		&ExitOnAnyError,
 		false,
@@ -1380,7 +1422,8 @@ static struct config_bool ConfigureNamesBool[] =
 	{
 		{"restart_after_crash", PGC_SIGHUP, ERROR_HANDLING_OPTIONS,
 			gettext_noop("Reinitialize server after backend crash."),
-			NULL
+			NULL,
+			GUC_WAL_SETTINGS
 		},
 		&restart_after_crash,
 		true,
@@ -1389,7 +1432,8 @@ static struct config_bool ConfigureNamesBool[] =
 	{
 		{"remove_temp_files_after_crash", PGC_SIGHUP, ERROR_HANDLING_OPTIONS,
 			gettext_noop("Remove temporary files after backend crash."),
-			NULL
+			NULL,
+			GUC_WAL_SETTINGS
 		},
 		&remove_temp_files_after_crash,
 		true,
@@ -1399,7 +1443,8 @@ static struct config_bool ConfigureNamesBool[] =
 	{
 		{"log_duration", PGC_SUSET, LOGGING_WHAT,
 			gettext_noop("Logs the duration of each completed SQL statement."),
-			NULL
+			NULL,
+			GUC_LOGGING_SETTINGS
 		},
 		&log_duration,
 		false,
@@ -1408,7 +1453,8 @@ static struct config_bool ConfigureNamesBool[] =
 	{
 		{"debug_print_parse", PGC_USERSET, LOGGING_WHAT,
 			gettext_noop("Logs each query's parse tree."),
-			NULL
+			NULL,
+			GUC_INTERNAL_SETTINGS
 		},
 		&Debug_print_parse,
 		false,
@@ -1417,7 +1463,8 @@ static struct config_bool ConfigureNamesBool[] =
 	{
 		{"debug_print_rewritten", PGC_USERSET, LOGGING_WHAT,
 			gettext_noop("Logs each query's rewritten parse tree."),
-			NULL
+			NULL,
+			GUC_INTERNAL_SETTINGS
 		},
 		&Debug_print_rewritten,
 		false,
@@ -1426,7 +1473,8 @@ static struct config_bool ConfigureNamesBool[] =
 	{
 		{"debug_print_plan", PGC_USERSET, LOGGING_WHAT,
 			gettext_noop("Logs each query's execution plan."),
-			NULL
+			NULL,
+			GUC_INTERNAL_SETTINGS
 		},
 		&Debug_print_plan,
 		false,
@@ -1435,7 +1483,8 @@ static struct config_bool ConfigureNamesBool[] =
 	{
 		{"debug_pretty_print", PGC_USERSET, LOGGING_WHAT,
 			gettext_noop("Indents parse and plan tree displays."),
-			NULL
+			NULL,
+			GUC_INTERNAL_SETTINGS
 		},
 		&Debug_pretty_print,
 		true,
@@ -1444,7 +1493,8 @@ static struct config_bool ConfigureNamesBool[] =
 	{
 		{"compute_query_id", PGC_SUSET, STATS_MONITORING,
 			gettext_noop("Compute query identifiers."),
-			NULL
+			NULL,
+			GUC_STATS_SETTINGS
 		},
 		&compute_query_id,
 		false,
@@ -1453,7 +1503,8 @@ static struct config_bool ConfigureNamesBool[] =
 	{
 		{"log_parser_stats", PGC_SUSET, STATS_MONITORING,
 			gettext_noop("Writes parser performance statistics to the server log."),
-			NULL
+			NULL,
+			GUC_LOGGING_SETTINGS
 		},
 		&log_parser_stats,
 		false,
@@ -1462,7 +1513,8 @@ static struct config_bool ConfigureNamesBool[] =
 	{
 		{"log_planner_stats", PGC_SUSET, STATS_MONITORING,
 			gettext_noop("Writes planner performance statistics to the server log."),
-			NULL
+			NULL,
+			GUC_LOGGING_SETTINGS
 		},
 		&log_planner_stats,
 		false,
@@ -1471,7 +1523,8 @@ static struct config_bool ConfigureNamesBool[] =
 	{
 		{"log_executor_stats", PGC_SUSET, STATS_MONITORING,
 			gettext_noop("Writes executor performance statistics to the server log."),
-			NULL
+			NULL,
+			GUC_LOGGING_SETTINGS
 		},
 		&log_executor_stats,
 		false,
@@ -1480,7 +1533,8 @@ static struct config_bool ConfigureNamesBool[] =
 	{
 		{"log_statement_stats", PGC_SUSET, STATS_MONITORING,
 			gettext_noop("Writes cumulative performance statistics to the server log."),
-			NULL
+			NULL,
+			GUC_LOGGING_SETTINGS
 		},
 		&log_statement_stats,
 		false,
@@ -1491,6 +1545,7 @@ static struct config_bool ConfigureNamesBool[] =
 		{"log_btree_build_stats", PGC_SUSET, DEVELOPER_OPTIONS,
 			gettext_noop("Logs system resource usage statistics (memory and CPU) on various B-tree operations."),
 			NULL,
+			GUC_LOGGING_SETTINGS,
 			GUC_NOT_IN_SAMPLE
 		},
 		&log_btree_build_stats,
@@ -1504,7 +1559,8 @@ static struct config_bool ConfigureNamesBool[] =
 			gettext_noop("Collects information about executing commands."),
 			gettext_noop("Enables the collection of information on the currently "
 						 "executing command of each session, along with "
-						 "the time at which that command began execution.")
+						 "the time at which that command began execution."),
+			GUC_STATS_SETTINGS
 		},
 		&pgstat_track_activities,
 		true,
@@ -1513,7 +1569,8 @@ static struct config_bool ConfigureNamesBool[] =
 	{
 		{"track_counts", PGC_SUSET, STATS_COLLECTOR,
 			gettext_noop("Collects statistics on database activity."),
-			NULL
+			NULL,
+			GUC_STATS_SETTINGS
 		},
 		&pgstat_track_counts,
 		true,
@@ -1522,7 +1579,8 @@ static struct config_bool ConfigureNamesBool[] =
 	{
 		{"track_io_timing", PGC_SUSET, STATS_COLLECTOR,
 			gettext_noop("Collects timing statistics for database I/O activity."),
-			NULL
+			NULL,
+			GUC_STATS_SETTINGS
 		},
 		&track_io_timing,
 		false,
@@ -1531,7 +1589,8 @@ static struct config_bool ConfigureNamesBool[] =
 	{
 		{"track_wal_io_timing", PGC_SUSET, STATS_COLLECTOR,
 			gettext_noop("Collects timing statistics for WAL I/O activity."),
-			NULL
+			NULL,
+			GUC_STATS_SETTINGS
 		},
 		&track_wal_io_timing,
 		false,
@@ -1541,7 +1600,8 @@ static struct config_bool ConfigureNamesBool[] =
 	{
 		{"update_process_title", PGC_SUSET, PROCESS_TITLE,
 			gettext_noop("Updates the process title to show the active SQL command."),
-			gettext_noop("Enables updating of the process title every time a new SQL command is received by the server.")
+			gettext_noop("Enables updating of the process title every time a new SQL command is received by the server."),
+			GUC_LOGGING_SETTINGS | GUC_SECURITY_SETTINGS
 		},
 		&update_process_title,
 #ifdef WIN32
@@ -1555,7 +1615,8 @@ static struct config_bool ConfigureNamesBool[] =
 	{
 		{"autovacuum", PGC_SIGHUP, AUTOVACUUM,
 			gettext_noop("Starts the autovacuum subprocess."),
-			NULL
+			NULL,
+			GUC_MAINTENANCE_SETTINGS | GUC_RESOURCE_USAGE
 		},
 		&autovacuum_start_daemon,
 		true,
@@ -1566,6 +1627,7 @@ static struct config_bool ConfigureNamesBool[] =
 		{"trace_notify", PGC_USERSET, DEVELOPER_OPTIONS,
 			gettext_noop("Generates debugging output for LISTEN and NOTIFY."),
 			NULL,
+			GUC_INTERNAL_SETTINGS,
 			GUC_NOT_IN_SAMPLE
 		},
 		&Trace_notify,
@@ -1578,6 +1640,7 @@ static struct config_bool ConfigureNamesBool[] =
 		{"trace_locks", PGC_SUSET, DEVELOPER_OPTIONS,
 			gettext_noop("Emits information about lock usage."),
 			NULL,
+			GUC_LOGGING_SETTINGS,
 			GUC_NOT_IN_SAMPLE
 		},
 		&Trace_locks,
@@ -1588,6 +1651,7 @@ static struct config_bool ConfigureNamesBool[] =
 		{"trace_userlocks", PGC_SUSET, DEVELOPER_OPTIONS,
 			gettext_noop("Emits information about user lock usage."),
 			NULL,
+			GUC_LOGGING_SETTINGS,
 			GUC_NOT_IN_SAMPLE
 		},
 		&Trace_userlocks,
@@ -1598,6 +1662,7 @@ static struct config_bool ConfigureNamesBool[] =
 		{"trace_lwlocks", PGC_SUSET, DEVELOPER_OPTIONS,
 			gettext_noop("Emits information about lightweight lock usage."),
 			NULL,
+			GUC_LOGGING_SETTINGS,
 			GUC_NOT_IN_SAMPLE
 		},
 		&Trace_lwlocks,
@@ -1608,6 +1673,7 @@ static struct config_bool ConfigureNamesBool[] =
 		{"debug_deadlocks", PGC_SUSET, DEVELOPER_OPTIONS,
 			gettext_noop("Dumps information about all current locks when a deadlock timeout occurs."),
 			NULL,
+			GUC_LOGGING_SETTINGS,
 			GUC_NOT_IN_SAMPLE
 		},
 		&Debug_deadlocks,
@@ -1619,7 +1685,8 @@ static struct config_bool ConfigureNamesBool[] =
 	{
 		{"log_lock_waits", PGC_SUSET, LOGGING_WHAT,
 			gettext_noop("Logs long lock waits."),
-			NULL
+			NULL,
+			GUC_LOGGING_SETTINGS
 		},
 		&log_lock_waits,
 		false,
@@ -1628,7 +1695,8 @@ static struct config_bool ConfigureNamesBool[] =
 	{
 		{"log_recovery_conflict_waits", PGC_SIGHUP, LOGGING_WHAT,
 			gettext_noop("Logs standby recovery conflict waits."),
-			NULL
+			NULL,
+			GUC_LOGGING_SETTINGS
 		},
 		&log_recovery_conflict_waits,
 		false,
@@ -1640,7 +1708,8 @@ static struct config_bool ConfigureNamesBool[] =
 			gettext_noop("By default, connection logs only show the IP address "
 						 "of the connecting host. If you want them to show the host name you "
 						 "can turn this on, but depending on your host name resolution "
-						 "setup it might impose a non-negligible performance penalty.")
+						 "setup it might impose a non-negligible performance penalty."),
+			GUC_INTERFACE_SETTINGS | GUC_LOGGING_SETTINGS
 		},
 		&log_hostname,
 		false,
@@ -1653,7 +1722,8 @@ static struct config_bool ConfigureNamesBool[] =
 						 "(or NULL = expr) are treated as expr IS NULL, that is, they "
 						 "return true if expr evaluates to the null value, and false "
 						 "otherwise. The correct behavior of expr = NULL is to always "
-						 "return null (unknown).")
+						 "return null (unknown)."),
+			GUC_INTERNAL_SETTINGS
 		},
 		&Transform_null_equals,
 		false,
@@ -1662,7 +1732,8 @@ static struct config_bool ConfigureNamesBool[] =
 	{
 		{"db_user_namespace", PGC_SIGHUP, CONN_AUTH_AUTH,
 			gettext_noop("Enables per-database user names."),
-			NULL
+			NULL,
+			GUC_INTERFACE_SETTINGS
 		},
 		&Db_user_namespace,
 		false,
@@ -1672,6 +1743,7 @@ static struct config_bool ConfigureNamesBool[] =
 		{"default_transaction_read_only", PGC_USERSET, CLIENT_CONN_STATEMENT,
 			gettext_noop("Sets the default read-only status of new transactions."),
 			NULL,
+			GUC_INTERNAL_SETTINGS,
 			GUC_REPORT
 		},
 		&DefaultXactReadOnly,
@@ -1682,6 +1754,7 @@ static struct config_bool ConfigureNamesBool[] =
 		{"transaction_read_only", PGC_USERSET, CLIENT_CONN_STATEMENT,
 			gettext_noop("Sets the current transaction's read-only status."),
 			NULL,
+			GUC_INTERNAL_SETTINGS,
 			GUC_NO_RESET_ALL | GUC_NOT_IN_SAMPLE | GUC_DISALLOW_IN_FILE
 		},
 		&XactReadOnly,
@@ -1691,7 +1764,8 @@ static struct config_bool ConfigureNamesBool[] =
 	{
 		{"default_transaction_deferrable", PGC_USERSET, CLIENT_CONN_STATEMENT,
 			gettext_noop("Sets the default deferrable status of new transactions."),
-			NULL
+			NULL,
+			GUC_INTERNAL_SETTINGS
 		},
 		&DefaultXactDeferrable,
 		false,
@@ -1701,6 +1775,7 @@ static struct config_bool ConfigureNamesBool[] =
 		{"transaction_deferrable", PGC_USERSET, CLIENT_CONN_STATEMENT,
 			gettext_noop("Whether to defer a read-only serializable transaction until it can be executed with no possible serialization failures."),
 			NULL,
+			GUC_INTERNAL_SETTINGS,
 			GUC_NO_RESET_ALL | GUC_NOT_IN_SAMPLE | GUC_DISALLOW_IN_FILE
 		},
 		&XactDeferrable,
@@ -1710,7 +1785,8 @@ static struct config_bool ConfigureNamesBool[] =
 	{
 		{"row_security", PGC_USERSET, CLIENT_CONN_STATEMENT,
 			gettext_noop("Enable row security."),
-			gettext_noop("When enabled, row security will be applied to all users.")
+			gettext_noop("When enabled, row security will be applied to all users."),
+			GUC_INTERNAL_SETTINGS
 		},
 		&row_security,
 		true,
@@ -1719,7 +1795,8 @@ static struct config_bool ConfigureNamesBool[] =
 	{
 		{"check_function_bodies", PGC_USERSET, CLIENT_CONN_STATEMENT,
 			gettext_noop("Check routine bodies during CREATE FUNCTION and CREATE PROCEDURE."),
-			NULL
+			NULL,
+			GUC_INTERNAL_SETTINGS
 		},
 		&check_function_bodies,
 		true,
@@ -1730,7 +1807,8 @@ static struct config_bool ConfigureNamesBool[] =
 			gettext_noop("Enable input of NULL elements in arrays."),
 			gettext_noop("When turned on, unquoted NULL in an array input "
 						 "value means a null value; "
-						 "otherwise it is taken literally.")
+						 "otherwise it is taken literally."),
+			GUC_INTERNAL_SETTINGS
 		},
 		&Array_nulls,
 		true,
@@ -1746,6 +1824,7 @@ static struct config_bool ConfigureNamesBool[] =
 		{"default_with_oids", PGC_USERSET, COMPAT_OPTIONS_PREVIOUS,
 			gettext_noop("WITH OIDS is no longer supported; this can only be false."),
 			NULL,
+			GUC_INTERNAL_SETTINGS,
 			GUC_NO_SHOW_ALL | GUC_NOT_IN_SAMPLE
 		},
 		&default_with_oids,
@@ -1755,7 +1834,8 @@ static struct config_bool ConfigureNamesBool[] =
 	{
 		{"logging_collector", PGC_POSTMASTER, LOGGING_WHERE,
 			gettext_noop("Start a subprocess to capture stderr output and/or csvlogs into log files."),
-			NULL
+			NULL,
+			GUC_FILESYSTEM_SECURITY | GUC_LOGGING_SETTINGS | GUC_RESOURCE_USAGE | GUC_SECURITY_SETTINGS
 		},
 		&Logging_collector,
 		false,
@@ -1764,7 +1844,8 @@ static struct config_bool ConfigureNamesBool[] =
 	{
 		{"log_truncate_on_rotation", PGC_SIGHUP, LOGGING_WHERE,
 			gettext_noop("Truncate existing log files of same name during log rotation."),
-			NULL
+			NULL,
+			GUC_FILESYSTEM_SECURITY | GUC_LOGGING_SETTINGS | GUC_RESOURCE_USAGE | GUC_SECURITY_SETTINGS
 		},
 		&Log_truncate_on_rotation,
 		false,
@@ -1776,6 +1857,7 @@ static struct config_bool ConfigureNamesBool[] =
 		{"trace_sort", PGC_USERSET, DEVELOPER_OPTIONS,
 			gettext_noop("Emit information about resource usage in sorting."),
 			NULL,
+			GUC_INTERNAL_SETTINGS,
 			GUC_NOT_IN_SAMPLE
 		},
 		&trace_sort,
@@ -1790,6 +1872,7 @@ static struct config_bool ConfigureNamesBool[] =
 		{"trace_syncscan", PGC_USERSET, DEVELOPER_OPTIONS,
 			gettext_noop("Generate debugging output for synchronized scanning."),
 			NULL,
+			GUC_INTERNAL_SETTINGS,
 			GUC_NOT_IN_SAMPLE
 		},
 		&trace_syncscan,
@@ -1805,6 +1888,7 @@ static struct config_bool ConfigureNamesBool[] =
 			"optimize_bounded_sort", PGC_USERSET, QUERY_TUNING_METHOD,
 			gettext_noop("Enable bounded sorting using heap sort."),
 			NULL,
+			GUC_INTERNAL_SETTINGS,
 			GUC_NOT_IN_SAMPLE | GUC_EXPLAIN
 		},
 		&optimize_bounded_sort,
@@ -1818,6 +1902,7 @@ static struct config_bool ConfigureNamesBool[] =
 		{"wal_debug", PGC_SUSET, DEVELOPER_OPTIONS,
 			gettext_noop("Emit WAL-related debugging output."),
 			NULL,
+			GUC_LOGGING_SETTINGS | GUC_WAL_SETTINGS,
 			GUC_NOT_IN_SAMPLE
 		},
 		&XLOG_DEBUG,
@@ -1830,6 +1915,7 @@ static struct config_bool ConfigureNamesBool[] =
 		{"integer_datetimes", PGC_INTERNAL, PRESET_OPTIONS,
 			gettext_noop("Shows whether datetimes are integer based."),
 			NULL,
+			GUC_INTERNAL_SETTINGS,
 			GUC_REPORT | GUC_NOT_IN_SAMPLE | GUC_DISALLOW_IN_FILE
 		},
 		&integer_datetimes,
@@ -1840,7 +1926,8 @@ static struct config_bool ConfigureNamesBool[] =
 	{
 		{"krb_caseins_users", PGC_SIGHUP, CONN_AUTH_AUTH,
 			gettext_noop("Sets whether Kerberos and GSSAPI user names should be treated as case-insensitive."),
-			NULL
+			NULL,
+			GUC_INTERFACE_SETTINGS
 		},
 		&pg_krb_caseins_users,
 		false,
@@ -1850,7 +1937,8 @@ static struct config_bool ConfigureNamesBool[] =
 	{
 		{"escape_string_warning", PGC_USERSET, COMPAT_OPTIONS_PREVIOUS,
 			gettext_noop("Warn about backslash escapes in ordinary string literals."),
-			NULL
+			NULL,
+			GUC_INTERNAL_SETTINGS
 		},
 		&escape_string_warning,
 		true,
@@ -1861,6 +1949,7 @@ static struct config_bool ConfigureNamesBool[] =
 		{"standard_conforming_strings", PGC_USERSET, COMPAT_OPTIONS_PREVIOUS,
 			gettext_noop("Causes '...' strings to treat backslashes literally."),
 			NULL,
+			GUC_INTERNAL_SETTINGS,
 			GUC_REPORT
 		},
 		&standard_conforming_strings,
@@ -1871,7 +1960,8 @@ static struct config_bool ConfigureNamesBool[] =
 	{
 		{"synchronize_seqscans", PGC_USERSET, COMPAT_OPTIONS_PREVIOUS,
 			gettext_noop("Enable synchronized sequential scans."),
-			NULL
+			NULL,
+			GUC_INTERNAL_SETTINGS
 		},
 		&synchronize_seqscans,
 		true,
@@ -1881,7 +1971,8 @@ static struct config_bool ConfigureNamesBool[] =
 	{
 		{"recovery_target_inclusive", PGC_POSTMASTER, WAL_RECOVERY_TARGET,
 			gettext_noop("Sets whether to include or exclude transaction with recovery target."),
-			NULL
+			NULL,
+			GUC_WAL_SETTINGS
 		},
 		&recoveryTargetInclusive,
 		true,
@@ -1891,7 +1982,8 @@ static struct config_bool ConfigureNamesBool[] =
 	{
 		{"hot_standby", PGC_POSTMASTER, REPLICATION_STANDBY,
 			gettext_noop("Allows connections and queries during recovery."),
-			NULL
+			NULL,
+			GUC_WAL_SETTINGS
 		},
 		&EnableHotStandby,
 		true,
@@ -1901,7 +1993,8 @@ static struct config_bool ConfigureNamesBool[] =
 	{
 		{"hot_standby_feedback", PGC_SIGHUP, REPLICATION_STANDBY,
 			gettext_noop("Allows feedback from a hot standby to the primary that will avoid query conflicts."),
-			NULL
+			NULL,
+			GUC_WAL_SETTINGS
 		},
 		&hot_standby_feedback,
 		false,
@@ -1912,6 +2005,7 @@ static struct config_bool ConfigureNamesBool[] =
 		{"in_hot_standby", PGC_INTERNAL, PRESET_OPTIONS,
 			gettext_noop("Shows whether hot standby is currently active."),
 			NULL,
+			GUC_INTERNAL_SETTINGS,
 			GUC_REPORT | GUC_NOT_IN_SAMPLE | GUC_DISALLOW_IN_FILE
 		},
 		&in_hot_standby,
@@ -1923,6 +2017,7 @@ static struct config_bool ConfigureNamesBool[] =
 		{"allow_system_table_mods", PGC_SUSET, DEVELOPER_OPTIONS,
 			gettext_noop("Allows modifications of the structure of system tables."),
 			NULL,
+			GUC_ALL_PRIVILEGES,
 			GUC_NOT_IN_SAMPLE
 		},
 		&allowSystemTableMods,
@@ -1935,6 +2030,7 @@ static struct config_bool ConfigureNamesBool[] =
 			gettext_noop("Disables reading from system indexes."),
 			gettext_noop("It does not prevent updating the indexes, so it is safe "
 						 "to use.  The worst consequence is slowness."),
+			GUC_INTERNAL_SETTINGS,
 			GUC_NOT_IN_SAMPLE
 		},
 		&IgnoreSystemIndexes,
@@ -1946,7 +2042,8 @@ static struct config_bool ConfigureNamesBool[] =
 		{"lo_compat_privileges", PGC_SUSET, COMPAT_OPTIONS_PREVIOUS,
 			gettext_noop("Enables backward compatibility mode for privilege checks on large objects."),
 			gettext_noop("Skips privilege checks when reading or modifying large objects, "
-						 "for compatibility with PostgreSQL releases prior to 9.0.")
+						 "for compatibility with PostgreSQL releases prior to 9.0."),
+			GUC_SECURITY_SETTINGS
 		},
 		&lo_compat_privileges,
 		false,
@@ -1957,6 +2054,7 @@ static struct config_bool ConfigureNamesBool[] =
 		{"quote_all_identifiers", PGC_USERSET, COMPAT_OPTIONS_PREVIOUS,
 			gettext_noop("When generating SQL fragments, quote all identifiers."),
 			NULL,
+			GUC_INTERNAL_SETTINGS,
 		},
 		&quote_all_identifiers,
 		false,
@@ -1967,6 +2065,7 @@ static struct config_bool ConfigureNamesBool[] =
 		{"data_checksums", PGC_INTERNAL, PRESET_OPTIONS,
 			gettext_noop("Shows whether data checksums are turned on for this cluster."),
 			NULL,
+			GUC_INTERNAL_SETTINGS,
 			GUC_NOT_IN_SAMPLE | GUC_DISALLOW_IN_FILE
 		},
 		&data_checksums,
@@ -1977,7 +2076,8 @@ static struct config_bool ConfigureNamesBool[] =
 	{
 		{"syslog_sequence_numbers", PGC_SIGHUP, LOGGING_WHERE,
 			gettext_noop("Add sequence number to syslog messages to avoid duplicate suppression."),
-			NULL
+			NULL,
+			GUC_LOGGING_SETTINGS | GUC_SECURITY_SETTINGS
 		},
 		&syslog_sequence_numbers,
 		true,
@@ -1987,7 +2087,8 @@ static struct config_bool ConfigureNamesBool[] =
 	{
 		{"syslog_split_messages", PGC_SIGHUP, LOGGING_WHERE,
 			gettext_noop("Split messages sent to syslog by lines and to fit into 1024 bytes."),
-			NULL
+			NULL,
+			GUC_LOGGING_SETTINGS | GUC_SECURITY_SETTINGS
 		},
 		&syslog_split_messages,
 		true,
@@ -1998,6 +2099,7 @@ static struct config_bool ConfigureNamesBool[] =
 		{"parallel_leader_participation", PGC_USERSET, RESOURCES_ASYNCHRONOUS,
 			gettext_noop("Controls whether Gather and Gather Merge also run subplans."),
 			gettext_noop("Should gather nodes also run subplans or just gather tuples?"),
+			GUC_INTERNAL_SETTINGS,
 			GUC_EXPLAIN
 		},
 		&parallel_leader_participation,
@@ -2009,6 +2111,7 @@ static struct config_bool ConfigureNamesBool[] =
 		{"jit", PGC_USERSET, QUERY_TUNING_OTHER,
 			gettext_noop("Allow JIT compilation."),
 			NULL,
+			GUC_INTERNAL_SETTINGS,
 			GUC_EXPLAIN
 		},
 		&jit_enabled,
@@ -2020,6 +2123,7 @@ static struct config_bool ConfigureNamesBool[] =
 		{"jit_debugging_support", PGC_SU_BACKEND, DEVELOPER_OPTIONS,
 			gettext_noop("Register JIT-compiled functions with debugger."),
 			NULL,
+			GUC_INTERNAL_SETTINGS | GUC_SECURITY_SETTINGS,
 			GUC_NOT_IN_SAMPLE
 		},
 		&jit_debugging_support,
@@ -2037,6 +2141,7 @@ static struct config_bool ConfigureNamesBool[] =
 		{"jit_dump_bitcode", PGC_SUSET, DEVELOPER_OPTIONS,
 			gettext_noop("Write out LLVM bitcode to facilitate JIT debugging."),
 			NULL,
+			GUC_FILESYSTEM_SECURITY | GUC_SECURITY_SETTINGS,
 			GUC_NOT_IN_SAMPLE
 		},
 		&jit_dump_bitcode,
@@ -2048,6 +2153,7 @@ static struct config_bool ConfigureNamesBool[] =
 		{"jit_expressions", PGC_USERSET, DEVELOPER_OPTIONS,
 			gettext_noop("Allow JIT compilation of expressions."),
 			NULL,
+			GUC_INTERNAL_SETTINGS,
 			GUC_NOT_IN_SAMPLE
 		},
 		&jit_expressions,
@@ -2059,6 +2165,7 @@ static struct config_bool ConfigureNamesBool[] =
 		{"jit_profiling_support", PGC_SU_BACKEND, DEVELOPER_OPTIONS,
 			gettext_noop("Register JIT-compiled functions with perf profiler."),
 			NULL,
+			GUC_FILESYSTEM_SECURITY | GUC_SECURITY_SETTINGS,
 			GUC_NOT_IN_SAMPLE
 		},
 		&jit_profiling_support,
@@ -2076,6 +2183,7 @@ static struct config_bool ConfigureNamesBool[] =
 		{"jit_tuple_deforming", PGC_USERSET, DEVELOPER_OPTIONS,
 			gettext_noop("Allow JIT compilation of tuple deforming."),
 			NULL,
+			GUC_INTERNAL_SETTINGS,
 			GUC_NOT_IN_SAMPLE
 		},
 		&jit_tuple_deforming,
@@ -2086,6 +2194,8 @@ static struct config_bool ConfigureNamesBool[] =
 	{
 		{"data_sync_retry", PGC_POSTMASTER, ERROR_HANDLING_OPTIONS,
 			gettext_noop("Whether to continue running after a failure to sync data files."),
+			NULL,
+			GUC_STORAGE_SETTINGS
 		},
 		&data_sync_retry,
 		false,
@@ -2095,6 +2205,8 @@ static struct config_bool ConfigureNamesBool[] =
 	{
 		{"wal_receiver_create_temp_slot", PGC_SIGHUP, REPLICATION_STANDBY,
 			gettext_noop("Sets whether a WAL receiver should create a temporary replication slot if no permanent slot is configured."),
+			NULL,
+			GUC_WAL_SETTINGS,
 		},
 		&wal_receiver_create_temp_slot,
 		false,
@@ -2115,6 +2227,7 @@ static struct config_int ConfigureNamesInt[] =
 			gettext_noop("Forces a switch to the next WAL file if a "
 						 "new file has not been started within N seconds."),
 			NULL,
+			GUC_WAL_SETTINGS,
 			GUC_UNIT_S
 		},
 		&XLogArchiveTimeout,
@@ -2125,6 +2238,7 @@ static struct config_int ConfigureNamesInt[] =
 		{"post_auth_delay", PGC_BACKEND, DEVELOPER_OPTIONS,
 			gettext_noop("Waits N seconds on connection startup after authentication."),
 			gettext_noop("This allows attaching a debugger to the process."),
+			GUC_INTERFACE_SETTINGS,
 			GUC_NOT_IN_SAMPLE | GUC_UNIT_S
 		},
 		&PostAuthDelay,
@@ -2135,7 +2249,8 @@ static struct config_int ConfigureNamesInt[] =
 		{"default_statistics_target", PGC_USERSET, QUERY_TUNING_OTHER,
 			gettext_noop("Sets the default statistics target."),
 			gettext_noop("This applies to table columns that have not had a "
-						 "column-specific target set via ALTER TABLE SET STATISTICS.")
+						 "column-specific target set via ALTER TABLE SET STATISTICS."),
+			GUC_INTERNAL_SETTINGS
 		},
 		&default_statistics_target,
 		100, 1, 10000,
@@ -2148,6 +2263,7 @@ static struct config_int ConfigureNamesInt[] =
 			gettext_noop("The planner will merge subqueries into upper "
 						 "queries if the resulting FROM list would have no more than "
 						 "this many items."),
+			GUC_INTERNAL_SETTINGS,
 			GUC_EXPLAIN
 		},
 		&from_collapse_limit,
@@ -2161,6 +2277,7 @@ static struct config_int ConfigureNamesInt[] =
 			gettext_noop("The planner will flatten explicit JOIN "
 						 "constructs into lists of FROM items whenever a "
 						 "list of no more than this many items would result."),
+			GUC_INTERNAL_SETTINGS,
 			GUC_EXPLAIN
 		},
 		&join_collapse_limit,
@@ -2171,6 +2288,7 @@ static struct config_int ConfigureNamesInt[] =
 		{"geqo_threshold", PGC_USERSET, QUERY_TUNING_GEQO,
 			gettext_noop("Sets the threshold of FROM items beyond which GEQO is used."),
 			NULL,
+			GUC_INTERNAL_SETTINGS,
 			GUC_EXPLAIN
 		},
 		&geqo_threshold,
@@ -2181,6 +2299,7 @@ static struct config_int ConfigureNamesInt[] =
 		{"geqo_effort", PGC_USERSET, QUERY_TUNING_GEQO,
 			gettext_noop("GEQO: effort is used to set the default for other GEQO parameters."),
 			NULL,
+			GUC_INTERNAL_SETTINGS,
 			GUC_EXPLAIN
 		},
 		&Geqo_effort,
@@ -2191,6 +2310,7 @@ static struct config_int ConfigureNamesInt[] =
 		{"geqo_pool_size", PGC_USERSET, QUERY_TUNING_GEQO,
 			gettext_noop("GEQO: number of individuals in the population."),
 			gettext_noop("Zero selects a suitable default value."),
+			GUC_INTERNAL_SETTINGS,
 			GUC_EXPLAIN
 		},
 		&Geqo_pool_size,
@@ -2201,6 +2321,7 @@ static struct config_int ConfigureNamesInt[] =
 		{"geqo_generations", PGC_USERSET, QUERY_TUNING_GEQO,
 			gettext_noop("GEQO: number of iterations of the algorithm."),
 			gettext_noop("Zero selects a suitable default value."),
+			GUC_INTERNAL_SETTINGS,
 			GUC_EXPLAIN
 		},
 		&Geqo_generations,
@@ -2213,6 +2334,7 @@ static struct config_int ConfigureNamesInt[] =
 		{"deadlock_timeout", PGC_SUSET, LOCK_MANAGEMENT,
 			gettext_noop("Sets the time to wait on a lock before checking for deadlock."),
 			NULL,
+			GUC_INTERNAL_SETTINGS | GUC_SECURITY_SETTINGS,
 			GUC_UNIT_MS
 		},
 		&DeadlockTimeout,
@@ -2224,6 +2346,7 @@ static struct config_int ConfigureNamesInt[] =
 		{"max_standby_archive_delay", PGC_SIGHUP, REPLICATION_STANDBY,
 			gettext_noop("Sets the maximum delay before canceling queries when a hot standby server is processing archived WAL data."),
 			NULL,
+			GUC_WAL_SETTINGS,
 			GUC_UNIT_MS
 		},
 		&max_standby_archive_delay,
@@ -2235,6 +2358,7 @@ static struct config_int ConfigureNamesInt[] =
 		{"max_standby_streaming_delay", PGC_SIGHUP, REPLICATION_STANDBY,
 			gettext_noop("Sets the maximum delay before canceling queries when a hot standby server is processing streamed WAL data."),
 			NULL,
+			GUC_WAL_SETTINGS,
 			GUC_UNIT_MS
 		},
 		&max_standby_streaming_delay,
@@ -2246,6 +2370,7 @@ static struct config_int ConfigureNamesInt[] =
 		{"recovery_min_apply_delay", PGC_SIGHUP, REPLICATION_STANDBY,
 			gettext_noop("Sets the minimum delay for applying changes during recovery."),
 			NULL,
+			GUC_WAL_SETTINGS,
 			GUC_UNIT_MS
 		},
 		&recovery_min_apply_delay,
@@ -2257,6 +2382,7 @@ static struct config_int ConfigureNamesInt[] =
 		{"wal_receiver_status_interval", PGC_SIGHUP, REPLICATION_STANDBY,
 			gettext_noop("Sets the maximum interval between WAL receiver status reports to the sending server."),
 			NULL,
+			GUC_WAL_SETTINGS,
 			GUC_UNIT_S
 		},
 		&wal_receiver_status_interval,
@@ -2268,6 +2394,7 @@ static struct config_int ConfigureNamesInt[] =
 		{"wal_receiver_timeout", PGC_SIGHUP, REPLICATION_STANDBY,
 			gettext_noop("Sets the maximum wait time to receive data from the sending server."),
 			NULL,
+			GUC_WAL_SETTINGS,
 			GUC_UNIT_MS
 		},
 		&wal_receiver_timeout,
@@ -2278,7 +2405,8 @@ static struct config_int ConfigureNamesInt[] =
 	{
 		{"max_connections", PGC_POSTMASTER, CONN_AUTH_SETTINGS,
 			gettext_noop("Sets the maximum number of concurrent connections."),
-			NULL
+			NULL,
+			GUC_INTERFACE_SETTINGS
 		},
 		&MaxConnections,
 		100, 1, MAX_BACKENDS,
@@ -2289,7 +2417,8 @@ static struct config_int ConfigureNamesInt[] =
 		/* see max_connections */
 		{"superuser_reserved_connections", PGC_POSTMASTER, CONN_AUTH_SETTINGS,
 			gettext_noop("Sets the number of connection slots reserved for superusers."),
-			NULL
+			NULL,
+			GUC_INTERFACE_SETTINGS
 		},
 		&ReservedBackends,
 		3, 0, MAX_BACKENDS,
@@ -2300,6 +2429,7 @@ static struct config_int ConfigureNamesInt[] =
 		{"min_dynamic_shared_memory", PGC_POSTMASTER, RESOURCES_MEM,
 			gettext_noop("Amount of dynamic shared memory reserved at startup."),
 			NULL,
+			GUC_RESOURCE_USAGE,
 			GUC_UNIT_MB
 		},
 		&min_dynamic_shared_memory,
@@ -2315,6 +2445,7 @@ static struct config_int ConfigureNamesInt[] =
 		{"shared_buffers", PGC_POSTMASTER, RESOURCES_MEM,
 			gettext_noop("Sets the number of shared memory buffers used by the server."),
 			NULL,
+			GUC_RESOURCE_USAGE,
 			GUC_UNIT_BLOCKS
 		},
 		&NBuffers,
@@ -2326,6 +2457,7 @@ static struct config_int ConfigureNamesInt[] =
 		{"temp_buffers", PGC_USERSET, RESOURCES_MEM,
 			gettext_noop("Sets the maximum number of temporary buffers used by each session."),
 			NULL,
+			GUC_INTERNAL_SETTINGS,
 			GUC_UNIT_BLOCKS | GUC_EXPLAIN
 		},
 		&num_temp_buffers,
@@ -2336,7 +2468,8 @@ static struct config_int ConfigureNamesInt[] =
 	{
 		{"port", PGC_POSTMASTER, CONN_AUTH_SETTINGS,
 			gettext_noop("Sets the TCP port the server listens on."),
-			NULL
+			NULL,
+			GUC_INTERFACE_SETTINGS
 		},
 		&PostPortNumber,
 		DEF_PGPORT, 1, 65535,
@@ -2351,7 +2484,8 @@ static struct config_int ConfigureNamesInt[] =
 						 "to be a numeric mode specification in the form "
 						 "accepted by the chmod and umask system calls. "
 						 "(To use the customary octal format the number must "
-						 "start with a 0 (zero).)")
+						 "start with a 0 (zero).)"),
+			GUC_INTERFACE_SETTINGS
 		},
 		&Unix_socket_permissions,
 		0777, 0000, 0777,
@@ -2365,7 +2499,8 @@ static struct config_int ConfigureNamesInt[] =
 						 "to be a numeric mode specification in the form "
 						 "accepted by the chmod and umask system calls. "
 						 "(To use the customary octal format the number must "
-						 "start with a 0 (zero).)")
+						 "start with a 0 (zero).)"),
+			 GUC_FILESYSTEM_SECURITY | GUC_LOGGING_SETTINGS
 		},
 		&Log_file_mode,
 		0600, 0000, 0777,
@@ -2380,6 +2515,7 @@ static struct config_int ConfigureNamesInt[] =
 						 "in the form accepted by the chmod and umask system "
 						 "calls. (To use the customary octal format the number "
 						 "must start with a 0 (zero).)"),
+			GUC_INTERNAL_SETTINGS,
 			GUC_NOT_IN_SAMPLE | GUC_DISALLOW_IN_FILE
 		},
 		&data_directory_mode,
@@ -2393,6 +2529,7 @@ static struct config_int ConfigureNamesInt[] =
 			gettext_noop("This much memory can be used by each internal "
 						 "sort operation and hash table before switching to "
 						 "temporary disk files."),
+			GUC_INTERNAL_SETTINGS,
 			GUC_UNIT_KB | GUC_EXPLAIN
 		},
 		&work_mem,
@@ -2404,6 +2541,7 @@ static struct config_int ConfigureNamesInt[] =
 		{"maintenance_work_mem", PGC_USERSET, RESOURCES_MEM,
 			gettext_noop("Sets the maximum memory to be used for maintenance operations."),
 			gettext_noop("This includes operations such as VACUUM and CREATE INDEX."),
+			GUC_INTERNAL_SETTINGS,
 			GUC_UNIT_KB
 		},
 		&maintenance_work_mem,
@@ -2416,6 +2554,7 @@ static struct config_int ConfigureNamesInt[] =
 			gettext_noop("Sets the maximum memory to be used for logical decoding."),
 			gettext_noop("This much memory can be used by each internal "
 						 "reorder buffer before spilling to disk."),
+			GUC_INTERNAL_SETTINGS,
 			GUC_UNIT_KB
 		},
 		&logical_decoding_work_mem,
@@ -2432,6 +2571,7 @@ static struct config_int ConfigureNamesInt[] =
 		{"max_stack_depth", PGC_SUSET, RESOURCES_MEM,
 			gettext_noop("Sets the maximum stack depth, in kilobytes."),
 			NULL,
+			GUC_RESOURCE_USAGE,
 			GUC_UNIT_KB
 		},
 		&max_stack_depth,
@@ -2443,6 +2583,7 @@ static struct config_int ConfigureNamesInt[] =
 		{"temp_file_limit", PGC_SUSET, RESOURCES_DISK,
 			gettext_noop("Limits the total size of all temporary files used by each process."),
 			gettext_noop("-1 means no limit."),
+			GUC_RESOURCE_USAGE,
 			GUC_UNIT_KB
 		},
 		&temp_file_limit,
@@ -2453,7 +2594,8 @@ static struct config_int ConfigureNamesInt[] =
 	{
 		{"vacuum_cost_page_hit", PGC_USERSET, RESOURCES_VACUUM_DELAY,
 			gettext_noop("Vacuum cost for a page found in the buffer cache."),
-			NULL
+			NULL,
+			GUC_INTERNAL_SETTINGS
 		},
 		&VacuumCostPageHit,
 		1, 0, 10000,
@@ -2463,7 +2605,8 @@ static struct config_int ConfigureNamesInt[] =
 	{
 		{"vacuum_cost_page_miss", PGC_USERSET, RESOURCES_VACUUM_DELAY,
 			gettext_noop("Vacuum cost for a page not found in the buffer cache."),
-			NULL
+			NULL,
+			GUC_INTERNAL_SETTINGS
 		},
 		&VacuumCostPageMiss,
 		2, 0, 10000,
@@ -2473,7 +2616,8 @@ static struct config_int ConfigureNamesInt[] =
 	{
 		{"vacuum_cost_page_dirty", PGC_USERSET, RESOURCES_VACUUM_DELAY,
 			gettext_noop("Vacuum cost for a page dirtied by vacuum."),
-			NULL
+			NULL,
+			GUC_INTERNAL_SETTINGS
 		},
 		&VacuumCostPageDirty,
 		20, 0, 10000,
@@ -2483,7 +2627,8 @@ static struct config_int ConfigureNamesInt[] =
 	{
 		{"vacuum_cost_limit", PGC_USERSET, RESOURCES_VACUUM_DELAY,
 			gettext_noop("Vacuum cost amount available before napping."),
-			NULL
+			NULL,
+			GUC_INTERNAL_SETTINGS
 		},
 		&VacuumCostLimit,
 		200, 1, 10000,
@@ -2493,7 +2638,8 @@ static struct config_int ConfigureNamesInt[] =
 	{
 		{"autovacuum_vacuum_cost_limit", PGC_SIGHUP, AUTOVACUUM,
 			gettext_noop("Vacuum cost amount available before napping, for autovacuum."),
-			NULL
+			NULL,
+			GUC_MAINTENANCE_SETTINGS
 		},
 		&autovacuum_vac_cost_limit,
 		-1, -1, 10000,
@@ -2503,7 +2649,8 @@ static struct config_int ConfigureNamesInt[] =
 	{
 		{"max_files_per_process", PGC_POSTMASTER, RESOURCES_KERNEL,
 			gettext_noop("Sets the maximum number of simultaneously open files for each server process."),
-			NULL
+			NULL,
+			GUC_RESOURCE_USAGE
 		},
 		&max_files_per_process,
 		1000, 64, INT_MAX,
@@ -2516,7 +2663,8 @@ static struct config_int ConfigureNamesInt[] =
 	{
 		{"max_prepared_transactions", PGC_POSTMASTER, RESOURCES_MEM,
 			gettext_noop("Sets the maximum number of simultaneously prepared transactions."),
-			NULL
+			NULL,
+			GUC_RESOURCE_USAGE
 		},
 		&max_prepared_xacts,
 		0, 0, MAX_BACKENDS,
@@ -2528,6 +2676,7 @@ static struct config_int ConfigureNamesInt[] =
 		{"trace_lock_oidmin", PGC_SUSET, DEVELOPER_OPTIONS,
 			gettext_noop("Sets the minimum OID of tables for tracking locks."),
 			gettext_noop("Is used to avoid output on system tables."),
+			GUC_LOGGING_SETTINGS,
 			GUC_NOT_IN_SAMPLE
 		},
 		&Trace_lock_oidmin,
@@ -2538,6 +2687,7 @@ static struct config_int ConfigureNamesInt[] =
 		{"trace_lock_table", PGC_SUSET, DEVELOPER_OPTIONS,
 			gettext_noop("Sets the OID of the table with unconditionally lock tracing."),
 			NULL,
+			GUC_LOGGING_SETTINGS,
 			GUC_NOT_IN_SAMPLE
 		},
 		&Trace_lock_table,
@@ -2550,6 +2700,7 @@ static struct config_int ConfigureNamesInt[] =
 		{"statement_timeout", PGC_USERSET, CLIENT_CONN_STATEMENT,
 			gettext_noop("Sets the maximum allowed duration of any statement."),
 			gettext_noop("A value of 0 turns off the timeout."),
+			GUC_INTERNAL_SETTINGS,
 			GUC_UNIT_MS
 		},
 		&StatementTimeout,
@@ -2561,6 +2712,7 @@ static struct config_int ConfigureNamesInt[] =
 		{"lock_timeout", PGC_USERSET, CLIENT_CONN_STATEMENT,
 			gettext_noop("Sets the maximum allowed duration of any wait for a lock."),
 			gettext_noop("A value of 0 turns off the timeout."),
+			GUC_INTERNAL_SETTINGS,
 			GUC_UNIT_MS
 		},
 		&LockTimeout,
@@ -2572,6 +2724,7 @@ static struct config_int ConfigureNamesInt[] =
 		{"idle_in_transaction_session_timeout", PGC_USERSET, CLIENT_CONN_STATEMENT,
 			gettext_noop("Sets the maximum allowed idle time between queries, when in a transaction."),
 			gettext_noop("A value of 0 turns off the timeout."),
+			GUC_INTERNAL_SETTINGS,
 			GUC_UNIT_MS
 		},
 		&IdleInTransactionSessionTimeout,
@@ -2583,6 +2736,7 @@ static struct config_int ConfigureNamesInt[] =
 		{"idle_session_timeout", PGC_USERSET, CLIENT_CONN_STATEMENT,
 			gettext_noop("Sets the maximum allowed idle time between queries, when not in a transaction."),
 			gettext_noop("A value of 0 turns off the timeout."),
+			GUC_INTERNAL_SETTINGS,
 			GUC_UNIT_MS
 		},
 		&IdleSessionTimeout,
@@ -2593,7 +2747,8 @@ static struct config_int ConfigureNamesInt[] =
 	{
 		{"vacuum_freeze_min_age", PGC_USERSET, CLIENT_CONN_STATEMENT,
 			gettext_noop("Minimum age at which VACUUM should freeze a table row."),
-			NULL
+			NULL,
+			GUC_INTERNAL_SETTINGS
 		},
 		&vacuum_freeze_min_age,
 		50000000, 0, 1000000000,
@@ -2603,7 +2758,8 @@ static struct config_int ConfigureNamesInt[] =
 	{
 		{"vacuum_freeze_table_age", PGC_USERSET, CLIENT_CONN_STATEMENT,
 			gettext_noop("Age at which VACUUM should scan whole table to freeze tuples."),
-			NULL
+			NULL,
+			GUC_INTERNAL_SETTINGS
 		},
 		&vacuum_freeze_table_age,
 		150000000, 0, 2000000000,
@@ -2613,7 +2769,8 @@ static struct config_int ConfigureNamesInt[] =
 	{
 		{"vacuum_multixact_freeze_min_age", PGC_USERSET, CLIENT_CONN_STATEMENT,
 			gettext_noop("Minimum age at which VACUUM should freeze a MultiXactId in a table row."),
-			NULL
+			NULL,
+			GUC_INTERNAL_SETTINGS
 		},
 		&vacuum_multixact_freeze_min_age,
 		5000000, 0, 1000000000,
@@ -2623,7 +2780,8 @@ static struct config_int ConfigureNamesInt[] =
 	{
 		{"vacuum_multixact_freeze_table_age", PGC_USERSET, CLIENT_CONN_STATEMENT,
 			gettext_noop("Multixact age at which VACUUM should scan whole table to freeze tuples."),
-			NULL
+			NULL,
+			GUC_INTERNAL_SETTINGS
 		},
 		&vacuum_multixact_freeze_table_age,
 		150000000, 0, 2000000000,
@@ -2633,7 +2791,8 @@ static struct config_int ConfigureNamesInt[] =
 	{
 		{"vacuum_defer_cleanup_age", PGC_SIGHUP, REPLICATION_PRIMARY,
 			gettext_noop("Number of transactions by which VACUUM and HOT cleanup should be deferred, if any."),
-			NULL
+			NULL,
+			GUC_MAINTENANCE_SETTINGS
 		},
 		&vacuum_defer_cleanup_age,
 		0, 0, 1000000,		/* see ComputeXidHorizons */
@@ -2642,7 +2801,8 @@ static struct config_int ConfigureNamesInt[] =
 	{
 		{"vacuum_failsafe_age", PGC_USERSET, CLIENT_CONN_STATEMENT,
 			gettext_noop("Age at which VACUUM should trigger failsafe to avoid a wraparound outage."),
-			NULL
+			NULL,
+			GUC_INTERNAL_SETTINGS
 		},
 		&vacuum_failsafe_age,
 		1600000000, 0, 2100000000,
@@ -2651,7 +2811,8 @@ static struct config_int ConfigureNamesInt[] =
 	{
 		{"vacuum_multixact_failsafe_age", PGC_USERSET, CLIENT_CONN_STATEMENT,
 			gettext_noop("Multixact age at which VACUUM should trigger failsafe to avoid a wraparound outage."),
-			NULL
+			NULL,
+			GUC_INTERNAL_SETTINGS
 		},
 		&vacuum_multixact_failsafe_age,
 		1600000000, 0, 2100000000,
@@ -2666,7 +2827,8 @@ static struct config_int ConfigureNamesInt[] =
 			gettext_noop("Sets the maximum number of locks per transaction."),
 			gettext_noop("The shared lock table is sized on the assumption that "
 						 "at most max_locks_per_transaction * max_connections distinct "
-						 "objects will need to be locked at any one time.")
+						 "objects will need to be locked at any one time."),
+			GUC_RESOURCE_USAGE
 		},
 		&max_locks_per_xact,
 		64, 10, INT_MAX,
@@ -2678,7 +2840,8 @@ static struct config_int ConfigureNamesInt[] =
 			gettext_noop("Sets the maximum number of predicate locks per transaction."),
 			gettext_noop("The shared predicate lock table is sized on the assumption that "
 						 "at most max_pred_locks_per_transaction * max_connections distinct "
-						 "objects will need to be locked at any one time.")
+						 "objects will need to be locked at any one time."),
+			GUC_RESOURCE_USAGE
 		},
 		&max_predicate_locks_per_xact,
 		64, 10, INT_MAX,
@@ -2689,7 +2852,8 @@ static struct config_int ConfigureNamesInt[] =
 		{"max_pred_locks_per_relation", PGC_SIGHUP, LOCK_MANAGEMENT,
 			gettext_noop("Sets the maximum number of predicate-locked pages and tuples per relation."),
 			gettext_noop("If more than this total of pages and tuples in the same relation are locked "
-						 "by a connection, those locks are replaced by a relation-level lock.")
+						 "by a connection, those locks are replaced by a relation-level lock."),
+			GUC_RESOURCE_USAGE
 		},
 		&max_predicate_locks_per_relation,
 		-2, INT_MIN, INT_MAX,
@@ -2700,7 +2864,8 @@ static struct config_int ConfigureNamesInt[] =
 		{"max_pred_locks_per_page", PGC_SIGHUP, LOCK_MANAGEMENT,
 			gettext_noop("Sets the maximum number of predicate-locked tuples per page."),
 			gettext_noop("If more than this number of tuples on the same page are locked "
-						 "by a connection, those locks are replaced by a page-level lock.")
+						 "by a connection, those locks are replaced by a page-level lock."),
+			GUC_RESOURCE_USAGE
 		},
 		&max_predicate_locks_per_page,
 		2, 0, INT_MAX,
@@ -2711,6 +2876,7 @@ static struct config_int ConfigureNamesInt[] =
 		{"authentication_timeout", PGC_SIGHUP, CONN_AUTH_AUTH,
 			gettext_noop("Sets the maximum allowed time to complete client authentication."),
 			NULL,
+			GUC_INTERFACE_SETTINGS,
 			GUC_UNIT_S
 		},
 		&AuthenticationTimeout,
@@ -2723,6 +2889,7 @@ static struct config_int ConfigureNamesInt[] =
 		{"pre_auth_delay", PGC_SIGHUP, DEVELOPER_OPTIONS,
 			gettext_noop("Waits N seconds on connection startup before authentication."),
 			gettext_noop("This allows attaching a debugger to the process."),
+			GUC_INTERFACE_SETTINGS,
 			GUC_NOT_IN_SAMPLE | GUC_UNIT_S
 		},
 		&PreAuthDelay,
@@ -2734,6 +2901,7 @@ static struct config_int ConfigureNamesInt[] =
 		{"wal_keep_size", PGC_SIGHUP, REPLICATION_SENDING,
 			gettext_noop("Sets the size of WAL files held for standby servers."),
 			NULL,
+			GUC_WAL_SETTINGS,
 			GUC_UNIT_MB
 		},
 		&wal_keep_size_mb,
@@ -2745,6 +2913,7 @@ static struct config_int ConfigureNamesInt[] =
 		{"min_wal_size", PGC_SIGHUP, WAL_CHECKPOINTS,
 			gettext_noop("Sets the minimum size to shrink the WAL to."),
 			NULL,
+			GUC_WAL_SETTINGS,
 			GUC_UNIT_MB
 		},
 		&min_wal_size_mb,
@@ -2757,6 +2926,7 @@ static struct config_int ConfigureNamesInt[] =
 		{"max_wal_size", PGC_SIGHUP, WAL_CHECKPOINTS,
 			gettext_noop("Sets the WAL size that triggers a checkpoint."),
 			NULL,
+			GUC_WAL_SETTINGS,
 			GUC_UNIT_MB
 		},
 		&max_wal_size_mb,
@@ -2769,6 +2939,7 @@ static struct config_int ConfigureNamesInt[] =
 		{"checkpoint_timeout", PGC_SIGHUP, WAL_CHECKPOINTS,
 			gettext_noop("Sets the maximum time between automatic WAL checkpoints."),
 			NULL,
+			GUC_WAL_SETTINGS,
 			GUC_UNIT_S
 		},
 		&CheckPointTimeout,
@@ -2783,6 +2954,7 @@ static struct config_int ConfigureNamesInt[] =
 			gettext_noop("Write a message to the server log if checkpoints "
 						 "caused by the filling of checkpoint segment files happens more "
 						 "frequently than this number of seconds. Zero turns off the warning."),
+			GUC_LOGGING_SETTINGS | GUC_WAL_SETTINGS,
 			GUC_UNIT_S
 		},
 		&CheckPointWarning,
@@ -2794,6 +2966,7 @@ static struct config_int ConfigureNamesInt[] =
 		{"checkpoint_flush_after", PGC_SIGHUP, WAL_CHECKPOINTS,
 			gettext_noop("Number of pages after which previously performed writes are flushed to disk."),
 			NULL,
+			GUC_WAL_SETTINGS,
 			GUC_UNIT_BLOCKS
 		},
 		&checkpoint_flush_after,
@@ -2805,6 +2978,7 @@ static struct config_int ConfigureNamesInt[] =
 		{"wal_buffers", PGC_POSTMASTER, WAL_SETTINGS,
 			gettext_noop("Sets the number of disk-page buffers in shared memory for WAL."),
 			NULL,
+			GUC_RESOURCE_USAGE | GUC_WAL_SETTINGS,
 			GUC_UNIT_XBLOCKS
 		},
 		&XLOGbuffers,
@@ -2816,6 +2990,7 @@ static struct config_int ConfigureNamesInt[] =
 		{"wal_writer_delay", PGC_SIGHUP, WAL_SETTINGS,
 			gettext_noop("Time between WAL flushes performed in the WAL writer."),
 			NULL,
+			GUC_WAL_SETTINGS,
 			GUC_UNIT_MS
 		},
 		&WalWriterDelay,
@@ -2827,6 +3002,7 @@ static struct config_int ConfigureNamesInt[] =
 		{"wal_writer_flush_after", PGC_SIGHUP, WAL_SETTINGS,
 			gettext_noop("Amount of WAL written out by WAL writer that triggers a flush."),
 			NULL,
+			GUC_WAL_SETTINGS,
 			GUC_UNIT_XBLOCKS
 		},
 		&WalWriterFlushAfter,
@@ -2838,6 +3014,7 @@ static struct config_int ConfigureNamesInt[] =
 		{"wal_skip_threshold", PGC_USERSET, WAL_SETTINGS,
 			gettext_noop("Minimum size of new file to fsync instead of writing WAL."),
 			NULL,
+			GUC_INTERNAL_SETTINGS,
 			GUC_UNIT_KB
 		},
 		&wal_skip_threshold,
@@ -2848,7 +3025,8 @@ static struct config_int ConfigureNamesInt[] =
 	{
 		{"max_wal_senders", PGC_POSTMASTER, REPLICATION_SENDING,
 			gettext_noop("Sets the maximum number of simultaneously running WAL sender processes."),
-			NULL
+			NULL,
+			GUC_RESOURCE_USAGE | GUC_WAL_SETTINGS
 		},
 		&max_wal_senders,
 		10, 0, MAX_BACKENDS,
@@ -2859,7 +3037,8 @@ static struct config_int ConfigureNamesInt[] =
 		/* see max_wal_senders */
 		{"max_replication_slots", PGC_POSTMASTER, REPLICATION_SENDING,
 			gettext_noop("Sets the maximum number of simultaneously defined replication slots."),
-			NULL
+			NULL,
+			GUC_RESOURCE_USAGE | GUC_WAL_SETTINGS
 		},
 		&max_replication_slots,
 		10, 0, MAX_BACKENDS /* XXX? */ ,
@@ -2872,6 +3051,7 @@ static struct config_int ConfigureNamesInt[] =
 			gettext_noop("Replication slots will be marked as failed, and segments released "
 						 "for deletion or recycling, if this much space is occupied by WAL "
 						 "on disk."),
+			GUC_RESOURCE_USAGE | GUC_WAL_SETTINGS,
 			GUC_UNIT_MB
 		},
 		&max_slot_wal_keep_size_mb,
@@ -2883,6 +3063,7 @@ static struct config_int ConfigureNamesInt[] =
 		{"wal_sender_timeout", PGC_USERSET, REPLICATION_SENDING,
 			gettext_noop("Sets the maximum time to wait for WAL replication."),
 			NULL,
+			GUC_INTERNAL_SETTINGS,
 			GUC_UNIT_MS
 		},
 		&wal_sender_timeout,
@@ -2894,7 +3075,8 @@ static struct config_int ConfigureNamesInt[] =
 		{"commit_delay", PGC_SUSET, WAL_SETTINGS,
 			gettext_noop("Sets the delay in microseconds between transaction commit and "
 						 "flushing WAL to disk."),
-			NULL
+			NULL,
+			GUC_WAL_SETTINGS
 			/* we have no microseconds designation, so can't supply units here */
 		},
 		&CommitDelay,
@@ -2906,7 +3088,8 @@ static struct config_int ConfigureNamesInt[] =
 		{"commit_siblings", PGC_USERSET, WAL_SETTINGS,
 			gettext_noop("Sets the minimum concurrent open transactions before performing "
 						 "commit_delay."),
-			NULL
+			NULL,
+			GUC_INTERNAL_SETTINGS
 		},
 		&CommitSiblings,
 		5, 0, 1000,
@@ -2919,7 +3102,8 @@ static struct config_int ConfigureNamesInt[] =
 			gettext_noop("This affects real, double precision, and geometric data types. "
 						 "A zero or negative parameter value is added to the standard "
 						 "number of digits (FLT_DIG or DBL_DIG as appropriate). "
-						 "Any value greater than zero selects precise output mode.")
+						 "Any value greater than zero selects precise output mode."),
+			GUC_INTERNAL_SETTINGS
 		},
 		&extra_float_digits,
 		1, -15, 3,
@@ -2932,6 +3116,7 @@ static struct config_int ConfigureNamesInt[] =
 						 "a sample of statements will be logged."
 						 " Sampling is determined by log_statement_sample_rate."),
 			gettext_noop("Zero logs a sample of all queries. -1 turns this feature off."),
+			GUC_LOGGING_SETTINGS,
 			GUC_UNIT_MS
 		},
 		&log_min_duration_sample,
@@ -2944,6 +3129,7 @@ static struct config_int ConfigureNamesInt[] =
 			gettext_noop("Sets the minimum execution time above which "
 						 "all statements will be logged."),
 			gettext_noop("Zero prints all queries. -1 turns this feature off."),
+			GUC_LOGGING_SETTINGS,
 			GUC_UNIT_MS
 		},
 		&log_min_duration_statement,
@@ -2956,6 +3142,7 @@ static struct config_int ConfigureNamesInt[] =
 			gettext_noop("Sets the minimum execution time above which "
 						 "autovacuum actions will be logged."),
 			gettext_noop("Zero prints all actions. -1 turns autovacuum logging off."),
+			GUC_LOGGING_SETTINGS,
 			GUC_UNIT_MS
 		},
 		&Log_autovacuum_min_duration,
@@ -2967,6 +3154,7 @@ static struct config_int ConfigureNamesInt[] =
 		{"log_parameter_max_length", PGC_SUSET, LOGGING_WHAT,
 			gettext_noop("When logging statements, limit logged parameter values to first N bytes."),
 			gettext_noop("-1 to print values in full."),
+			GUC_LOGGING_SETTINGS,
 			GUC_UNIT_BYTE
 		},
 		&log_parameter_max_length,
@@ -2978,6 +3166,7 @@ static struct config_int ConfigureNamesInt[] =
 		{"log_parameter_max_length_on_error", PGC_USERSET, LOGGING_WHAT,
 			gettext_noop("When reporting an error, limit logged parameter values to first N bytes."),
 			gettext_noop("-1 to print values in full."),
+			GUC_INTERNAL_SETTINGS,
 			GUC_UNIT_BYTE
 		},
 		&log_parameter_max_length_on_error,
@@ -2989,6 +3178,7 @@ static struct config_int ConfigureNamesInt[] =
 		{"bgwriter_delay", PGC_SIGHUP, RESOURCES_BGWRITER,
 			gettext_noop("Background writer sleep time between rounds."),
 			NULL,
+			GUC_RESOURCE_USAGE,
 			GUC_UNIT_MS
 		},
 		&BgWriterDelay,
@@ -2999,7 +3189,8 @@ static struct config_int ConfigureNamesInt[] =
 	{
 		{"bgwriter_lru_maxpages", PGC_SIGHUP, RESOURCES_BGWRITER,
 			gettext_noop("Background writer maximum number of LRU pages to flush per round."),
-			NULL
+			NULL,
+			GUC_RESOURCE_USAGE
 		},
 		&bgwriter_lru_maxpages,
 		100, 0, INT_MAX / 2,	/* Same upper limit as shared_buffers */
@@ -3010,6 +3201,7 @@ static struct config_int ConfigureNamesInt[] =
 		{"bgwriter_flush_after", PGC_SIGHUP, RESOURCES_BGWRITER,
 			gettext_noop("Number of pages after which previously performed writes are flushed to disk."),
 			NULL,
+			GUC_RESOURCE_USAGE,
 			GUC_UNIT_BLOCKS
 		},
 		&bgwriter_flush_after,
@@ -3023,6 +3215,7 @@ static struct config_int ConfigureNamesInt[] =
 			RESOURCES_ASYNCHRONOUS,
 			gettext_noop("Number of simultaneous requests that can be handled efficiently by the disk subsystem."),
 			NULL,
+			GUC_RESOURCE_USAGE,
 			GUC_EXPLAIN
 		},
 		&effective_io_concurrency,
@@ -3041,6 +3234,7 @@ static struct config_int ConfigureNamesInt[] =
 			RESOURCES_ASYNCHRONOUS,
 			gettext_noop("A variant of effective_io_concurrency that is used for maintenance work."),
 			NULL,
+			GUC_RESOURCE_USAGE,
 			GUC_EXPLAIN
 		},
 		&maintenance_io_concurrency,
@@ -3057,6 +3251,7 @@ static struct config_int ConfigureNamesInt[] =
 		{"backend_flush_after", PGC_USERSET, RESOURCES_ASYNCHRONOUS,
 			gettext_noop("Number of pages after which previously performed writes are flushed to disk."),
 			NULL,
+			GUC_INTERNAL_SETTINGS,
 			GUC_UNIT_BLOCKS
 		},
 		&backend_flush_after,
@@ -3070,6 +3265,7 @@ static struct config_int ConfigureNamesInt[] =
 			RESOURCES_ASYNCHRONOUS,
 			gettext_noop("Maximum number of concurrent worker processes."),
 			NULL,
+			GUC_RESOURCE_USAGE,
 		},
 		&max_worker_processes,
 		8, 0, MAX_BACKENDS,
@@ -3082,6 +3278,7 @@ static struct config_int ConfigureNamesInt[] =
 			REPLICATION_SUBSCRIBERS,
 			gettext_noop("Maximum number of logical replication worker processes."),
 			NULL,
+			GUC_RESOURCE_USAGE,
 		},
 		&max_logical_replication_workers,
 		4, 0, MAX_BACKENDS,
@@ -3094,6 +3291,7 @@ static struct config_int ConfigureNamesInt[] =
 			REPLICATION_SUBSCRIBERS,
 			gettext_noop("Maximum number of table synchronization workers per subscription."),
 			NULL,
+			GUC_RESOURCE_USAGE,
 		},
 		&max_sync_workers_per_subscription,
 		2, 0, MAX_BACKENDS,
@@ -3104,6 +3302,7 @@ static struct config_int ConfigureNamesInt[] =
 		{"log_rotation_age", PGC_SIGHUP, LOGGING_WHERE,
 			gettext_noop("Automatic log file rotation will occur after N minutes."),
 			NULL,
+			GUC_FILESYSTEM_SECURITY | GUC_LOGGING_SETTINGS | GUC_RESOURCE_USAGE | GUC_SECURITY_SETTINGS,
 			GUC_UNIT_MIN
 		},
 		&Log_RotationAge,
@@ -3115,6 +3314,7 @@ static struct config_int ConfigureNamesInt[] =
 		{"log_rotation_size", PGC_SIGHUP, LOGGING_WHERE,
 			gettext_noop("Automatic log file rotation will occur after N kilobytes."),
 			NULL,
+			GUC_FILESYSTEM_SECURITY | GUC_LOGGING_SETTINGS | GUC_RESOURCE_USAGE | GUC_SECURITY_SETTINGS,
 			GUC_UNIT_KB
 		},
 		&Log_RotationSize,
@@ -3126,6 +3326,7 @@ static struct config_int ConfigureNamesInt[] =
 		{"max_function_args", PGC_INTERNAL, PRESET_OPTIONS,
 			gettext_noop("Shows the maximum number of function arguments."),
 			NULL,
+			GUC_INTERNAL_SETTINGS,
 			GUC_NOT_IN_SAMPLE | GUC_DISALLOW_IN_FILE
 		},
 		&max_function_args,
@@ -3137,6 +3338,7 @@ static struct config_int ConfigureNamesInt[] =
 		{"max_index_keys", PGC_INTERNAL, PRESET_OPTIONS,
 			gettext_noop("Shows the maximum number of index keys."),
 			NULL,
+			GUC_INTERNAL_SETTINGS,
 			GUC_NOT_IN_SAMPLE | GUC_DISALLOW_IN_FILE
 		},
 		&max_index_keys,
@@ -3148,6 +3350,7 @@ static struct config_int ConfigureNamesInt[] =
 		{"max_identifier_length", PGC_INTERNAL, PRESET_OPTIONS,
 			gettext_noop("Shows the maximum identifier length."),
 			NULL,
+			GUC_INTERNAL_SETTINGS,
 			GUC_NOT_IN_SAMPLE | GUC_DISALLOW_IN_FILE
 		},
 		&max_identifier_length,
@@ -3159,6 +3362,7 @@ static struct config_int ConfigureNamesInt[] =
 		{"block_size", PGC_INTERNAL, PRESET_OPTIONS,
 			gettext_noop("Shows the size of a disk block."),
 			NULL,
+			GUC_INTERNAL_SETTINGS,
 			GUC_NOT_IN_SAMPLE | GUC_DISALLOW_IN_FILE
 		},
 		&block_size,
@@ -3170,6 +3374,7 @@ static struct config_int ConfigureNamesInt[] =
 		{"segment_size", PGC_INTERNAL, PRESET_OPTIONS,
 			gettext_noop("Shows the number of pages per disk file."),
 			NULL,
+			GUC_INTERNAL_SETTINGS,
 			GUC_UNIT_BLOCKS | GUC_NOT_IN_SAMPLE | GUC_DISALLOW_IN_FILE
 		},
 		&segment_size,
@@ -3181,6 +3386,7 @@ static struct config_int ConfigureNamesInt[] =
 		{"wal_block_size", PGC_INTERNAL, PRESET_OPTIONS,
 			gettext_noop("Shows the block size in the write ahead log."),
 			NULL,
+			GUC_INTERNAL_SETTINGS,
 			GUC_NOT_IN_SAMPLE | GUC_DISALLOW_IN_FILE
 		},
 		&wal_block_size,
@@ -3193,6 +3399,7 @@ static struct config_int ConfigureNamesInt[] =
 			gettext_noop("Sets the time to wait before retrying to retrieve WAL "
 						 "after a failed attempt."),
 			NULL,
+			GUC_WAL_SETTINGS,
 			GUC_UNIT_MS
 		},
 		&wal_retrieve_retry_interval,
@@ -3204,6 +3411,7 @@ static struct config_int ConfigureNamesInt[] =
 		{"wal_segment_size", PGC_INTERNAL, PRESET_OPTIONS,
 			gettext_noop("Shows the size of write ahead log segments."),
 			NULL,
+			GUC_INTERNAL_SETTINGS,
 			GUC_UNIT_BYTE | GUC_NOT_IN_SAMPLE | GUC_DISALLOW_IN_FILE
 		},
 		&wal_segment_size,
@@ -3217,6 +3425,7 @@ static struct config_int ConfigureNamesInt[] =
 		{"autovacuum_naptime", PGC_SIGHUP, AUTOVACUUM,
 			gettext_noop("Time to sleep between autovacuum runs."),
 			NULL,
+			GUC_MAINTENANCE_SETTINGS,
 			GUC_UNIT_S
 		},
 		&autovacuum_naptime,
@@ -3226,7 +3435,8 @@ static struct config_int ConfigureNamesInt[] =
 	{
 		{"autovacuum_vacuum_threshold", PGC_SIGHUP, AUTOVACUUM,
 			gettext_noop("Minimum number of tuple updates or deletes prior to vacuum."),
-			NULL
+			NULL,
+			GUC_MAINTENANCE_SETTINGS
 		},
 		&autovacuum_vac_thresh,
 		50, 0, INT_MAX,
@@ -3235,7 +3445,8 @@ static struct config_int ConfigureNamesInt[] =
 	{
 		{"autovacuum_vacuum_insert_threshold", PGC_SIGHUP, AUTOVACUUM,
 			gettext_noop("Minimum number of tuple inserts prior to vacuum, or -1 to disable insert vacuums."),
-			NULL
+			NULL,
+			GUC_MAINTENANCE_SETTINGS
 		},
 		&autovacuum_vac_ins_thresh,
 		1000, -1, INT_MAX,
@@ -3244,7 +3455,8 @@ static struct config_int ConfigureNamesInt[] =
 	{
 		{"autovacuum_analyze_threshold", PGC_SIGHUP, AUTOVACUUM,
 			gettext_noop("Minimum number of tuple inserts, updates, or deletes prior to analyze."),
-			NULL
+			NULL,
+			GUC_MAINTENANCE_SETTINGS
 		},
 		&autovacuum_anl_thresh,
 		50, 0, INT_MAX,
@@ -3254,7 +3466,8 @@ static struct config_int ConfigureNamesInt[] =
 		/* see varsup.c for why this is PGC_POSTMASTER not PGC_SIGHUP */
 		{"autovacuum_freeze_max_age", PGC_POSTMASTER, AUTOVACUUM,
 			gettext_noop("Age at which to autovacuum a table to prevent transaction ID wraparound."),
-			NULL
+			NULL,
+			GUC_MAINTENANCE_SETTINGS
 		},
 		&autovacuum_freeze_max_age,
 		/*
@@ -3268,7 +3481,8 @@ static struct config_int ConfigureNamesInt[] =
 		/* see multixact.c for why this is PGC_POSTMASTER not PGC_SIGHUP */
 		{"autovacuum_multixact_freeze_max_age", PGC_POSTMASTER, AUTOVACUUM,
 			gettext_noop("Multixact age at which to autovacuum a table to prevent multixact wraparound."),
-			NULL
+			NULL,
+			GUC_MAINTENANCE_SETTINGS
 		},
 		&autovacuum_multixact_freeze_max_age,
 		400000000, 10000, 2000000000,
@@ -3278,7 +3492,8 @@ static struct config_int ConfigureNamesInt[] =
 		/* see max_connections */
 		{"autovacuum_max_workers", PGC_POSTMASTER, AUTOVACUUM,
 			gettext_noop("Sets the maximum number of simultaneously running autovacuum worker processes."),
-			NULL
+			NULL,
+			GUC_MAINTENANCE_SETTINGS | GUC_RESOURCE_USAGE
 		},
 		&autovacuum_max_workers,
 		3, 1, MAX_BACKENDS,
@@ -3288,7 +3503,8 @@ static struct config_int ConfigureNamesInt[] =
 	{
 		{"max_parallel_maintenance_workers", PGC_USERSET, RESOURCES_ASYNCHRONOUS,
 			gettext_noop("Sets the maximum number of parallel processes per maintenance operation."),
-			NULL
+			NULL,
+			GUC_INTERNAL_SETTINGS
 		},
 		&max_parallel_maintenance_workers,
 		2, 0, 1024,
@@ -3299,6 +3515,7 @@ static struct config_int ConfigureNamesInt[] =
 		{"max_parallel_workers_per_gather", PGC_USERSET, RESOURCES_ASYNCHRONOUS,
 			gettext_noop("Sets the maximum number of parallel processes per executor node."),
 			NULL,
+			GUC_INTERNAL_SETTINGS,
 			GUC_EXPLAIN
 		},
 		&max_parallel_workers_per_gather,
@@ -3310,6 +3527,7 @@ static struct config_int ConfigureNamesInt[] =
 		{"max_parallel_workers", PGC_USERSET, RESOURCES_ASYNCHRONOUS,
 			gettext_noop("Sets the maximum number of parallel workers that can be active at one time."),
 			NULL,
+			GUC_INTERNAL_SETTINGS,
 			GUC_EXPLAIN
 		},
 		&max_parallel_workers,
@@ -3321,6 +3539,7 @@ static struct config_int ConfigureNamesInt[] =
 		{"autovacuum_work_mem", PGC_SIGHUP, RESOURCES_MEM,
 			gettext_noop("Sets the maximum memory to be used by each autovacuum worker process."),
 			NULL,
+			GUC_MAINTENANCE_SETTINGS | GUC_RESOURCE_USAGE,
 			GUC_UNIT_KB
 		},
 		&autovacuum_work_mem,
@@ -3332,6 +3551,7 @@ static struct config_int ConfigureNamesInt[] =
 		{"old_snapshot_threshold", PGC_POSTMASTER, RESOURCES_ASYNCHRONOUS,
 			gettext_noop("Time before a snapshot is too old to read pages changed after the snapshot was taken."),
 			gettext_noop("A value of -1 disables this feature."),
+			GUC_RESOURCE_USAGE,
 			GUC_UNIT_MIN
 		},
 		&old_snapshot_threshold,
@@ -3343,6 +3563,7 @@ static struct config_int ConfigureNamesInt[] =
 		{"tcp_keepalives_idle", PGC_USERSET, CONN_AUTH_SETTINGS,
 			gettext_noop("Time between issuing TCP keepalives."),
 			gettext_noop("A value of 0 uses the system default."),
+			GUC_INTERNAL_SETTINGS,
 			GUC_UNIT_S
 		},
 		&tcp_keepalives_idle,
@@ -3354,6 +3575,7 @@ static struct config_int ConfigureNamesInt[] =
 		{"tcp_keepalives_interval", PGC_USERSET, CONN_AUTH_SETTINGS,
 			gettext_noop("Time between TCP keepalive retransmits."),
 			gettext_noop("A value of 0 uses the system default."),
+			GUC_INTERNAL_SETTINGS,
 			GUC_UNIT_S
 		},
 		&tcp_keepalives_interval,
@@ -3365,6 +3587,7 @@ static struct config_int ConfigureNamesInt[] =
 		{"ssl_renegotiation_limit", PGC_USERSET, CONN_AUTH_SSL,
 			gettext_noop("SSL renegotiation is no longer supported; this can only be 0."),
 			NULL,
+			GUC_INTERNAL_SETTINGS,
 			GUC_NO_SHOW_ALL | GUC_NOT_IN_SAMPLE | GUC_DISALLOW_IN_FILE,
 		},
 		&ssl_renegotiation_limit,
@@ -3378,6 +3601,7 @@ static struct config_int ConfigureNamesInt[] =
 			gettext_noop("This controls the number of consecutive keepalive retransmits that can be "
 						 "lost before a connection is considered dead. A value of 0 uses the "
 						 "system default."),
+			GUC_INTERNAL_SETTINGS,
 		},
 		&tcp_keepalives_count,
 		0, 0, INT_MAX,
@@ -3388,6 +3612,7 @@ static struct config_int ConfigureNamesInt[] =
 		{"gin_fuzzy_search_limit", PGC_USERSET, CLIENT_CONN_OTHER,
 			gettext_noop("Sets the maximum allowed result for exact search by GIN."),
 			NULL,
+			GUC_INTERNAL_SETTINGS,
 			0
 		},
 		&GinFuzzySearchLimit,
@@ -3400,6 +3625,7 @@ static struct config_int ConfigureNamesInt[] =
 			gettext_noop("Sets the planner's assumption about the total size of the data caches."),
 			gettext_noop("That is, the total size of the caches (kernel cache and shared buffers) used for PostgreSQL data files. "
 						 "This is measured in disk pages, which are normally 8 kB each."),
+			GUC_INTERNAL_SETTINGS,
 			GUC_UNIT_BLOCKS | GUC_EXPLAIN,
 		},
 		&effective_cache_size,
@@ -3411,6 +3637,7 @@ static struct config_int ConfigureNamesInt[] =
 		{"min_parallel_table_scan_size", PGC_USERSET, QUERY_TUNING_COST,
 			gettext_noop("Sets the minimum amount of table data for a parallel scan."),
 			gettext_noop("If the planner estimates that it will read a number of table pages too small to reach this limit, a parallel scan will not be considered."),
+			GUC_INTERNAL_SETTINGS,
 			GUC_UNIT_BLOCKS | GUC_EXPLAIN,
 		},
 		&min_parallel_table_scan_size,
@@ -3422,6 +3649,7 @@ static struct config_int ConfigureNamesInt[] =
 		{"min_parallel_index_scan_size", PGC_USERSET, QUERY_TUNING_COST,
 			gettext_noop("Sets the minimum amount of index data for a parallel scan."),
 			gettext_noop("If the planner estimates that it will read a number of index pages too small to reach this limit, a parallel scan will not be considered."),
+			GUC_INTERNAL_SETTINGS,
 			GUC_UNIT_BLOCKS | GUC_EXPLAIN,
 		},
 		&min_parallel_index_scan_size,
@@ -3434,6 +3662,7 @@ static struct config_int ConfigureNamesInt[] =
 		{"server_version_num", PGC_INTERNAL, PRESET_OPTIONS,
 			gettext_noop("Shows the server version as an integer."),
 			NULL,
+			GUC_INTERNAL_SETTINGS,
 			GUC_NOT_IN_SAMPLE | GUC_DISALLOW_IN_FILE
 		},
 		&server_version_num,
@@ -3445,6 +3674,7 @@ static struct config_int ConfigureNamesInt[] =
 		{"log_temp_files", PGC_SUSET, LOGGING_WHAT,
 			gettext_noop("Log the use of temporary files larger than this number of kilobytes."),
 			gettext_noop("Zero logs all files. The default is -1 (turning this feature off)."),
+			GUC_LOGGING_SETTINGS,
 			GUC_UNIT_KB
 		},
 		&log_temp_files,
@@ -3456,6 +3686,7 @@ static struct config_int ConfigureNamesInt[] =
 		{"track_activity_query_size", PGC_POSTMASTER, STATS_COLLECTOR,
 			gettext_noop("Sets the size reserved for pg_stat_activity.query, in bytes."),
 			NULL,
+			GUC_RESOURCE_USAGE,
 			GUC_UNIT_BYTE
 		},
 		&pgstat_track_activity_query_size,
@@ -3467,6 +3698,7 @@ static struct config_int ConfigureNamesInt[] =
 		{"gin_pending_list_limit", PGC_USERSET, CLIENT_CONN_STATEMENT,
 			gettext_noop("Sets the maximum size of the pending list for GIN index."),
 			NULL,
+			GUC_INTERNAL_SETTINGS,
 			GUC_UNIT_KB
 		},
 		&gin_pending_list_limit,
@@ -3478,6 +3710,7 @@ static struct config_int ConfigureNamesInt[] =
 		{"tcp_user_timeout", PGC_USERSET, CONN_AUTH_SETTINGS,
 			gettext_noop("TCP user timeout."),
 			gettext_noop("A value of 0 uses the system default."),
+			GUC_INTERNAL_SETTINGS,
 			GUC_UNIT_MS
 		},
 		&tcp_user_timeout,
@@ -3489,6 +3722,7 @@ static struct config_int ConfigureNamesInt[] =
 		{"huge_page_size", PGC_POSTMASTER, RESOURCES_MEM,
 			gettext_noop("The size of huge page that should be requested."),
 			NULL,
+			GUC_RESOURCE_USAGE,
 			GUC_UNIT_KB
 		},
 		&huge_page_size,
@@ -3500,6 +3734,8 @@ static struct config_int ConfigureNamesInt[] =
 		{"debug_invalidate_system_caches_always", PGC_SUSET, DEVELOPER_OPTIONS,
 			gettext_noop("Aggressively invalidate system caches for debugging purposes."),
 			NULL,
+			/* Treat this option as a ready-made denial of service attack */
+			GUC_INTERNAL_SETTINGS | GUC_RESOURCE_USAGE | GUC_SECURITY_SETTINGS,
 			GUC_NOT_IN_SAMPLE
 		},
 		&debug_invalidate_system_caches_always,
@@ -3523,6 +3759,7 @@ static struct config_int ConfigureNamesInt[] =
 		{"client_connection_check_interval", PGC_USERSET, CONN_AUTH_SETTINGS,
 			gettext_noop("Sets the time interval between checks for disconnection while running queries."),
 			NULL,
+			GUC_INTERNAL_SETTINGS,
 			GUC_UNIT_MS
 		},
 		&client_connection_check_interval,
@@ -3544,6 +3781,7 @@ static struct config_real ConfigureNamesReal[] =
 			gettext_noop("Sets the planner's estimate of the cost of a "
 						 "sequentially fetched disk page."),
 			NULL,
+			GUC_INTERNAL_SETTINGS,
 			GUC_EXPLAIN
 		},
 		&seq_page_cost,
@@ -3555,6 +3793,7 @@ static struct config_real ConfigureNamesReal[] =
 			gettext_noop("Sets the planner's estimate of the cost of a "
 						 "nonsequentially fetched disk page."),
 			NULL,
+			GUC_INTERNAL_SETTINGS,
 			GUC_EXPLAIN
 		},
 		&random_page_cost,
@@ -3566,6 +3805,7 @@ static struct config_real ConfigureNamesReal[] =
 			gettext_noop("Sets the planner's estimate of the cost of "
 						 "processing each tuple (row)."),
 			NULL,
+			GUC_INTERNAL_SETTINGS,
 			GUC_EXPLAIN
 		},
 		&cpu_tuple_cost,
@@ -3577,6 +3817,7 @@ static struct config_real ConfigureNamesReal[] =
 			gettext_noop("Sets the planner's estimate of the cost of "
 						 "processing each index entry during an index scan."),
 			NULL,
+			GUC_INTERNAL_SETTINGS,
 			GUC_EXPLAIN
 		},
 		&cpu_index_tuple_cost,
@@ -3588,6 +3829,7 @@ static struct config_real ConfigureNamesReal[] =
 			gettext_noop("Sets the planner's estimate of the cost of "
 						 "processing each operator or function call."),
 			NULL,
+			GUC_INTERNAL_SETTINGS,
 			GUC_EXPLAIN
 		},
 		&cpu_operator_cost,
@@ -3599,6 +3841,7 @@ static struct config_real ConfigureNamesReal[] =
 			gettext_noop("Sets the planner's estimate of the cost of "
 						 "passing each tuple (row) from worker to leader backend."),
 			NULL,
+			GUC_INTERNAL_SETTINGS,
 			GUC_EXPLAIN
 		},
 		&parallel_tuple_cost,
@@ -3610,6 +3853,7 @@ static struct config_real ConfigureNamesReal[] =
 			gettext_noop("Sets the planner's estimate of the cost of "
 						 "starting up worker processes for parallel query."),
 			NULL,
+			GUC_INTERNAL_SETTINGS,
 			GUC_EXPLAIN
 		},
 		&parallel_setup_cost,
@@ -3621,6 +3865,7 @@ static struct config_real ConfigureNamesReal[] =
 		{"jit_above_cost", PGC_USERSET, QUERY_TUNING_COST,
 			gettext_noop("Perform JIT compilation if query is more expensive."),
 			gettext_noop("-1 disables JIT compilation."),
+			GUC_INTERNAL_SETTINGS,
 			GUC_EXPLAIN
 		},
 		&jit_above_cost,
@@ -3632,6 +3877,7 @@ static struct config_real ConfigureNamesReal[] =
 		{"jit_optimize_above_cost", PGC_USERSET, QUERY_TUNING_COST,
 			gettext_noop("Optimize JIT-compiled functions if query is more expensive."),
 			gettext_noop("-1 disables optimization."),
+			GUC_INTERNAL_SETTINGS,
 			GUC_EXPLAIN
 		},
 		&jit_optimize_above_cost,
@@ -3643,6 +3889,7 @@ static struct config_real ConfigureNamesReal[] =
 		{"jit_inline_above_cost", PGC_USERSET, QUERY_TUNING_COST,
 			gettext_noop("Perform JIT inlining if query is more expensive."),
 			gettext_noop("-1 disables inlining."),
+			GUC_INTERNAL_SETTINGS,
 			GUC_EXPLAIN
 		},
 		&jit_inline_above_cost,
@@ -3655,6 +3902,7 @@ static struct config_real ConfigureNamesReal[] =
 			gettext_noop("Sets the planner's estimate of the fraction of "
 						 "a cursor's rows that will be retrieved."),
 			NULL,
+			GUC_INTERNAL_SETTINGS,
 			GUC_EXPLAIN
 		},
 		&cursor_tuple_fraction,
@@ -3666,6 +3914,7 @@ static struct config_real ConfigureNamesReal[] =
 		{"geqo_selection_bias", PGC_USERSET, QUERY_TUNING_GEQO,
 			gettext_noop("GEQO: selective pressure within the population."),
 			NULL,
+			GUC_INTERNAL_SETTINGS,
 			GUC_EXPLAIN
 		},
 		&Geqo_selection_bias,
@@ -3677,6 +3926,7 @@ static struct config_real ConfigureNamesReal[] =
 		{"geqo_seed", PGC_USERSET, QUERY_TUNING_GEQO,
 			gettext_noop("GEQO: seed for random path selection."),
 			NULL,
+			GUC_INTERNAL_SETTINGS,
 			GUC_EXPLAIN
 		},
 		&Geqo_seed,
@@ -3688,6 +3938,7 @@ static struct config_real ConfigureNamesReal[] =
 		{"hash_mem_multiplier", PGC_USERSET, RESOURCES_MEM,
 			gettext_noop("Multiple of work_mem to use for hash tables."),
 			NULL,
+			GUC_INTERNAL_SETTINGS,
 			GUC_EXPLAIN
 		},
 		&hash_mem_multiplier,
@@ -3698,7 +3949,8 @@ static struct config_real ConfigureNamesReal[] =
 	{
 		{"bgwriter_lru_multiplier", PGC_SIGHUP, RESOURCES_BGWRITER,
 			gettext_noop("Multiple of the average buffer usage to free per round."),
-			NULL
+			NULL,
+			GUC_RESOURCE_USAGE
 		},
 		&bgwriter_lru_multiplier,
 		2.0, 0.0, 10.0,
@@ -3709,6 +3961,7 @@ static struct config_real ConfigureNamesReal[] =
 		{"seed", PGC_USERSET, UNGROUPED,
 			gettext_noop("Sets the seed for random-number generation."),
 			NULL,
+			GUC_INTERNAL_SETTINGS,
 			GUC_NO_SHOW_ALL | GUC_NO_RESET_ALL | GUC_NOT_IN_SAMPLE | GUC_DISALLOW_IN_FILE
 		},
 		&phony_random_seed,
@@ -3720,6 +3973,7 @@ static struct config_real ConfigureNamesReal[] =
 		{"vacuum_cost_delay", PGC_USERSET, RESOURCES_VACUUM_DELAY,
 			gettext_noop("Vacuum cost delay in milliseconds."),
 			NULL,
+			GUC_INTERNAL_SETTINGS,
 			GUC_UNIT_MS
 		},
 		&VacuumCostDelay,
@@ -3731,6 +3985,7 @@ static struct config_real ConfigureNamesReal[] =
 		{"autovacuum_vacuum_cost_delay", PGC_SIGHUP, AUTOVACUUM,
 			gettext_noop("Vacuum cost delay in milliseconds, for autovacuum."),
 			NULL,
+			GUC_MAINTENANCE_SETTINGS,
 			GUC_UNIT_MS
 		},
 		&autovacuum_vac_cost_delay,
@@ -3741,7 +3996,8 @@ static struct config_real ConfigureNamesReal[] =
 	{
 		{"autovacuum_vacuum_scale_factor", PGC_SIGHUP, AUTOVACUUM,
 			gettext_noop("Number of tuple updates or deletes prior to vacuum as a fraction of reltuples."),
-			NULL
+			NULL,
+			GUC_MAINTENANCE_SETTINGS
 		},
 		&autovacuum_vac_scale,
 		0.2, 0.0, 100.0,
@@ -3751,7 +4007,8 @@ static struct config_real ConfigureNamesReal[] =
 	{
 		{"autovacuum_vacuum_insert_scale_factor", PGC_SIGHUP, AUTOVACUUM,
 			gettext_noop("Number of tuple inserts prior to vacuum as a fraction of reltuples."),
-			NULL
+			NULL,
+			GUC_MAINTENANCE_SETTINGS
 		},
 		&autovacuum_vac_ins_scale,
 		0.2, 0.0, 100.0,
@@ -3761,7 +4018,8 @@ static struct config_real ConfigureNamesReal[] =
 	{
 		{"autovacuum_analyze_scale_factor", PGC_SIGHUP, AUTOVACUUM,
 			gettext_noop("Number of tuple inserts, updates, or deletes prior to analyze as a fraction of reltuples."),
-			NULL
+			NULL,
+			GUC_MAINTENANCE_SETTINGS
 		},
 		&autovacuum_anl_scale,
 		0.1, 0.0, 100.0,
@@ -3771,7 +4029,8 @@ static struct config_real ConfigureNamesReal[] =
 	{
 		{"checkpoint_completion_target", PGC_SIGHUP, WAL_CHECKPOINTS,
 			gettext_noop("Time spent flushing dirty buffers during checkpoint, as fraction of checkpoint interval."),
-			NULL
+			NULL,
+			GUC_WAL_SETTINGS
 		},
 		&CheckPointCompletionTarget,
 		0.9, 0.0, 1.0,
@@ -3781,7 +4040,8 @@ static struct config_real ConfigureNamesReal[] =
 	{
 		{"log_statement_sample_rate", PGC_SUSET, LOGGING_WHEN,
 			gettext_noop("Fraction of statements exceeding log_min_duration_sample to be logged."),
-			gettext_noop("Use a value between 0.0 (never log) and 1.0 (always log).")
+			gettext_noop("Use a value between 0.0 (never log) and 1.0 (always log)."),
+			GUC_LOGGING_SETTINGS
 		},
 		&log_statement_sample_rate,
 		1.0, 0.0, 1.0,
@@ -3792,7 +4052,8 @@ static struct config_real ConfigureNamesReal[] =
 		{"log_transaction_sample_rate", PGC_SUSET, LOGGING_WHEN,
 			gettext_noop("Sets the fraction of transactions from which to log all statements."),
 			gettext_noop("Use a value between 0.0 (never log) and 1.0 (log all "
-						 "statements for all transactions).")
+						 "statements for all transactions)."),
+			GUC_LOGGING_SETTINGS
 		},
 		&log_xact_sample_rate,
 		0.0, 0.0, 1.0,
@@ -3811,7 +4072,8 @@ static struct config_string ConfigureNamesString[] =
 	{
 		{"archive_command", PGC_SIGHUP, WAL_ARCHIVING,
 			gettext_noop("Sets the shell command that will be called to archive a WAL file."),
-			NULL
+			NULL,
+			GUC_EXEC_COMMAND
 		},
 		&XLogArchiveCommand,
 		"",
@@ -3821,7 +4083,8 @@ static struct config_string ConfigureNamesString[] =
 	{
 		{"restore_command", PGC_SIGHUP, WAL_ARCHIVE_RECOVERY,
 			gettext_noop("Sets the shell command that will be called to retrieve an archived WAL file."),
-			NULL
+			NULL,
+			GUC_EXEC_COMMAND
 		},
 		&recoveryRestoreCommand,
 		"",
@@ -3831,7 +4094,8 @@ static struct config_string ConfigureNamesString[] =
 	{
 		{"archive_cleanup_command", PGC_SIGHUP, WAL_ARCHIVE_RECOVERY,
 			gettext_noop("Sets the shell command that will be executed at every restart point."),
-			NULL
+			NULL,
+			GUC_EXEC_COMMAND
 		},
 		&archiveCleanupCommand,
 		"",
@@ -3841,7 +4105,8 @@ static struct config_string ConfigureNamesString[] =
 	{
 		{"recovery_end_command", PGC_SIGHUP, WAL_ARCHIVE_RECOVERY,
 			gettext_noop("Sets the shell command that will be executed once at the end of recovery."),
-			NULL
+			NULL,
+			GUC_EXEC_COMMAND
 		},
 		&recoveryEndCommand,
 		"",
@@ -3851,7 +4116,8 @@ static struct config_string ConfigureNamesString[] =
 	{
 		{"recovery_target_timeline", PGC_POSTMASTER, WAL_RECOVERY_TARGET,
 			gettext_noop("Specifies the timeline to recover into."),
-			NULL
+			NULL,
+			GUC_WAL_SETTINGS
 		},
 		&recovery_target_timeline_string,
 		"latest",
@@ -3861,7 +4127,8 @@ static struct config_string ConfigureNamesString[] =
 	{
 		{"recovery_target", PGC_POSTMASTER, WAL_RECOVERY_TARGET,
 			gettext_noop("Set to \"immediate\" to end recovery as soon as a consistent state is reached."),
-			NULL
+			NULL,
+			GUC_WAL_SETTINGS
 		},
 		&recovery_target_string,
 		"",
@@ -3870,7 +4137,8 @@ static struct config_string ConfigureNamesString[] =
 	{
 		{"recovery_target_xid", PGC_POSTMASTER, WAL_RECOVERY_TARGET,
 			gettext_noop("Sets the transaction ID up to which recovery will proceed."),
-			NULL
+			NULL,
+			GUC_WAL_SETTINGS
 		},
 		&recovery_target_xid_string,
 		"",
@@ -3879,7 +4147,8 @@ static struct config_string ConfigureNamesString[] =
 	{
 		{"recovery_target_time", PGC_POSTMASTER, WAL_RECOVERY_TARGET,
 			gettext_noop("Sets the time stamp up to which recovery will proceed."),
-			NULL
+			NULL,
+			GUC_WAL_SETTINGS
 		},
 		&recovery_target_time_string,
 		"",
@@ -3888,7 +4157,8 @@ static struct config_string ConfigureNamesString[] =
 	{
 		{"recovery_target_name", PGC_POSTMASTER, WAL_RECOVERY_TARGET,
 			gettext_noop("Sets the named restore point up to which recovery will proceed."),
-			NULL
+			NULL,
+			GUC_WAL_SETTINGS
 		},
 		&recovery_target_name_string,
 		"",
@@ -3897,7 +4167,8 @@ static struct config_string ConfigureNamesString[] =
 	{
 		{"recovery_target_lsn", PGC_POSTMASTER, WAL_RECOVERY_TARGET,
 			gettext_noop("Sets the LSN of the write-ahead log location up to which recovery will proceed."),
-			NULL
+			NULL,
+			GUC_WAL_SETTINGS
 		},
 		&recovery_target_lsn_string,
 		"",
@@ -3907,7 +4178,8 @@ static struct config_string ConfigureNamesString[] =
 	{
 		{"promote_trigger_file", PGC_SIGHUP, REPLICATION_STANDBY,
 			gettext_noop("Specifies a file name whose presence ends recovery in the standby."),
-			NULL
+			NULL,
+			GUC_WAL_SETTINGS
 		},
 		&PromoteTriggerFile,
 		"",
@@ -3918,6 +4190,7 @@ static struct config_string ConfigureNamesString[] =
 		{"primary_conninfo", PGC_SIGHUP, REPLICATION_STANDBY,
 			gettext_noop("Sets the connection string to be used to connect to the sending server."),
 			NULL,
+			GUC_WAL_SETTINGS,
 			GUC_SUPERUSER_ONLY
 		},
 		&PrimaryConnInfo,
@@ -3928,7 +4201,8 @@ static struct config_string ConfigureNamesString[] =
 	{
 		{"primary_slot_name", PGC_SIGHUP, REPLICATION_STANDBY,
 			gettext_noop("Sets the name of the replication slot to use on the sending server."),
-			NULL
+			NULL,
+			GUC_WAL_SETTINGS
 		},
 		&PrimarySlotName,
 		"",
@@ -3939,6 +4213,7 @@ static struct config_string ConfigureNamesString[] =
 		{"client_encoding", PGC_USERSET, CLIENT_CONN_LOCALE,
 			gettext_noop("Sets the client's character set encoding."),
 			NULL,
+			GUC_INTERNAL_SETTINGS,
 			GUC_IS_NAME | GUC_REPORT
 		},
 		&client_encoding_string,
@@ -3949,7 +4224,8 @@ static struct config_string ConfigureNamesString[] =
 	{
 		{"log_line_prefix", PGC_SIGHUP, LOGGING_WHAT,
 			gettext_noop("Controls information prefixed to each log line."),
-			gettext_noop("If blank, no prefix is used.")
+			gettext_noop("If blank, no prefix is used."),
+			GUC_LOGGING_SETTINGS
 		},
 		&Log_line_prefix,
 		"%m [%p] ",
@@ -3959,7 +4235,8 @@ static struct config_string ConfigureNamesString[] =
 	{
 		{"log_timezone", PGC_SIGHUP, LOGGING_WHAT,
 			gettext_noop("Sets the time zone to use in log messages."),
-			NULL
+			NULL,
+			GUC_LOGGING_SETTINGS
 		},
 		&log_timezone_string,
 		"GMT",
@@ -3971,6 +4248,7 @@ static struct config_string ConfigureNamesString[] =
 			gettext_noop("Sets the display format for date and time values."),
 			gettext_noop("Also controls interpretation of ambiguous "
 						 "date inputs."),
+			GUC_INTERNAL_SETTINGS,
 			GUC_LIST_INPUT | GUC_REPORT
 		},
 		&datestyle_string,
@@ -3982,6 +4260,7 @@ static struct config_string ConfigureNamesString[] =
 		{"default_table_access_method", PGC_USERSET, CLIENT_CONN_STATEMENT,
 			gettext_noop("Sets the default table access method for new tables."),
 			NULL,
+			GUC_INTERNAL_SETTINGS,
 			GUC_IS_NAME
 		},
 		&default_table_access_method,
@@ -3993,6 +4272,7 @@ static struct config_string ConfigureNamesString[] =
 		{"default_tablespace", PGC_USERSET, CLIENT_CONN_STATEMENT,
 			gettext_noop("Sets the default tablespace to create tables and indexes in."),
 			gettext_noop("An empty string selects the database's default tablespace."),
+			GUC_INTERNAL_SETTINGS,
 			GUC_IS_NAME
 		},
 		&default_tablespace,
@@ -4004,6 +4284,7 @@ static struct config_string ConfigureNamesString[] =
 		{"temp_tablespaces", PGC_USERSET, CLIENT_CONN_STATEMENT,
 			gettext_noop("Sets the tablespace(s) to use for temporary tables and sort files."),
 			NULL,
+			GUC_INTERNAL_SETTINGS,
 			GUC_LIST_INPUT | GUC_LIST_QUOTE
 		},
 		&temp_tablespaces,
@@ -4018,6 +4299,7 @@ static struct config_string ConfigureNamesString[] =
 						 "the specified name does not have a directory component (i.e., the "
 						 "name does not contain a slash), the system will search this path for "
 						 "the specified file."),
+			GUC_FILESYSTEM_SECURITY,
 			GUC_SUPERUSER_ONLY
 		},
 		&Dynamic_library_path,
@@ -4029,6 +4311,7 @@ static struct config_string ConfigureNamesString[] =
 		{"krb_server_keyfile", PGC_SIGHUP, CONN_AUTH_AUTH,
 			gettext_noop("Sets the location of the Kerberos server key file."),
 			NULL,
+			GUC_FILESYSTEM_SECURITY | GUC_INTERFACE_SETTINGS,
 			GUC_SUPERUSER_ONLY
 		},
 		&pg_krb_server_keyfile,
@@ -4039,7 +4322,8 @@ static struct config_string ConfigureNamesString[] =
 	{
 		{"bonjour_name", PGC_POSTMASTER, CONN_AUTH_SETTINGS,
 			gettext_noop("Sets the Bonjour service name."),
-			NULL
+			NULL,
+			GUC_INTERFACE_SETTINGS
 		},
 		&bonjour_name,
 		"",
@@ -4052,6 +4336,7 @@ static struct config_string ConfigureNamesString[] =
 		{"lc_collate", PGC_INTERNAL, PRESET_OPTIONS,
 			gettext_noop("Shows the collation order locale."),
 			NULL,
+			GUC_INTERNAL_SETTINGS,
 			GUC_NOT_IN_SAMPLE | GUC_DISALLOW_IN_FILE
 		},
 		&locale_collate,
@@ -4063,6 +4348,7 @@ static struct config_string ConfigureNamesString[] =
 		{"lc_ctype", PGC_INTERNAL, PRESET_OPTIONS,
 			gettext_noop("Shows the character classification and case conversion locale."),
 			NULL,
+			GUC_INTERNAL_SETTINGS,
 			GUC_NOT_IN_SAMPLE | GUC_DISALLOW_IN_FILE
 		},
 		&locale_ctype,
@@ -4073,7 +4359,8 @@ static struct config_string ConfigureNamesString[] =
 	{
 		{"lc_messages", PGC_SUSET, CLIENT_CONN_LOCALE,
 			gettext_noop("Sets the language in which messages are displayed."),
-			NULL
+			NULL,
+			GUC_INTERNAL_SETTINGS
 		},
 		&locale_messages,
 		"",
@@ -4083,7 +4370,8 @@ static struct config_string ConfigureNamesString[] =
 	{
 		{"lc_monetary", PGC_USERSET, CLIENT_CONN_LOCALE,
 			gettext_noop("Sets the locale for formatting monetary amounts."),
-			NULL
+			NULL,
+			GUC_INTERNAL_SETTINGS
 		},
 		&locale_monetary,
 		"C",
@@ -4093,7 +4381,8 @@ static struct config_string ConfigureNamesString[] =
 	{
 		{"lc_numeric", PGC_USERSET, CLIENT_CONN_LOCALE,
 			gettext_noop("Sets the locale for formatting numbers."),
-			NULL
+			NULL,
+			GUC_INTERNAL_SETTINGS
 		},
 		&locale_numeric,
 		"C",
@@ -4103,7 +4392,8 @@ static struct config_string ConfigureNamesString[] =
 	{
 		{"lc_time", PGC_USERSET, CLIENT_CONN_LOCALE,
 			gettext_noop("Sets the locale for formatting date and time values."),
-			NULL
+			NULL,
+			GUC_INTERNAL_SETTINGS
 		},
 		&locale_time,
 		"C",
@@ -4114,6 +4404,7 @@ static struct config_string ConfigureNamesString[] =
 		{"session_preload_libraries", PGC_SUSET, CLIENT_CONN_PRELOAD,
 			gettext_noop("Lists shared libraries to preload into each backend."),
 			NULL,
+			GUC_FILESYSTEM_SECURITY,
 			GUC_LIST_INPUT | GUC_LIST_QUOTE | GUC_SUPERUSER_ONLY
 		},
 		&session_preload_libraries_string,
@@ -4125,6 +4416,7 @@ static struct config_string ConfigureNamesString[] =
 		{"shared_preload_libraries", PGC_POSTMASTER, CLIENT_CONN_PRELOAD,
 			gettext_noop("Lists shared libraries to preload into server."),
 			NULL,
+			GUC_FILESYSTEM_SECURITY,
 			GUC_LIST_INPUT | GUC_LIST_QUOTE | GUC_SUPERUSER_ONLY
 		},
 		&shared_preload_libraries_string,
@@ -4136,6 +4428,7 @@ static struct config_string ConfigureNamesString[] =
 		{"local_preload_libraries", PGC_USERSET, CLIENT_CONN_PRELOAD,
 			gettext_noop("Lists unprivileged shared libraries to preload into each backend."),
 			NULL,
+			GUC_INTERNAL_SETTINGS,
 			GUC_LIST_INPUT | GUC_LIST_QUOTE
 		},
 		&local_preload_libraries_string,
@@ -4147,6 +4440,7 @@ static struct config_string ConfigureNamesString[] =
 		{"search_path", PGC_USERSET, CLIENT_CONN_STATEMENT,
 			gettext_noop("Sets the schema search order for names that are not schema-qualified."),
 			NULL,
+			GUC_INTERNAL_SETTINGS,
 			GUC_LIST_INPUT | GUC_LIST_QUOTE | GUC_EXPLAIN
 		},
 		&namespace_search_path,
@@ -4159,6 +4453,7 @@ static struct config_string ConfigureNamesString[] =
 		{"server_encoding", PGC_INTERNAL, PRESET_OPTIONS,
 			gettext_noop("Shows the server (database) character set encoding."),
 			NULL,
+			GUC_INTERNAL_SETTINGS,
 			GUC_IS_NAME | GUC_REPORT | GUC_NOT_IN_SAMPLE | GUC_DISALLOW_IN_FILE
 		},
 		&server_encoding_string,
@@ -4171,6 +4466,7 @@ static struct config_string ConfigureNamesString[] =
 		{"server_version", PGC_INTERNAL, PRESET_OPTIONS,
 			gettext_noop("Shows the server version."),
 			NULL,
+			GUC_INTERNAL_SETTINGS,
 			GUC_REPORT | GUC_NOT_IN_SAMPLE | GUC_DISALLOW_IN_FILE
 		},
 		&server_version_string,
@@ -4183,6 +4479,7 @@ static struct config_string ConfigureNamesString[] =
 		{"role", PGC_USERSET, UNGROUPED,
 			gettext_noop("Sets the current role."),
 			NULL,
+			GUC_INTERNAL_SETTINGS,
 			GUC_IS_NAME | GUC_NO_SHOW_ALL | GUC_NO_RESET_ALL | GUC_NOT_IN_SAMPLE | GUC_DISALLOW_IN_FILE | GUC_NOT_WHILE_SEC_REST
 		},
 		&role_string,
@@ -4195,6 +4492,7 @@ static struct config_string ConfigureNamesString[] =
 		{"session_authorization", PGC_USERSET, UNGROUPED,
 			gettext_noop("Sets the session user name."),
 			NULL,
+			GUC_INTERNAL_SETTINGS,
 			GUC_IS_NAME | GUC_REPORT | GUC_NO_SHOW_ALL | GUC_NO_RESET_ALL | GUC_NOT_IN_SAMPLE | GUC_DISALLOW_IN_FILE | GUC_NOT_WHILE_SEC_REST
 		},
 		&session_authorization_string,
@@ -4208,6 +4506,7 @@ static struct config_string ConfigureNamesString[] =
 			gettext_noop("Valid values are combinations of \"stderr\", "
 						 "\"syslog\", \"csvlog\", and \"eventlog\", "
 						 "depending on the platform."),
+			GUC_FILESYSTEM_SECURITY | GUC_SECURITY_SETTINGS,
 			GUC_LIST_INPUT
 		},
 		&Log_destination_string,
@@ -4219,6 +4518,7 @@ static struct config_string ConfigureNamesString[] =
 			gettext_noop("Sets the destination directory for log files."),
 			gettext_noop("Can be specified as relative to the data directory "
 						 "or as absolute path."),
+			GUC_FILESYSTEM_SECURITY | GUC_SECURITY_SETTINGS,
 			GUC_SUPERUSER_ONLY
 		},
 		&Log_directory,
@@ -4229,6 +4529,7 @@ static struct config_string ConfigureNamesString[] =
 		{"log_filename", PGC_SIGHUP, LOGGING_WHERE,
 			gettext_noop("Sets the file name pattern for log files."),
 			NULL,
+			GUC_FILESYSTEM_SECURITY | GUC_SECURITY_SETTINGS,
 			GUC_SUPERUSER_ONLY
 		},
 		&Log_filename,
@@ -4240,7 +4541,8 @@ static struct config_string ConfigureNamesString[] =
 		{"syslog_ident", PGC_SIGHUP, LOGGING_WHERE,
 			gettext_noop("Sets the program name used to identify PostgreSQL "
 						 "messages in syslog."),
-			NULL
+			NULL,
+			GUC_LOGGING_SETTINGS | GUC_SECURITY_SETTINGS
 		},
 		&syslog_ident_str,
 		"postgres",
@@ -4251,7 +4553,8 @@ static struct config_string ConfigureNamesString[] =
 		{"event_source", PGC_POSTMASTER, LOGGING_WHERE,
 			gettext_noop("Sets the application name used to identify "
 						 "PostgreSQL messages in the event log."),
-			NULL
+			NULL,
+			GUC_LOGGING_SETTINGS | GUC_SECURITY_SETTINGS
 		},
 		&event_source,
 		DEFAULT_EVENT_SOURCE,
@@ -4262,6 +4565,7 @@ static struct config_string ConfigureNamesString[] =
 		{"TimeZone", PGC_USERSET, CLIENT_CONN_LOCALE,
 			gettext_noop("Sets the time zone for displaying and interpreting time stamps."),
 			NULL,
+			GUC_INTERNAL_SETTINGS,
 			GUC_REPORT
 		},
 		&timezone_string,
@@ -4271,7 +4575,8 @@ static struct config_string ConfigureNamesString[] =
 	{
 		{"timezone_abbreviations", PGC_USERSET, CLIENT_CONN_LOCALE,
 			gettext_noop("Selects a file of time zone abbreviations."),
-			NULL
+			NULL,
+			GUC_INTERNAL_SETTINGS
 		},
 		&timezone_abbreviations_string,
 		NULL,
@@ -4282,7 +4587,8 @@ static struct config_string ConfigureNamesString[] =
 		{"unix_socket_group", PGC_POSTMASTER, CONN_AUTH_SETTINGS,
 			gettext_noop("Sets the owning group of the Unix-domain socket."),
 			gettext_noop("The owning user of the socket is always the user "
-						 "that starts the server.")
+						 "that starts the server."),
+			GUC_FILESYSTEM_SECURITY | GUC_INTERFACE_SETTINGS
 		},
 		&Unix_socket_group,
 		"",
@@ -4293,6 +4599,7 @@ static struct config_string ConfigureNamesString[] =
 		{"unix_socket_directories", PGC_POSTMASTER, CONN_AUTH_SETTINGS,
 			gettext_noop("Sets the directories where Unix-domain sockets will be created."),
 			NULL,
+			GUC_FILESYSTEM_SECURITY | GUC_INTERFACE_SETTINGS,
 			GUC_LIST_INPUT | GUC_LIST_QUOTE | GUC_SUPERUSER_ONLY
 		},
 		&Unix_socket_directories,
@@ -4308,6 +4615,7 @@ static struct config_string ConfigureNamesString[] =
 		{"listen_addresses", PGC_POSTMASTER, CONN_AUTH_SETTINGS,
 			gettext_noop("Sets the host name or IP address(es) to listen to."),
 			NULL,
+			GUC_INTERFACE_SETTINGS,
 			GUC_LIST_INPUT
 		},
 		&ListenAddresses,
@@ -4323,6 +4631,7 @@ static struct config_string ConfigureNamesString[] =
 		{"data_directory", PGC_POSTMASTER, FILE_LOCATIONS,
 			gettext_noop("Sets the server's data directory."),
 			NULL,
+			GUC_FILESYSTEM_SECURITY,
 			GUC_SUPERUSER_ONLY | GUC_DISALLOW_IN_AUTO_FILE
 		},
 		&data_directory,
@@ -4334,6 +4643,7 @@ static struct config_string ConfigureNamesString[] =
 		{"config_file", PGC_POSTMASTER, FILE_LOCATIONS,
 			gettext_noop("Sets the server's main configuration file."),
 			NULL,
+			GUC_FILESYSTEM_SECURITY,
 			GUC_DISALLOW_IN_FILE | GUC_SUPERUSER_ONLY
 		},
 		&ConfigFileName,
@@ -4345,6 +4655,7 @@ static struct config_string ConfigureNamesString[] =
 		{"hba_file", PGC_POSTMASTER, FILE_LOCATIONS,
 			gettext_noop("Sets the server's \"hba\" configuration file."),
 			NULL,
+			GUC_FILESYSTEM_SECURITY,
 			GUC_SUPERUSER_ONLY
 		},
 		&HbaFileName,
@@ -4356,6 +4667,7 @@ static struct config_string ConfigureNamesString[] =
 		{"ident_file", PGC_POSTMASTER, FILE_LOCATIONS,
 			gettext_noop("Sets the server's \"ident\" configuration file."),
 			NULL,
+			GUC_FILESYSTEM_SECURITY,
 			GUC_SUPERUSER_ONLY
 		},
 		&IdentFileName,
@@ -4367,6 +4679,7 @@ static struct config_string ConfigureNamesString[] =
 		{"external_pid_file", PGC_POSTMASTER, FILE_LOCATIONS,
 			gettext_noop("Writes the postmaster PID to the specified file."),
 			NULL,
+			GUC_FILESYSTEM_SECURITY,
 			GUC_SUPERUSER_ONLY
 		},
 		&external_pid_file,
@@ -4378,6 +4691,7 @@ static struct config_string ConfigureNamesString[] =
 		{"ssl_library", PGC_INTERNAL, PRESET_OPTIONS,
 			gettext_noop("Shows the name of the SSL library."),
 			NULL,
+			GUC_INTERNAL_SETTINGS,
 			GUC_NOT_IN_SAMPLE | GUC_DISALLOW_IN_FILE
 		},
 		&ssl_library,
@@ -4392,7 +4706,8 @@ static struct config_string ConfigureNamesString[] =
 	{
 		{"ssl_cert_file", PGC_SIGHUP, CONN_AUTH_SSL,
 			gettext_noop("Location of the SSL server certificate file."),
-			NULL
+			NULL,
+			GUC_FILESYSTEM_SECURITY
 		},
 		&ssl_cert_file,
 		"server.crt",
@@ -4402,7 +4717,8 @@ static struct config_string ConfigureNamesString[] =
 	{
 		{"ssl_key_file", PGC_SIGHUP, CONN_AUTH_SSL,
 			gettext_noop("Location of the SSL server private key file."),
-			NULL
+			NULL,
+			GUC_FILESYSTEM_SECURITY
 		},
 		&ssl_key_file,
 		"server.key",
@@ -4412,7 +4728,8 @@ static struct config_string ConfigureNamesString[] =
 	{
 		{"ssl_ca_file", PGC_SIGHUP, CONN_AUTH_SSL,
 			gettext_noop("Location of the SSL certificate authority file."),
-			NULL
+			NULL,
+			GUC_FILESYSTEM_SECURITY
 		},
 		&ssl_ca_file,
 		"",
@@ -4422,7 +4739,8 @@ static struct config_string ConfigureNamesString[] =
 	{
 		{"ssl_crl_file", PGC_SIGHUP, CONN_AUTH_SSL,
 			gettext_noop("Location of the SSL certificate revocation list file."),
-			NULL
+			NULL,
+			GUC_FILESYSTEM_SECURITY
 		},
 		&ssl_crl_file,
 		"",
@@ -4432,7 +4750,8 @@ static struct config_string ConfigureNamesString[] =
 	{
 		{"ssl_crl_dir", PGC_SIGHUP, CONN_AUTH_SSL,
 			gettext_noop("Location of the SSL certificate revocation list directory."),
-			NULL
+			NULL,
+			GUC_FILESYSTEM_SECURITY | GUC_SECURITY_SETTINGS
 		},
 		&ssl_crl_dir,
 		"",
@@ -4443,6 +4762,7 @@ static struct config_string ConfigureNamesString[] =
 		{"stats_temp_directory", PGC_SIGHUP, STATS_COLLECTOR,
 			gettext_noop("Writes temporary statistics files to the specified directory."),
 			NULL,
+			GUC_FILESYSTEM_SECURITY,
 			GUC_SUPERUSER_ONLY
 		},
 		&pgstat_temp_directory,
@@ -4454,6 +4774,7 @@ static struct config_string ConfigureNamesString[] =
 		{"synchronous_standby_names", PGC_SIGHUP, REPLICATION_PRIMARY,
 			gettext_noop("Number of synchronous standbys and list of names of potential synchronous ones."),
 			NULL,
+			GUC_WAL_SETTINGS,
 			GUC_LIST_INPUT
 		},
 		&SyncRepStandbyNames,
@@ -4464,7 +4785,8 @@ static struct config_string ConfigureNamesString[] =
 	{
 		{"default_text_search_config", PGC_USERSET, CLIENT_CONN_LOCALE,
 			gettext_noop("Sets default text search configuration."),
-			NULL
+			NULL,
+			GUC_INTERNAL_SETTINGS
 		},
 		&TSCurrentConfig,
 		"pg_catalog.simple",
@@ -4475,6 +4797,7 @@ static struct config_string ConfigureNamesString[] =
 		{"ssl_ciphers", PGC_SIGHUP, CONN_AUTH_SSL,
 			gettext_noop("Sets the list of allowed SSL ciphers."),
 			NULL,
+			GUC_INTERFACE_SETTINGS,
 			GUC_SUPERUSER_ONLY
 		},
 		&SSLCipherSuites,
@@ -4490,6 +4813,7 @@ static struct config_string ConfigureNamesString[] =
 		{"ssl_ecdh_curve", PGC_SIGHUP, CONN_AUTH_SSL,
 			gettext_noop("Sets the curve to use for ECDH."),
 			NULL,
+			GUC_INTERFACE_SETTINGS,
 			GUC_SUPERUSER_ONLY
 		},
 		&SSLECDHCurve,
@@ -4505,6 +4829,7 @@ static struct config_string ConfigureNamesString[] =
 		{"ssl_dh_params_file", PGC_SIGHUP, CONN_AUTH_SSL,
 			gettext_noop("Location of the SSL DH parameters file."),
 			NULL,
+			GUC_INTERFACE_SETTINGS,
 			GUC_SUPERUSER_ONLY
 		},
 		&ssl_dh_params_file,
@@ -4516,6 +4841,7 @@ static struct config_string ConfigureNamesString[] =
 		{"ssl_passphrase_command", PGC_SIGHUP, CONN_AUTH_SSL,
 			gettext_noop("Command to obtain passphrases for SSL."),
 			NULL,
+			GUC_INTERFACE_SETTINGS,
 			GUC_SUPERUSER_ONLY
 		},
 		&ssl_passphrase_command,
@@ -4527,6 +4853,7 @@ static struct config_string ConfigureNamesString[] =
 		{"application_name", PGC_USERSET, LOGGING_WHAT,
 			gettext_noop("Sets the application name to be reported in statistics and logs."),
 			NULL,
+			GUC_INTERNAL_SETTINGS,
 			GUC_IS_NAME | GUC_REPORT | GUC_NOT_IN_SAMPLE
 		},
 		&application_name,
@@ -4538,6 +4865,7 @@ static struct config_string ConfigureNamesString[] =
 		{"cluster_name", PGC_POSTMASTER, PROCESS_TITLE,
 			gettext_noop("Sets the name of the cluster, which is included in the process title."),
 			NULL,
+			GUC_LOGGING_SETTINGS,
 			GUC_IS_NAME
 		},
 		&cluster_name,
@@ -4549,6 +4877,7 @@ static struct config_string ConfigureNamesString[] =
 		{"wal_consistency_checking", PGC_SUSET, DEVELOPER_OPTIONS,
 			gettext_noop("Sets the WAL resource managers for which WAL consistency checks are done."),
 			gettext_noop("Full-page images will be logged for all data blocks and cross-checked against the results of WAL replay."),
+			GUC_WAL_SETTINGS,
 			GUC_LIST_INPUT | GUC_NOT_IN_SAMPLE
 		},
 		&wal_consistency_checking_string,
@@ -4560,6 +4889,7 @@ static struct config_string ConfigureNamesString[] =
 		{"jit_provider", PGC_POSTMASTER, CLIENT_CONN_PRELOAD,
 			gettext_noop("JIT provider to use."),
 			NULL,
+			GUC_INTERNAL_SETTINGS | GUC_SECURITY_SETTINGS,
 			GUC_SUPERUSER_ONLY
 		},
 		&jit_provider,
@@ -4571,6 +4901,7 @@ static struct config_string ConfigureNamesString[] =
 		{"backtrace_functions", PGC_SUSET, DEVELOPER_OPTIONS,
 			gettext_noop("Log backtrace for errors in these functions."),
 			NULL,
+			GUC_LOGGING_SETTINGS,
 			GUC_NOT_IN_SAMPLE
 		},
 		&backtrace_functions,
@@ -4590,7 +4921,8 @@ static struct config_enum ConfigureNamesEnum[] =
 	{
 		{"backslash_quote", PGC_USERSET, COMPAT_OPTIONS_PREVIOUS,
 			gettext_noop("Sets whether \"\\'\" is allowed in string literals."),
-			NULL
+			NULL,
+			GUC_INTERNAL_SETTINGS
 		},
 		&backslash_quote,
 		BACKSLASH_QUOTE_SAFE_ENCODING, backslash_quote_options,
@@ -4600,7 +4932,8 @@ static struct config_enum ConfigureNamesEnum[] =
 	{
 		{"bytea_output", PGC_USERSET, CLIENT_CONN_STATEMENT,
 			gettext_noop("Sets the output format for bytea."),
-			NULL
+			NULL,
+			GUC_INTERNAL_SETTINGS
 		},
 		&bytea_output,
 		BYTEA_OUTPUT_HEX, bytea_output_options,
@@ -4611,7 +4944,8 @@ static struct config_enum ConfigureNamesEnum[] =
 		{"client_min_messages", PGC_USERSET, CLIENT_CONN_STATEMENT,
 			gettext_noop("Sets the message levels that are sent to the client."),
 			gettext_noop("Each level includes all the levels that follow it. The later"
-						 " the level, the fewer messages are sent.")
+						 " the level, the fewer messages are sent."),
+			GUC_INTERNAL_SETTINGS
 		},
 		&client_min_messages,
 		NOTICE, client_message_level_options,
@@ -4623,6 +4957,7 @@ static struct config_enum ConfigureNamesEnum[] =
 			gettext_noop("Enables the planner to use constraints to optimize queries."),
 			gettext_noop("Table scans will be skipped if their constraints"
 						 " guarantee that no rows match the query."),
+			GUC_INTERNAL_SETTINGS,
 			GUC_EXPLAIN
 		},
 		&constraint_exclusion,
@@ -4634,6 +4969,7 @@ static struct config_enum ConfigureNamesEnum[] =
 		{"default_toast_compression", PGC_USERSET, CLIENT_CONN_STATEMENT,
 			gettext_noop("Sets the default compression for new columns."),
 			NULL,
+			GUC_INTERNAL_SETTINGS,
 			GUC_IS_NAME
 		},
 		&default_toast_compression,
@@ -4644,7 +4980,8 @@ static struct config_enum ConfigureNamesEnum[] =
 	{
 		{"default_transaction_isolation", PGC_USERSET, CLIENT_CONN_STATEMENT,
 			gettext_noop("Sets the transaction isolation level of each new transaction."),
-			NULL
+			NULL,
+			GUC_INTERNAL_SETTINGS
 		},
 		&DefaultXactIsoLevel,
 		XACT_READ_COMMITTED, isolation_level_options,
@@ -4655,6 +4992,7 @@ static struct config_enum ConfigureNamesEnum[] =
 		{"transaction_isolation", PGC_USERSET, CLIENT_CONN_STATEMENT,
 			gettext_noop("Sets the current transaction's isolation level."),
 			NULL,
+			GUC_INTERNAL_SETTINGS,
 			GUC_NO_RESET_ALL | GUC_NOT_IN_SAMPLE | GUC_DISALLOW_IN_FILE
 		},
 		&XactIsoLevel,
@@ -4666,6 +5004,7 @@ static struct config_enum ConfigureNamesEnum[] =
 		{"IntervalStyle", PGC_USERSET, CLIENT_CONN_LOCALE,
 			gettext_noop("Sets the display format for interval values."),
 			NULL,
+			GUC_INTERNAL_SETTINGS,
 			GUC_REPORT
 		},
 		&IntervalStyle,
@@ -4676,7 +5015,8 @@ static struct config_enum ConfigureNamesEnum[] =
 	{
 		{"log_error_verbosity", PGC_SUSET, LOGGING_WHAT,
 			gettext_noop("Sets the verbosity of logged messages."),
-			NULL
+			NULL,
+			GUC_LOGGING_SETTINGS
 		},
 		&Log_error_verbosity,
 		PGERROR_DEFAULT, log_error_verbosity_options,
@@ -4687,7 +5027,8 @@ static struct config_enum ConfigureNamesEnum[] =
 		{"log_min_messages", PGC_SUSET, LOGGING_WHEN,
 			gettext_noop("Sets the message levels that are logged."),
 			gettext_noop("Each level includes all the levels that follow it. The later"
-						 " the level, the fewer messages are sent.")
+						 " the level, the fewer messages are sent."),
+			GUC_LOGGING_SETTINGS
 		},
 		&log_min_messages,
 		WARNING, server_message_level_options,
@@ -4698,7 +5039,8 @@ static struct config_enum ConfigureNamesEnum[] =
 		{"log_min_error_statement", PGC_SUSET, LOGGING_WHEN,
 			gettext_noop("Causes all statements generating error at or above this level to be logged."),
 			gettext_noop("Each level includes all the levels that follow it. The later"
-						 " the level, the fewer messages are sent.")
+						 " the level, the fewer messages are sent."),
+			GUC_LOGGING_SETTINGS
 		},
 		&log_min_error_statement,
 		ERROR, server_message_level_options,
@@ -4708,7 +5050,8 @@ static struct config_enum ConfigureNamesEnum[] =
 	{
 		{"log_statement", PGC_SUSET, LOGGING_WHAT,
 			gettext_noop("Sets the type of statements logged."),
-			NULL
+			NULL,
+			GUC_LOGGING_SETTINGS
 		},
 		&log_statement,
 		LOGSTMT_NONE, log_statement_options,
@@ -4718,7 +5061,8 @@ static struct config_enum ConfigureNamesEnum[] =
 	{
 		{"syslog_facility", PGC_SIGHUP, LOGGING_WHERE,
 			gettext_noop("Sets the syslog \"facility\" to be used when syslog enabled."),
-			NULL
+			NULL,
+			GUC_LOGGING_SETTINGS | GUC_SECURITY_SETTINGS
 		},
 		&syslog_facility,
 #ifdef HAVE_SYSLOG
@@ -4733,7 +5077,8 @@ static struct config_enum ConfigureNamesEnum[] =
 	{
 		{"session_replication_role", PGC_SUSET, CLIENT_CONN_STATEMENT,
 			gettext_noop("Sets the session's behavior for triggers and rewrite rules."),
-			NULL
+			NULL,
+			GUC_WAL_SETTINGS
 		},
 		&SessionReplicationRole,
 		SESSION_REPLICATION_ROLE_ORIGIN, session_replication_role_options,
@@ -4743,7 +5088,8 @@ static struct config_enum ConfigureNamesEnum[] =
 	{
 		{"synchronous_commit", PGC_USERSET, WAL_SETTINGS,
 			gettext_noop("Sets the current transaction's synchronization level."),
-			NULL
+			NULL,
+			GUC_INTERNAL_SETTINGS
 		},
 		&synchronous_commit,
 		SYNCHRONOUS_COMMIT_ON, synchronous_commit_options,
@@ -4753,7 +5099,8 @@ static struct config_enum ConfigureNamesEnum[] =
 	{
 		{"archive_mode", PGC_POSTMASTER, WAL_ARCHIVING,
 			gettext_noop("Allows archiving of WAL files using archive_command."),
-			NULL
+			NULL,
+			GUC_WAL_SETTINGS
 		},
 		&XLogArchiveMode,
 		ARCHIVE_MODE_OFF, archive_mode_options,
@@ -4763,7 +5110,8 @@ static struct config_enum ConfigureNamesEnum[] =
 	{
 		{"recovery_target_action", PGC_POSTMASTER, WAL_RECOVERY_TARGET,
 			gettext_noop("Sets the action to perform upon reaching the recovery target."),
-			NULL
+			NULL,
+			GUC_WAL_SETTINGS
 		},
 		&recoveryTargetAction,
 		RECOVERY_TARGET_ACTION_PAUSE, recovery_target_action_options,
@@ -4774,7 +5122,8 @@ static struct config_enum ConfigureNamesEnum[] =
 		{"trace_recovery_messages", PGC_SIGHUP, DEVELOPER_OPTIONS,
 			gettext_noop("Enables logging of recovery-related debugging information."),
 			gettext_noop("Each level includes all the levels that follow it. The later"
-						 " the level, the fewer messages are sent.")
+						 " the level, the fewer messages are sent."),
+			GUC_LOGGING_SETTINGS | GUC_WAL_SETTINGS
 		},
 		&trace_recovery_messages,
 
@@ -4789,7 +5138,8 @@ static struct config_enum ConfigureNamesEnum[] =
 	{
 		{"track_functions", PGC_SUSET, STATS_COLLECTOR,
 			gettext_noop("Collects function-level statistics on database activity."),
-			NULL
+			NULL,
+			GUC_STATS_SETTINGS
 		},
 		&pgstat_track_functions,
 		TRACK_FUNC_OFF, track_function_options,
@@ -4799,7 +5149,8 @@ static struct config_enum ConfigureNamesEnum[] =
 	{
 		{"wal_level", PGC_POSTMASTER, WAL_SETTINGS,
 			gettext_noop("Sets the level of information written to the WAL."),
-			NULL
+			NULL,
+			GUC_WAL_SETTINGS
 		},
 		&wal_level,
 		WAL_LEVEL_REPLICA, wal_level_options,
@@ -4809,7 +5160,8 @@ static struct config_enum ConfigureNamesEnum[] =
 	{
 		{"dynamic_shared_memory_type", PGC_POSTMASTER, RESOURCES_MEM,
 			gettext_noop("Selects the dynamic shared memory implementation used."),
-			NULL
+			NULL,
+			GUC_SERVER_CONFIGURATION
 		},
 		&dynamic_shared_memory_type,
 		DEFAULT_DYNAMIC_SHARED_MEMORY_TYPE, dynamic_shared_memory_options,
@@ -4819,7 +5171,8 @@ static struct config_enum ConfigureNamesEnum[] =
 	{
 		{"shared_memory_type", PGC_POSTMASTER, RESOURCES_MEM,
 			gettext_noop("Selects the shared memory implementation used for the main shared memory region."),
-			NULL
+			NULL,
+			GUC_SERVER_CONFIGURATION
 		},
 		&shared_memory_type,
 		DEFAULT_SHARED_MEMORY_TYPE, shared_memory_options,
@@ -4829,7 +5182,8 @@ static struct config_enum ConfigureNamesEnum[] =
 	{
 		{"wal_sync_method", PGC_SIGHUP, WAL_SETTINGS,
 			gettext_noop("Selects the method used for forcing WAL updates to disk."),
-			NULL
+			NULL,
+			GUC_WAL_SETTINGS
 		},
 		&sync_method,
 		DEFAULT_SYNC_METHOD, sync_method_options,
@@ -4839,7 +5193,8 @@ static struct config_enum ConfigureNamesEnum[] =
 	{
 		{"xmlbinary", PGC_USERSET, CLIENT_CONN_STATEMENT,
 			gettext_noop("Sets how binary values are to be encoded in XML."),
-			NULL
+			NULL,
+			GUC_INTERNAL_SETTINGS
 		},
 		&xmlbinary,
 		XMLBINARY_BASE64, xmlbinary_options,
@@ -4850,7 +5205,8 @@ static struct config_enum ConfigureNamesEnum[] =
 		{"xmloption", PGC_USERSET, CLIENT_CONN_STATEMENT,
 			gettext_noop("Sets whether XML data in implicit parsing and serialization "
 						 "operations is to be considered as documents or content fragments."),
-			NULL
+			NULL,
+			GUC_INTERNAL_SETTINGS
 		},
 		&xmloption,
 		XMLOPTION_CONTENT, xmloption_options,
@@ -4860,7 +5216,8 @@ static struct config_enum ConfigureNamesEnum[] =
 	{
 		{"huge_pages", PGC_POSTMASTER, RESOURCES_MEM,
 			gettext_noop("Use of huge pages on Linux or Windows."),
-			NULL
+			NULL,
+			GUC_INTERNAL_SETTINGS | GUC_RESOURCE_USAGE
 		},
 		&huge_pages,
 		HUGE_PAGES_TRY, huge_pages_options,
@@ -4871,6 +5228,7 @@ static struct config_enum ConfigureNamesEnum[] =
 		{"force_parallel_mode", PGC_USERSET, DEVELOPER_OPTIONS,
 			gettext_noop("Forces use of parallel query facilities."),
 			gettext_noop("If possible, run query using a parallel worker and with parallel restrictions."),
+			GUC_INTERNAL_SETTINGS,
 			GUC_NOT_IN_SAMPLE | GUC_EXPLAIN
 		},
 		&force_parallel_mode,
@@ -4881,7 +5239,8 @@ static struct config_enum ConfigureNamesEnum[] =
 	{
 		{"password_encryption", PGC_USERSET, CONN_AUTH_AUTH,
 			gettext_noop("Chooses the algorithm for encrypting passwords."),
-			NULL
+			NULL,
+			GUC_INTERNAL_SETTINGS
 		},
 		&Password_encryption,
 		PASSWORD_TYPE_SCRAM_SHA_256, password_encryption_options,
@@ -4894,6 +5253,7 @@ static struct config_enum ConfigureNamesEnum[] =
 			gettext_noop("Prepared statements can have custom and generic plans, and the planner "
 						 "will attempt to choose which is better.  This can be set to override "
 						 "the default behavior."),
+			GUC_INTERNAL_SETTINGS,
 			GUC_EXPLAIN
 		},
 		&plan_cache_mode,
@@ -4905,6 +5265,7 @@ static struct config_enum ConfigureNamesEnum[] =
 		{"ssl_min_protocol_version", PGC_SIGHUP, CONN_AUTH_SSL,
 			gettext_noop("Sets the minimum SSL/TLS protocol version to use."),
 			NULL,
+			GUC_INTERFACE_SETTINGS,
 			GUC_SUPERUSER_ONLY
 		},
 		&ssl_min_protocol_version,
@@ -4917,6 +5278,7 @@ static struct config_enum ConfigureNamesEnum[] =
 		{"ssl_max_protocol_version", PGC_SIGHUP, CONN_AUTH_SSL,
 			gettext_noop("Sets the maximum SSL/TLS protocol version to use."),
 			NULL,
+			GUC_INTERFACE_SETTINGS,
 			GUC_SUPERUSER_ONLY
 		},
 		&ssl_max_protocol_version,
@@ -4928,6 +5290,8 @@ static struct config_enum ConfigureNamesEnum[] =
 	{
 		{"recovery_init_sync_method", PGC_POSTMASTER, ERROR_HANDLING_OPTIONS,
 			gettext_noop("Sets the method for synchronizing the data directory before crash recovery."),
+			NULL,
+			GUC_WAL_SETTINGS,
 		},
 		&recovery_init_sync_method,
 		RECOVERY_INIT_SYNC_METHOD_FSYNC, recovery_init_sync_method_options,
@@ -7214,6 +7578,60 @@ parse_and_validate_value(struct config_generic *record,
 	return true;
 }
 
+static bool
+role_has_privileges(Oid roleid, int privileges)
+{
+	if ((privileges & GUC_INTERNAL_SETTINGS) &&
+		! has_privs_of_role(roleid, ROLE_PG_INTERNAL_SETTINGS))
+		return false;
+
+	if ((privileges & GUC_STORAGE_SETTINGS) &&
+		! has_privs_of_role(roleid, ROLE_PG_STORAGE_SETTINGS))
+		return false;
+
+	if ((privileges & GUC_WAL_SETTINGS) &&
+		! has_privs_of_role(roleid, ROLE_PG_WAL_SETTINGS))
+		return false;
+
+	if ((privileges & GUC_STATS_SETTINGS) &&
+		! has_privs_of_role(roleid, ROLE_PG_STATS_SETTINGS))
+		return false;
+
+	if ((privileges & GUC_MAINTENANCE_SETTINGS) &&
+		! has_privs_of_role(roleid, ROLE_PG_MAINTENANCE_SETTINGS))
+		return false;
+
+	if ((privileges & GUC_LOGGING_SETTINGS) &&
+		! has_privs_of_role(roleid, ROLE_PG_LOGGING_SETTINGS))
+		return false;
+
+	if ((privileges & GUC_INTERFACE_SETTINGS) &&
+		! has_privs_of_role(roleid, ROLE_PG_INTERFACE_SETTINGS))
+		return false;
+
+	if ((privileges & GUC_RESOURCE_USAGE) &&
+		! has_privs_of_role(roleid, ROLE_PG_RESOURCE_USAGE))
+		return false;
+
+	if ((privileges & GUC_FILESYSTEM_SECURITY) &&
+		! has_privs_of_role(roleid, ROLE_PG_FILESYSTEM_SECURITY))
+		return false;
+
+	if ((privileges & GUC_EXEC_COMMAND) &&
+		! has_privs_of_role(roleid, ROLE_PG_EXEC_COMMAND))
+		return false;
+
+	if ((privileges & GUC_SERVER_CONFIGURATION) &&
+		! has_privs_of_role(roleid, ROLE_PG_SERVER_CONFIGURATION))
+		return false;
+
+	if ((privileges & GUC_SECURITY_SETTINGS) &&
+		! has_privs_of_role(roleid, ROLE_PG_SECURITY_SETTINGS))
+		return false;
+
+	return true;
+}
+
 
 /*
  * Sets option `name' to given value.
@@ -7361,7 +7779,8 @@ set_config_option(const char *name, const char *value,
 			break;
 		case PGC_SU_BACKEND:
 			/* Reject if we're connecting but user is not superuser */
-			if (context == PGC_BACKEND)
+			if (context == PGC_BACKEND &&
+				!role_has_privileges(GetUserId(), record->privileges))
 			{
 				ereport(elevel,
 						(errcode(ERRCODE_INSUFFICIENT_PRIVILEGE),
@@ -7408,7 +7827,8 @@ set_config_option(const char *name, const char *value,
 			}
 			break;
 		case PGC_SUSET:
-			if (context == PGC_USERSET || context == PGC_BACKEND)
+			if ((context == PGC_USERSET || context == PGC_BACKEND) &&
+				!role_has_privileges(GetUserId(), record->privileges))
 			{
 				ereport(elevel,
 						(errcode(ERRCODE_INSUFFICIENT_PRIVILEGE),
@@ -8450,26 +8870,30 @@ replace_auto_config_value(ConfigVariable **head_p, ConfigVariable **tail_p,
 void
 AlterSystemSetConfigFile(AlterSystemStmt *altersysstmt)
 {
+	VariableSetKind kind;
 	char	   *name;
 	char	   *value;
 	bool		resetall = false;
+	bool		is_super = false;
 	ConfigVariable *head = NULL;
 	ConfigVariable *tail = NULL;
 	volatile int Tmpfd;
 	char		AutoConfFileName[MAXPGPATH];
 	char		AutoConfTmpFileName[MAXPGPATH];
 
-	if (!superuser())
-		ereport(ERROR,
-				(errcode(ERRCODE_INSUFFICIENT_PRIVILEGE),
-				 errmsg("must be superuser to execute ALTER SYSTEM command")));
-
 	/*
 	 * Extract statement arguments
 	 */
 	name = altersysstmt->setstmt->name;
+	kind = altersysstmt->setstmt->kind;
+	is_super = superuser();
+
+	if (!is_super && kind == VAR_RESET_ALL)
+		ereport(ERROR,
+				(errcode(ERRCODE_INSUFFICIENT_PRIVILEGE),
+				 errmsg("must be superuser to execute ALTER SYSTEM RESET ALL command")));
 
-	switch (altersysstmt->setstmt->kind)
+	switch (kind)
 	{
 		case VAR_SET_VALUE:
 			value = ExtractSetVariableArgs(altersysstmt->setstmt);
@@ -8513,6 +8937,15 @@ AlterSystemSetConfigFile(AlterSystemStmt *altersysstmt)
 					 errmsg("parameter \"%s\" cannot be changed",
 							name)));
 
+		/*
+		 * Deny non-superusers trying to run ALTER SYSTEM SET on variables
+		 * unless they belong to a role intended for the purpose.
+		 */
+		if (!is_super && !role_has_privileges(GetUserId(), record->privileges))
+			ereport(ERROR,
+					(errcode(ERRCODE_INSUFFICIENT_PRIVILEGE),
+					 errmsg("permission denied to set parameter \"%s\"", name)));
+
 		/*
 		 * If a value is specified, verify that it's sane.
 		 */
@@ -8874,6 +9307,7 @@ init_custom_variable(const char *name,
 					 const char *short_desc,
 					 const char *long_desc,
 					 GucContext context,
+					 int privileges,
 					 int flags,
 					 enum config_type type,
 					 size_t sz)
@@ -8919,6 +9353,7 @@ init_custom_variable(const char *name,
 	gen->group = CUSTOM_OPTIONS;
 	gen->short_desc = short_desc;
 	gen->long_desc = long_desc;
+	gen->privileges = privileges;
 	gen->flags = flags;
 	gen->vartype = type;
 
@@ -9117,6 +9552,7 @@ DefineCustomBoolVariable(const char *name,
 						 bool *valueAddr,
 						 bool bootValue,
 						 GucContext context,
+						 int privileges,
 						 int flags,
 						 GucBoolCheckHook check_hook,
 						 GucBoolAssignHook assign_hook,
@@ -9125,8 +9561,8 @@ DefineCustomBoolVariable(const char *name,
 	struct config_bool *var;
 
 	var = (struct config_bool *)
-		init_custom_variable(name, short_desc, long_desc, context, flags,
-							 PGC_BOOL, sizeof(struct config_bool));
+		init_custom_variable(name, short_desc, long_desc, context, privileges,
+							 flags, PGC_BOOL, sizeof(struct config_bool));
 	var->variable = valueAddr;
 	var->boot_val = bootValue;
 	var->reset_val = bootValue;
@@ -9145,6 +9581,7 @@ DefineCustomIntVariable(const char *name,
 						int minValue,
 						int maxValue,
 						GucContext context,
+						int privileges,
 						int flags,
 						GucIntCheckHook check_hook,
 						GucIntAssignHook assign_hook,
@@ -9153,8 +9590,8 @@ DefineCustomIntVariable(const char *name,
 	struct config_int *var;
 
 	var = (struct config_int *)
-		init_custom_variable(name, short_desc, long_desc, context, flags,
-							 PGC_INT, sizeof(struct config_int));
+		init_custom_variable(name, short_desc, long_desc, context, privileges,
+							 flags, PGC_INT, sizeof(struct config_int));
 	var->variable = valueAddr;
 	var->boot_val = bootValue;
 	var->reset_val = bootValue;
@@ -9175,6 +9612,7 @@ DefineCustomRealVariable(const char *name,
 						 double minValue,
 						 double maxValue,
 						 GucContext context,
+						 int privileges,
 						 int flags,
 						 GucRealCheckHook check_hook,
 						 GucRealAssignHook assign_hook,
@@ -9183,8 +9621,8 @@ DefineCustomRealVariable(const char *name,
 	struct config_real *var;
 
 	var = (struct config_real *)
-		init_custom_variable(name, short_desc, long_desc, context, flags,
-							 PGC_REAL, sizeof(struct config_real));
+		init_custom_variable(name, short_desc, long_desc, context, privileges,
+							 flags, PGC_REAL, sizeof(struct config_real));
 	var->variable = valueAddr;
 	var->boot_val = bootValue;
 	var->reset_val = bootValue;
@@ -9203,6 +9641,7 @@ DefineCustomStringVariable(const char *name,
 						   char **valueAddr,
 						   const char *bootValue,
 						   GucContext context,
+						   int privileges,
 						   int flags,
 						   GucStringCheckHook check_hook,
 						   GucStringAssignHook assign_hook,
@@ -9211,8 +9650,8 @@ DefineCustomStringVariable(const char *name,
 	struct config_string *var;
 
 	var = (struct config_string *)
-		init_custom_variable(name, short_desc, long_desc, context, flags,
-							 PGC_STRING, sizeof(struct config_string));
+		init_custom_variable(name, short_desc, long_desc, context, privileges,
+							 flags, PGC_STRING, sizeof(struct config_string));
 	var->variable = valueAddr;
 	var->boot_val = bootValue;
 	var->check_hook = check_hook;
@@ -9229,6 +9668,7 @@ DefineCustomEnumVariable(const char *name,
 						 int bootValue,
 						 const struct config_enum_entry *options,
 						 GucContext context,
+						 int privileges,
 						 int flags,
 						 GucEnumCheckHook check_hook,
 						 GucEnumAssignHook assign_hook,
@@ -9237,8 +9677,8 @@ DefineCustomEnumVariable(const char *name,
 	struct config_enum *var;
 
 	var = (struct config_enum *)
-		init_custom_variable(name, short_desc, long_desc, context, flags,
-							 PGC_ENUM, sizeof(struct config_enum));
+		init_custom_variable(name, short_desc, long_desc, context, privileges,
+							 flags, PGC_ENUM, sizeof(struct config_enum));
 	var->variable = valueAddr;
 	var->boot_val = bootValue;
 	var->reset_val = bootValue;
diff --git a/src/include/catalog/pg_authid.dat b/src/include/catalog/pg_authid.dat
index ed5916330c..e409de053b 100644
--- a/src/include/catalog/pg_authid.dat
+++ b/src/include/catalog/pg_authid.dat
@@ -39,6 +39,66 @@
   rolcreaterole => 'f', rolcreatedb => 'f', rolcanlogin => 'f',
   rolreplication => 'f', rolbypassrls => 'f', rolconnlimit => '-1',
   rolpassword => '_null_', rolvaliduntil => '_null_' },
+{ oid => '9276', oid_symbol => 'ROLE_PG_INTERNAL_SETTINGS',
+  rolname => 'pg_internal_settings', rolsuper => 'f', rolinherit => 't',
+  rolcreaterole => 'f', rolcreatedb => 'f', rolcanlogin => 'f',
+  rolreplication => 'f', rolbypassrls => 'f', rolconnlimit => '-1',
+  rolpassword => '_null_', rolvaliduntil => '_null_' },
+{ oid => '9277', oid_symbol => 'ROLE_PG_STORAGE_SETTINGS',
+  rolname => 'pg_storage_settings', rolsuper => 'f', rolinherit => 't',
+  rolcreaterole => 'f', rolcreatedb => 'f', rolcanlogin => 'f',
+  rolreplication => 'f', rolbypassrls => 'f', rolconnlimit => '-1',
+  rolpassword => '_null_', rolvaliduntil => '_null_' },
+{ oid => '9278', oid_symbol => 'ROLE_PG_WAL_SETTINGS',
+  rolname => 'pg_wal_settings', rolsuper => 'f', rolinherit => 't',
+  rolcreaterole => 'f', rolcreatedb => 'f', rolcanlogin => 'f',
+  rolreplication => 'f', rolbypassrls => 'f', rolconnlimit => '-1',
+  rolpassword => '_null_', rolvaliduntil => '_null_' },
+{ oid => '9279', oid_symbol => 'ROLE_PG_STATS_SETTINGS',
+  rolname => 'pg_stats_settings', rolsuper => 'f', rolinherit => 't',
+  rolcreaterole => 'f', rolcreatedb => 'f', rolcanlogin => 'f',
+  rolreplication => 'f', rolbypassrls => 'f', rolconnlimit => '-1',
+  rolpassword => '_null_', rolvaliduntil => '_null_' },
+{ oid => '9280', oid_symbol => 'ROLE_PG_MAINTENANCE_SETTINGS',
+  rolname => 'pg_maintenance_settings', rolsuper => 'f', rolinherit => 't',
+  rolcreaterole => 'f', rolcreatedb => 'f', rolcanlogin => 'f',
+  rolreplication => 'f', rolbypassrls => 'f', rolconnlimit => '-1',
+  rolpassword => '_null_', rolvaliduntil => '_null_' },
+{ oid => '9281', oid_symbol => 'ROLE_PG_LOGGING_SETTINGS',
+  rolname => 'pg_logging_settings', rolsuper => 'f', rolinherit => 't',
+  rolcreaterole => 'f', rolcreatedb => 'f', rolcanlogin => 'f',
+  rolreplication => 'f', rolbypassrls => 'f', rolconnlimit => '-1',
+  rolpassword => '_null_', rolvaliduntil => '_null_' },
+{ oid => '9282', oid_symbol => 'ROLE_PG_INTERFACE_SETTINGS',
+  rolname => 'pg_interface_settings', rolsuper => 'f', rolinherit => 't',
+  rolcreaterole => 'f', rolcreatedb => 'f', rolcanlogin => 'f',
+  rolreplication => 'f', rolbypassrls => 'f', rolconnlimit => '-1',
+  rolpassword => '_null_', rolvaliduntil => '_null_' },
+{ oid => '9283', oid_symbol => 'ROLE_PG_RESOURCE_USAGE',
+  rolname => 'pg_resource_usage', rolsuper => 'f', rolinherit => 't',
+  rolcreaterole => 'f', rolcreatedb => 'f', rolcanlogin => 'f',
+  rolreplication => 'f', rolbypassrls => 'f', rolconnlimit => '-1',
+  rolpassword => '_null_', rolvaliduntil => '_null_' },
+{ oid => '9284', oid_symbol => 'ROLE_PG_FILESYSTEM_SECURITY',
+  rolname => 'pg_filesystem_security', rolsuper => 'f', rolinherit => 't',
+  rolcreaterole => 'f', rolcreatedb => 'f', rolcanlogin => 'f',
+  rolreplication => 'f', rolbypassrls => 'f', rolconnlimit => '-1',
+  rolpassword => '_null_', rolvaliduntil => '_null_' },
+{ oid => '9285', oid_symbol => 'ROLE_PG_EXEC_COMMAND',
+  rolname => 'pg_exec_command', rolsuper => 'f', rolinherit => 't',
+  rolcreaterole => 'f', rolcreatedb => 'f', rolcanlogin => 'f',
+  rolreplication => 'f', rolbypassrls => 'f', rolconnlimit => '-1',
+  rolpassword => '_null_', rolvaliduntil => '_null_' },
+{ oid => '9286', oid_symbol => 'ROLE_PG_SERVER_CONFIGURATION',
+  rolname => 'pg_server_configuration', rolsuper => 'f', rolinherit => 't',
+  rolcreaterole => 'f', rolcreatedb => 'f', rolcanlogin => 'f',
+  rolreplication => 'f', rolbypassrls => 'f', rolconnlimit => '-1',
+  rolpassword => '_null_', rolvaliduntil => '_null_' },
+{ oid => '9287', oid_symbol => 'ROLE_PG_SECURITY_SETTINGS',
+  rolname => 'pg_security_settings', rolsuper => 'f', rolinherit => 't',
+  rolcreaterole => 'f', rolcreatedb => 'f', rolcanlogin => 'f',
+  rolreplication => 'f', rolbypassrls => 'f', rolconnlimit => '-1',
+  rolpassword => '_null_', rolvaliduntil => '_null_' },
 { oid => '3373', oid_symbol => 'ROLE_PG_MONITOR',
   rolname => 'pg_monitor', rolsuper => 'f', rolinherit => 't',
   rolcreaterole => 'f', rolcreatedb => 'f', rolcanlogin => 'f',
diff --git a/src/include/utils/guc.h b/src/include/utils/guc.h
index 24a5d9d3fb..35f42d5908 100644
--- a/src/include/utils/guc.h
+++ b/src/include/utils/guc.h
@@ -198,6 +198,23 @@ typedef enum
 
 #define GUC_QUALIFIER_SEPARATOR '.'
 
+/*
+ * privilege bits required to modify a GUC variable
+ */
+#define GUC_INTERNAL_SETTINGS		0x0001	/* internal behavior */
+#define GUC_STORAGE_SETTINGS		0x0002	/* storage error behavior */
+#define GUC_WAL_SETTINGS			0x0004	/* wal, replication and recovery */
+#define GUC_STATS_SETTINGS			0x0008	/* stats collection */
+#define GUC_MAINTENANCE_SETTINGS	0x0010	/* autovacuum */
+#define GUC_LOGGING_SETTINGS		0x0020	/* system log */
+#define GUC_INTERFACE_SETTINGS		0x0040	/* connection and authentication */
+#define GUC_RESOURCE_USAGE			0x0080	/* disk, memory, cpu */
+#define GUC_FILESYSTEM_SECURITY		0x0100	/* filesystem paths and perms */
+#define GUC_EXEC_COMMAND			0x0200	/* exec external programs */
+#define GUC_SERVER_CONFIGURATION	0x0400	/* server OS features usage */
+#define GUC_SECURITY_SETTINGS		0x0800	/* security sensitive settings */
+#define GUC_ALL_PRIVILEGES			0x0FFF	/* all of the above */
+
 /*
  * bit values in "flags" of a GUC variable
  */
@@ -295,6 +312,7 @@ extern void DefineCustomBoolVariable(const char *name,
 									 bool *valueAddr,
 									 bool bootValue,
 									 GucContext context,
+									 int privileges,
 									 int flags,
 									 GucBoolCheckHook check_hook,
 									 GucBoolAssignHook assign_hook,
@@ -308,6 +326,7 @@ extern void DefineCustomIntVariable(const char *name,
 									int minValue,
 									int maxValue,
 									GucContext context,
+									int privileges,
 									int flags,
 									GucIntCheckHook check_hook,
 									GucIntAssignHook assign_hook,
@@ -321,6 +340,7 @@ extern void DefineCustomRealVariable(const char *name,
 									 double minValue,
 									 double maxValue,
 									 GucContext context,
+									 int privileges,
 									 int flags,
 									 GucRealCheckHook check_hook,
 									 GucRealAssignHook assign_hook,
@@ -332,6 +352,7 @@ extern void DefineCustomStringVariable(const char *name,
 									   char **valueAddr,
 									   const char *bootValue,
 									   GucContext context,
+									   int privileges,
 									   int flags,
 									   GucStringCheckHook check_hook,
 									   GucStringAssignHook assign_hook,
@@ -344,6 +365,7 @@ extern void DefineCustomEnumVariable(const char *name,
 									 int bootValue,
 									 const struct config_enum_entry *options,
 									 GucContext context,
+									 int privileges,
 									 int flags,
 									 GucEnumCheckHook check_hook,
 									 GucEnumAssignHook assign_hook,
diff --git a/src/include/utils/guc_tables.h b/src/include/utils/guc_tables.h
index 6b40f1eeb8..27288236ae 100644
--- a/src/include/utils/guc_tables.h
+++ b/src/include/utils/guc_tables.h
@@ -143,6 +143,7 @@ struct config_generic
 	enum config_group group;	/* to help organize variables by function */
 	const char *short_desc;		/* short desc. of this variable's purpose */
 	const char *long_desc;		/* long desc. of this variable's purpose */
+	int			privileges;		/* privileges bits, see guc.h */
 	int			flags;			/* flag bits, see guc.h */
 	/* variable fields, initialized at runtime: */
 	enum config_type vartype;	/* type of variable (set only at startup) */
diff --git a/src/pl/plperl/plperl.c b/src/pl/plperl/plperl.c
index 6299adf71a..d24989b9bd 100644
--- a/src/pl/plperl/plperl.c
+++ b/src/pl/plperl/plperl.c
@@ -406,7 +406,7 @@ _PG_init(void)
 							 NULL,
 							 &plperl_use_strict,
 							 false,
-							 PGC_USERSET, 0,
+							 PGC_USERSET, GUC_ALL_PRIVILEGES, 0,
 							 NULL, NULL, NULL);
 
 	/*
@@ -420,7 +420,7 @@ _PG_init(void)
 							   NULL,
 							   &plperl_on_init,
 							   NULL,
-							   PGC_SIGHUP, 0,
+							   PGC_SIGHUP, GUC_ALL_PRIVILEGES, 0,
 							   NULL, NULL, NULL);
 
 	/*
@@ -442,7 +442,7 @@ _PG_init(void)
 							   NULL,
 							   &plperl_on_plperl_init,
 							   NULL,
-							   PGC_SUSET, 0,
+							   PGC_SUSET, GUC_ALL_PRIVILEGES, 0,
 							   NULL, NULL, NULL);
 
 	DefineCustomStringVariable("plperl.on_plperlu_init",
@@ -450,7 +450,7 @@ _PG_init(void)
 							   NULL,
 							   &plperl_on_plperlu_init,
 							   NULL,
-							   PGC_SUSET, 0,
+							   PGC_SUSET, GUC_ALL_PRIVILEGES, 0,
 							   NULL, NULL, NULL);
 
 	EmitWarningsOnPlaceholders("plperl");
diff --git a/src/pl/plpgsql/src/pl_handler.c b/src/pl/plpgsql/src/pl_handler.c
index 00aace2f39..737eb80eb0 100644
--- a/src/pl/plpgsql/src/pl_handler.c
+++ b/src/pl/plpgsql/src/pl_handler.c
@@ -158,7 +158,7 @@ _PG_init(void)
 							 &plpgsql_variable_conflict,
 							 PLPGSQL_RESOLVE_ERROR,
 							 variable_conflict_options,
-							 PGC_SUSET, 0,
+							 PGC_SUSET, GUC_ALL_PRIVILEGES, 0,
 							 NULL, NULL, NULL);
 
 	DefineCustomBoolVariable("plpgsql.print_strict_params",
@@ -166,7 +166,7 @@ _PG_init(void)
 							 NULL,
 							 &plpgsql_print_strict_params,
 							 false,
-							 PGC_USERSET, 0,
+							 PGC_USERSET, GUC_ALL_PRIVILEGES, 0,
 							 NULL, NULL, NULL);
 
 	DefineCustomBoolVariable("plpgsql.check_asserts",
@@ -174,7 +174,7 @@ _PG_init(void)
 							 NULL,
 							 &plpgsql_check_asserts,
 							 true,
-							 PGC_USERSET, 0,
+							 PGC_USERSET, GUC_ALL_PRIVILEGES, 0,
 							 NULL, NULL, NULL);
 
 	DefineCustomStringVariable("plpgsql.extra_warnings",
@@ -182,7 +182,7 @@ _PG_init(void)
 							   NULL,
 							   &plpgsql_extra_warnings_string,
 							   "none",
-							   PGC_USERSET, GUC_LIST_INPUT,
+							   PGC_USERSET, GUC_ALL_PRIVILEGES, GUC_LIST_INPUT,
 							   plpgsql_extra_checks_check_hook,
 							   plpgsql_extra_warnings_assign_hook,
 							   NULL);
@@ -192,7 +192,7 @@ _PG_init(void)
 							   NULL,
 							   &plpgsql_extra_errors_string,
 							   "none",
-							   PGC_USERSET, GUC_LIST_INPUT,
+							   PGC_USERSET, GUC_ALL_PRIVILEGES, GUC_LIST_INPUT,
 							   plpgsql_extra_checks_check_hook,
 							   plpgsql_extra_errors_assign_hook,
 							   NULL);
diff --git a/src/pl/tcl/pltcl.c b/src/pl/tcl/pltcl.c
index e11837559d..a52c101b0a 100644
--- a/src/pl/tcl/pltcl.c
+++ b/src/pl/tcl/pltcl.c
@@ -464,14 +464,14 @@ _PG_init(void)
 							   NULL,
 							   &pltcl_start_proc,
 							   NULL,
-							   PGC_SUSET, 0,
+							   PGC_SUSET, GUC_ALL_PRIVILEGES, 0,
 							   NULL, NULL, NULL);
 	DefineCustomStringVariable("pltclu.start_proc",
 							   gettext_noop("PL/TclU function to call once when pltclu is first used."),
 							   NULL,
 							   &pltclu_start_proc,
 							   NULL,
-							   PGC_SUSET, 0,
+							   PGC_SUSET, GUC_ALL_PRIVILEGES, 0,
 							   NULL, NULL, NULL);
 
 	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..6e99f612fa 100644
--- a/src/test/modules/delay_execution/delay_execution.c
+++ b/src/test/modules/delay_execution/delay_execution.c
@@ -86,6 +86,7 @@ _PG_init(void)
 							0,
 							0, INT_MAX,
 							PGC_USERSET,
+							GUC_ALL_PRIVILEGES,
 							0,
 							NULL,
 							NULL,
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..b947247bf3 100644
--- a/src/test/modules/ssl_passphrase_callback/ssl_passphrase_func.c
+++ b/src/test/modules/ssl_passphrase_callback/ssl_passphrase_func.c
@@ -44,6 +44,7 @@ _PG_init(void)
 							   &ssl_passphrase,
 							   NULL,
 							   PGC_SIGHUP,
+							   GUC_ALL_PRIVILEGES,
 							   0,	/* no flags required */
 							   NULL,
 							   NULL,
diff --git a/src/test/modules/worker_spi/worker_spi.c b/src/test/modules/worker_spi/worker_spi.c
index d0acef2652..0ef493ebfe 100644
--- a/src/test/modules/worker_spi/worker_spi.c
+++ b/src/test/modules/worker_spi/worker_spi.c
@@ -293,6 +293,7 @@ _PG_init(void)
 							1,
 							INT_MAX,
 							PGC_SIGHUP,
+							GUC_ALL_PRIVILEGES,
 							0,
 							NULL,
 							NULL,
@@ -309,6 +310,7 @@ _PG_init(void)
 							1,
 							100,
 							PGC_POSTMASTER,
+							GUC_ALL_PRIVILEGES,
 							0,
 							NULL,
 							NULL,
@@ -320,6 +322,7 @@ _PG_init(void)
 							   &worker_spi_database,
 							   "postgres",
 							   PGC_POSTMASTER,
+							   GUC_ALL_PRIVILEGES,
 							   0,
 							   NULL, NULL, NULL);
 
diff --git a/src/test/regress/expected/guc_priv_admin.out b/src/test/regress/expected/guc_priv_admin.out
new file mode 100644
index 0000000000..544dd5a426
--- /dev/null
+++ b/src/test/regress/expected/guc_priv_admin.out
@@ -0,0 +1,1844 @@
+-- Role with all GUC permissions
+CREATE ROLE admin;
+GRANT pg_internal_settings TO admin;
+GRANT pg_stats_settings TO admin;
+GRANT pg_maintenance_settings TO admin;
+GRANT pg_storage_settings TO admin;
+GRANT pg_wal_settings TO admin;
+GRANT pg_logging_settings TO admin;
+GRANT pg_interface_settings TO admin;
+GRANT pg_resource_usage TO admin;
+GRANT pg_filesystem_security TO admin;
+GRANT pg_exec_command TO admin;
+GRANT pg_server_configuration TO admin;
+GRANT pg_security_settings TO admin;
+-- Perform all operations as user 'admin' --
+SET SESSION AUTHORIZATION admin;
+-- PGC_BACKEND / GUC_INTERFACE_SETTINGS / DEVELOPER_OPTIONS
+SET post_auth_delay = 50;  -- fail, cannot be set after connection start
+ERROR:  parameter "post_auth_delay" cannot be set after connection start
+RESET post_auth_delay;  -- fail, cannot be set after connection start
+ERROR:  parameter "post_auth_delay" cannot be set after connection start
+ALTER SYSTEM SET post_auth_delay = 50;  -- ok
+ALTER SYSTEM RESET post_auth_delay;  -- ok
+-- PGC_BACKEND / GUC_INTERNAL_SETTINGS / DEVELOPER_OPTIONS
+SET ignore_system_indexes = ON;  -- fail, cannot be set after connection start
+ERROR:  parameter "ignore_system_indexes" cannot be set after connection start
+RESET ignore_system_indexes;  -- fail, cannot be set after connection start
+ERROR:  parameter "ignore_system_indexes" cannot be set after connection start
+ALTER SYSTEM SET ignore_system_indexes = ON;  -- ok
+ALTER SYSTEM RESET ignore_system_indexes;  -- ok
+-- PGC_INTERNAL / GUC_INTERNAL_SETTINGS / PRESET_OPTIONS
+SET block_size = 50;  -- fail, cannot be changed
+ERROR:  parameter "block_size" cannot be changed
+RESET block_size;  -- fail, cannot be changed
+ERROR:  parameter "block_size" cannot be changed
+ALTER SYSTEM SET block_size = 50;  -- fail, cannot be changed
+ERROR:  parameter "block_size" cannot be changed
+ALTER SYSTEM RESET block_size;  -- fail, cannot be changed
+ERROR:  parameter "block_size" cannot be changed
+SET data_checksums = ON;  -- fail, cannot be changed
+ERROR:  parameter "data_checksums" cannot be changed
+RESET data_checksums;  -- fail, cannot be changed
+ERROR:  parameter "data_checksums" cannot be changed
+ALTER SYSTEM SET data_checksums = ON;  -- fail, cannot be changed
+ERROR:  parameter "data_checksums" cannot be changed
+ALTER SYSTEM RESET data_checksums;  -- fail, cannot be changed
+ERROR:  parameter "data_checksums" cannot be changed
+SET data_directory_mode = 50;  -- fail, cannot be changed
+ERROR:  parameter "data_directory_mode" cannot be changed
+RESET data_directory_mode;  -- fail, cannot be changed
+ERROR:  parameter "data_directory_mode" cannot be changed
+ALTER SYSTEM SET data_directory_mode = 50;  -- fail, cannot be changed
+ERROR:  parameter "data_directory_mode" cannot be changed
+ALTER SYSTEM RESET data_directory_mode;  -- fail, cannot be changed
+ERROR:  parameter "data_directory_mode" cannot be changed
+SET debug_assertions = ON;  -- fail, cannot be changed
+ERROR:  parameter "debug_assertions" cannot be changed
+RESET debug_assertions;  -- fail, cannot be changed
+ERROR:  parameter "debug_assertions" cannot be changed
+ALTER SYSTEM SET debug_assertions = ON;  -- fail, cannot be changed
+ERROR:  parameter "debug_assertions" cannot be changed
+ALTER SYSTEM RESET debug_assertions;  -- fail, cannot be changed
+ERROR:  parameter "debug_assertions" cannot be changed
+SET in_hot_standby = ON;  -- fail, cannot be changed
+ERROR:  parameter "in_hot_standby" cannot be changed
+RESET in_hot_standby;  -- fail, cannot be changed
+ERROR:  parameter "in_hot_standby" cannot be changed
+ALTER SYSTEM SET in_hot_standby = ON;  -- fail, cannot be changed
+ERROR:  parameter "in_hot_standby" cannot be changed
+ALTER SYSTEM RESET in_hot_standby;  -- fail, cannot be changed
+ERROR:  parameter "in_hot_standby" cannot be changed
+SET integer_datetimes = ON;  -- fail, cannot be changed
+ERROR:  parameter "integer_datetimes" cannot be changed
+RESET integer_datetimes;  -- fail, cannot be changed
+ERROR:  parameter "integer_datetimes" cannot be changed
+ALTER SYSTEM SET integer_datetimes = ON;  -- fail, cannot be changed
+ERROR:  parameter "integer_datetimes" cannot be changed
+ALTER SYSTEM RESET integer_datetimes;  -- fail, cannot be changed
+ERROR:  parameter "integer_datetimes" cannot be changed
+SET lc_collate = 'en_US.UTF-8';  -- fail, cannot be changed
+ERROR:  parameter "lc_collate" cannot be changed
+RESET lc_collate;  -- fail, cannot be changed
+ERROR:  parameter "lc_collate" cannot be changed
+ALTER SYSTEM SET lc_collate = 'en_US.UTF-8';  -- fail, cannot be changed
+ERROR:  parameter "lc_collate" cannot be changed
+ALTER SYSTEM RESET lc_collate;  -- fail, cannot be changed
+ERROR:  parameter "lc_collate" cannot be changed
+SET lc_ctype = 'en_US.UTF-8';  -- fail, cannot be changed
+ERROR:  parameter "lc_ctype" cannot be changed
+RESET lc_ctype;  -- fail, cannot be changed
+ERROR:  parameter "lc_ctype" cannot be changed
+ALTER SYSTEM SET lc_ctype = 'en_US.UTF-8';  -- fail, cannot be changed
+ERROR:  parameter "lc_ctype" cannot be changed
+ALTER SYSTEM RESET lc_ctype;  -- fail, cannot be changed
+ERROR:  parameter "lc_ctype" cannot be changed
+SET max_function_args = 50;  -- fail, cannot be changed
+ERROR:  parameter "max_function_args" cannot be changed
+RESET max_function_args;  -- fail, cannot be changed
+ERROR:  parameter "max_function_args" cannot be changed
+ALTER SYSTEM SET max_function_args = 50;  -- fail, cannot be changed
+ERROR:  parameter "max_function_args" cannot be changed
+ALTER SYSTEM RESET max_function_args;  -- fail, cannot be changed
+ERROR:  parameter "max_function_args" cannot be changed
+SET max_identifier_length = 50;  -- fail, cannot be changed
+ERROR:  parameter "max_identifier_length" cannot be changed
+RESET max_identifier_length;  -- fail, cannot be changed
+ERROR:  parameter "max_identifier_length" cannot be changed
+ALTER SYSTEM SET max_identifier_length = 50;  -- fail, cannot be changed
+ERROR:  parameter "max_identifier_length" cannot be changed
+ALTER SYSTEM RESET max_identifier_length;  -- fail, cannot be changed
+ERROR:  parameter "max_identifier_length" cannot be changed
+SET max_index_keys = 50;  -- fail, cannot be changed
+ERROR:  parameter "max_index_keys" cannot be changed
+RESET max_index_keys;  -- fail, cannot be changed
+ERROR:  parameter "max_index_keys" cannot be changed
+ALTER SYSTEM SET max_index_keys = 50;  -- fail, cannot be changed
+ERROR:  parameter "max_index_keys" cannot be changed
+ALTER SYSTEM RESET max_index_keys;  -- fail, cannot be changed
+ERROR:  parameter "max_index_keys" cannot be changed
+SET segment_size = 50;  -- fail, cannot be changed
+ERROR:  parameter "segment_size" cannot be changed
+RESET segment_size;  -- fail, cannot be changed
+ERROR:  parameter "segment_size" cannot be changed
+ALTER SYSTEM SET segment_size = 50;  -- fail, cannot be changed
+ERROR:  parameter "segment_size" cannot be changed
+ALTER SYSTEM RESET segment_size;  -- fail, cannot be changed
+ERROR:  parameter "segment_size" cannot be changed
+SET server_encoding = 'UTF8';  -- fail, cannot be changed
+ERROR:  parameter "server_encoding" cannot be changed
+RESET server_encoding;  -- fail, cannot be changed
+ERROR:  parameter "server_encoding" cannot be changed
+ALTER SYSTEM SET server_encoding = 'UTF8';  -- fail, cannot be changed
+ERROR:  parameter "server_encoding" cannot be changed
+ALTER SYSTEM RESET server_encoding;  -- fail, cannot be changed
+ERROR:  parameter "server_encoding" cannot be changed
+SET server_version = '9.1';  -- fail, cannot be changed
+ERROR:  parameter "server_version" cannot be changed
+RESET server_version;  -- fail, cannot be changed
+ERROR:  parameter "server_version" cannot be changed
+ALTER SYSTEM SET server_version = '9.1';  -- fail, cannot be changed
+ERROR:  parameter "server_version" cannot be changed
+ALTER SYSTEM RESET server_version;  -- fail, cannot be changed
+ERROR:  parameter "server_version" cannot be changed
+SET server_version_num = 50;  -- fail, cannot be changed
+ERROR:  parameter "server_version_num" cannot be changed
+RESET server_version_num;  -- fail, cannot be changed
+ERROR:  parameter "server_version_num" cannot be changed
+ALTER SYSTEM SET server_version_num = 50;  -- fail, cannot be changed
+ERROR:  parameter "server_version_num" cannot be changed
+ALTER SYSTEM RESET server_version_num;  -- fail, cannot be changed
+ERROR:  parameter "server_version_num" cannot be changed
+SET ssl_library = 'OpenSSL';  -- fail, cannot be changed
+ERROR:  parameter "ssl_library" cannot be changed
+RESET ssl_library;  -- fail, cannot be changed
+ERROR:  parameter "ssl_library" cannot be changed
+ALTER SYSTEM SET ssl_library = 'OpenSSL';  -- fail, cannot be changed
+ERROR:  parameter "ssl_library" cannot be changed
+ALTER SYSTEM RESET ssl_library;  -- fail, cannot be changed
+ERROR:  parameter "ssl_library" cannot be changed
+SET wal_block_size = 50;  -- fail, cannot be changed
+ERROR:  parameter "wal_block_size" cannot be changed
+RESET wal_block_size;  -- fail, cannot be changed
+ERROR:  parameter "wal_block_size" cannot be changed
+ALTER SYSTEM SET wal_block_size = 50;  -- fail, cannot be changed
+ERROR:  parameter "wal_block_size" cannot be changed
+ALTER SYSTEM RESET wal_block_size;  -- fail, cannot be changed
+ERROR:  parameter "wal_block_size" cannot be changed
+SET wal_segment_size = 50;  -- fail, cannot be changed
+ERROR:  parameter "wal_segment_size" cannot be changed
+RESET wal_segment_size;  -- fail, cannot be changed
+ERROR:  parameter "wal_segment_size" cannot be changed
+ALTER SYSTEM SET wal_segment_size = 50;  -- fail, cannot be changed
+ERROR:  parameter "wal_segment_size" cannot be changed
+ALTER SYSTEM RESET wal_segment_size;  -- fail, cannot be changed
+ERROR:  parameter "wal_segment_size" cannot be changed
+-- PGC_INTERNAL / GUC_INTERNAL_SETTINGS / UNGROUPED
+SET is_superuser = ON;  -- fail, cannot be changed
+ERROR:  parameter "is_superuser" cannot be changed
+RESET is_superuser;  -- fail, cannot be changed
+ERROR:  parameter "is_superuser" cannot be changed
+ALTER SYSTEM SET is_superuser = ON;  -- fail, cannot be changed
+ERROR:  parameter "is_superuser" cannot be changed
+ALTER SYSTEM RESET is_superuser;  -- fail, cannot be changed
+ERROR:  parameter "is_superuser" cannot be changed
+-- PGC_POSTMASTER / GUC_FILESYSTEM_SECURITY / CLIENT_CONN_PRELOAD
+SET shared_preload_libraries = 'iconv, pcre';  -- fail, requires restart
+ERROR:  parameter "shared_preload_libraries" cannot be changed without restarting the server
+RESET shared_preload_libraries;  -- fail, requires restart
+ERROR:  parameter "shared_preload_libraries" cannot be changed without restarting the server
+ALTER SYSTEM SET shared_preload_libraries = 'iconv, pcre';  -- ok
+ALTER SYSTEM RESET shared_preload_libraries;  -- ok
+-- PGC_POSTMASTER / GUC_FILESYSTEM_SECURITY / FILE_LOCATIONS
+SET config_file = '/usr/local/data/postgresql.conf';  -- fail, requires restart
+ERROR:  parameter "config_file" cannot be changed without restarting the server
+RESET config_file;  -- fail, requires restart
+ERROR:  parameter "config_file" cannot be changed without restarting the server
+ALTER SYSTEM SET config_file = '/usr/local/data/postgresql.conf';  -- fail, cannot be changed
+ERROR:  parameter "config_file" cannot be changed
+ALTER SYSTEM RESET config_file;  -- fail, cannot be changed
+ERROR:  parameter "config_file" cannot be changed
+SET data_directory = '/usr/local/data';  -- fail, requires restart
+ERROR:  parameter "data_directory" cannot be changed without restarting the server
+RESET data_directory;  -- fail, requires restart
+ERROR:  parameter "data_directory" cannot be changed without restarting the server
+ALTER SYSTEM SET data_directory = '/usr/local/data';  -- fail, cannot be changed
+ERROR:  parameter "data_directory" cannot be changed
+ALTER SYSTEM RESET data_directory;  -- fail, cannot be changed
+ERROR:  parameter "data_directory" cannot be changed
+SET external_pid_file = '/var/postgres/master.pid';  -- fail, requires restart
+ERROR:  parameter "external_pid_file" cannot be changed without restarting the server
+RESET external_pid_file;  -- fail, requires restart
+ERROR:  parameter "external_pid_file" cannot be changed without restarting the server
+ALTER SYSTEM SET external_pid_file = '/var/postgres/master.pid';  -- ok
+ALTER SYSTEM RESET external_pid_file;  -- ok
+-- PGC_POSTMASTER / GUC_FILESYSTEM_SECURITY | GUC_INTERFACE_SETTINGS / CONN_AUTH_SETTINGS
+SET unix_socket_directories = '/tmp';  -- fail, requires restart
+ERROR:  parameter "unix_socket_directories" cannot be changed without restarting the server
+RESET unix_socket_directories;  -- fail, requires restart
+ERROR:  parameter "unix_socket_directories" cannot be changed without restarting the server
+ALTER SYSTEM SET unix_socket_directories = '/tmp';  -- ok
+ALTER SYSTEM RESET unix_socket_directories;  -- ok
+SET unix_socket_group = 'tenant';  -- fail, requires restart
+ERROR:  parameter "unix_socket_group" cannot be changed without restarting the server
+RESET unix_socket_group;  -- fail, requires restart
+ERROR:  parameter "unix_socket_group" cannot be changed without restarting the server
+ALTER SYSTEM SET unix_socket_group = 'tenant';  -- ok
+ALTER SYSTEM RESET unix_socket_group;  -- ok
+-- PGC_POSTMASTER / GUC_FILESYSTEM_SECURITY | GUC_LOGGING_SETTINGS | GUC_RESOURCE_USAGE | GUC_SECURITY_SETTINGS / LOGGING_WHERE
+SET logging_collector = ON;  -- fail, requires restart
+ERROR:  parameter "logging_collector" cannot be changed without restarting the server
+RESET logging_collector;  -- fail, requires restart
+ERROR:  parameter "logging_collector" cannot be changed without restarting the server
+ALTER SYSTEM SET logging_collector = ON;  -- ok
+ALTER SYSTEM RESET logging_collector;  -- ok
+-- PGC_POSTMASTER / GUC_INTERFACE_SETTINGS / CONN_AUTH_SETTINGS
+SET bonjour = ON;  -- fail, requires restart
+ERROR:  parameter "bonjour" cannot be changed without restarting the server
+RESET bonjour;  -- fail, requires restart
+ERROR:  parameter "bonjour" cannot be changed without restarting the server
+ALTER SYSTEM SET bonjour = ON;  -- ok
+ALTER SYSTEM RESET bonjour;  -- ok
+SET bonjour_name = 'BonneNuit';  -- fail, requires restart
+ERROR:  parameter "bonjour_name" cannot be changed without restarting the server
+RESET bonjour_name;  -- fail, requires restart
+ERROR:  parameter "bonjour_name" cannot be changed without restarting the server
+ALTER SYSTEM SET bonjour_name = 'BonneNuit';  -- ok
+ALTER SYSTEM RESET bonjour_name;  -- ok
+SET listen_addresses = 'localhost';  -- fail, requires restart
+ERROR:  parameter "listen_addresses" cannot be changed without restarting the server
+RESET listen_addresses;  -- fail, requires restart
+ERROR:  parameter "listen_addresses" cannot be changed without restarting the server
+ALTER SYSTEM SET listen_addresses = 'localhost';  -- ok
+ALTER SYSTEM RESET listen_addresses;  -- ok
+SET max_connections = 50;  -- fail, requires restart
+ERROR:  parameter "max_connections" cannot be changed without restarting the server
+RESET max_connections;  -- fail, requires restart
+ERROR:  parameter "max_connections" cannot be changed without restarting the server
+ALTER SYSTEM SET max_connections = 50;  -- ok
+ALTER SYSTEM RESET max_connections;  -- ok
+SET port = 50;  -- fail, requires restart
+ERROR:  parameter "port" cannot be changed without restarting the server
+RESET port;  -- fail, requires restart
+ERROR:  parameter "port" cannot be changed without restarting the server
+ALTER SYSTEM SET port = 50;  -- ok
+ALTER SYSTEM RESET port;  -- ok
+SET superuser_reserved_connections = 50;  -- fail, requires restart
+ERROR:  parameter "superuser_reserved_connections" cannot be changed without restarting the server
+RESET superuser_reserved_connections;  -- fail, requires restart
+ERROR:  parameter "superuser_reserved_connections" cannot be changed without restarting the server
+ALTER SYSTEM SET superuser_reserved_connections = 50;  -- ok
+ALTER SYSTEM RESET superuser_reserved_connections;  -- ok
+SET unix_socket_permissions = 50;  -- fail, requires restart
+ERROR:  parameter "unix_socket_permissions" cannot be changed without restarting the server
+RESET unix_socket_permissions;  -- fail, requires restart
+ERROR:  parameter "unix_socket_permissions" cannot be changed without restarting the server
+ALTER SYSTEM SET unix_socket_permissions = 50;  -- ok
+ALTER SYSTEM RESET unix_socket_permissions;  -- ok
+-- PGC_POSTMASTER / GUC_INTERNAL_SETTINGS | GUC_RESOURCE_USAGE / RESOURCES_MEM
+SET huge_pages = 'try';  -- fail, requires restart
+ERROR:  parameter "huge_pages" cannot be changed without restarting the server
+RESET huge_pages;  -- fail, requires restart
+ERROR:  parameter "huge_pages" cannot be changed without restarting the server
+ALTER SYSTEM SET huge_pages = 'try';  -- ok
+ALTER SYSTEM RESET huge_pages;  -- ok
+-- PGC_POSTMASTER / GUC_INTERNAL_SETTINGS | GUC_SECURITY_SETTINGS / CLIENT_CONN_PRELOAD
+SET jit_provider = 'llvmjit';  -- fail, requires restart
+ERROR:  parameter "jit_provider" cannot be changed without restarting the server
+RESET jit_provider;  -- fail, requires restart
+ERROR:  parameter "jit_provider" cannot be changed without restarting the server
+ALTER SYSTEM SET jit_provider = 'llvmjit';  -- ok
+ALTER SYSTEM RESET jit_provider;  -- ok
+-- PGC_POSTMASTER / GUC_LOGGING_SETTINGS / PROCESS_TITLE
+SET cluster_name = 'BonCluster';  -- fail, requires restart
+ERROR:  parameter "cluster_name" cannot be changed without restarting the server
+RESET cluster_name;  -- fail, requires restart
+ERROR:  parameter "cluster_name" cannot be changed without restarting the server
+ALTER SYSTEM SET cluster_name = 'BonCluster';  -- ok
+ALTER SYSTEM RESET cluster_name;  -- ok
+-- PGC_POSTMASTER / GUC_LOGGING_SETTINGS | GUC_SECURITY_SETTINGS / LOGGING_WHERE
+SET event_source = 'PostgreSQL';  -- fail, requires restart
+ERROR:  parameter "event_source" cannot be changed without restarting the server
+RESET event_source;  -- fail, requires restart
+ERROR:  parameter "event_source" cannot be changed without restarting the server
+ALTER SYSTEM SET event_source = 'PostgreSQL';  -- ok
+ALTER SYSTEM RESET event_source;  -- ok
+-- PGC_POSTMASTER / GUC_MAINTENANCE_SETTINGS / AUTOVACUUM
+SET autovacuum_freeze_max_age = 1000050000;  -- fail, requires restart
+ERROR:  parameter "autovacuum_freeze_max_age" cannot be changed without restarting the server
+RESET autovacuum_freeze_max_age;  -- fail, requires restart
+ERROR:  parameter "autovacuum_freeze_max_age" cannot be changed without restarting the server
+ALTER SYSTEM SET autovacuum_freeze_max_age = 1000050000;  -- ok
+ALTER SYSTEM RESET autovacuum_freeze_max_age;  -- ok
+SET autovacuum_multixact_freeze_max_age = 1000005000;  -- fail, requires restart
+ERROR:  parameter "autovacuum_multixact_freeze_max_age" cannot be changed without restarting the server
+RESET autovacuum_multixact_freeze_max_age;  -- fail, requires restart
+ERROR:  parameter "autovacuum_multixact_freeze_max_age" cannot be changed without restarting the server
+ALTER SYSTEM SET autovacuum_multixact_freeze_max_age = 1000005000;  -- ok
+ALTER SYSTEM RESET autovacuum_multixact_freeze_max_age;  -- ok
+-- PGC_POSTMASTER / GUC_MAINTENANCE_SETTINGS | GUC_RESOURCE_USAGE / AUTOVACUUM
+SET autovacuum_max_workers = 50;  -- fail, requires restart
+ERROR:  parameter "autovacuum_max_workers" cannot be changed without restarting the server
+RESET autovacuum_max_workers;  -- fail, requires restart
+ERROR:  parameter "autovacuum_max_workers" cannot be changed without restarting the server
+ALTER SYSTEM SET autovacuum_max_workers = 50;  -- ok
+ALTER SYSTEM RESET autovacuum_max_workers;  -- ok
+-- PGC_POSTMASTER / GUC_RESOURCE_USAGE / LOCK_MANAGEMENT
+SET max_locks_per_transaction = 50;  -- fail, requires restart
+ERROR:  parameter "max_locks_per_transaction" cannot be changed without restarting the server
+RESET max_locks_per_transaction;  -- fail, requires restart
+ERROR:  parameter "max_locks_per_transaction" cannot be changed without restarting the server
+ALTER SYSTEM SET max_locks_per_transaction = 50;  -- ok
+ALTER SYSTEM RESET max_locks_per_transaction;  -- ok
+SET max_pred_locks_per_transaction = 50;  -- fail, requires restart
+ERROR:  parameter "max_pred_locks_per_transaction" cannot be changed without restarting the server
+RESET max_pred_locks_per_transaction;  -- fail, requires restart
+ERROR:  parameter "max_pred_locks_per_transaction" cannot be changed without restarting the server
+ALTER SYSTEM SET max_pred_locks_per_transaction = 50;  -- ok
+ALTER SYSTEM RESET max_pred_locks_per_transaction;  -- ok
+-- PGC_POSTMASTER / GUC_RESOURCE_USAGE / REPLICATION_SUBSCRIBERS
+SET max_logical_replication_workers = 50;  -- fail, requires restart
+ERROR:  parameter "max_logical_replication_workers" cannot be changed without restarting the server
+RESET max_logical_replication_workers;  -- fail, requires restart
+ERROR:  parameter "max_logical_replication_workers" cannot be changed without restarting the server
+ALTER SYSTEM SET max_logical_replication_workers = 50;  -- ok
+ALTER SYSTEM RESET max_logical_replication_workers;  -- ok
+-- PGC_POSTMASTER / GUC_RESOURCE_USAGE / RESOURCES_ASYNCHRONOUS
+SET max_worker_processes = 50;  -- fail, requires restart
+ERROR:  parameter "max_worker_processes" cannot be changed without restarting the server
+RESET max_worker_processes;  -- fail, requires restart
+ERROR:  parameter "max_worker_processes" cannot be changed without restarting the server
+ALTER SYSTEM SET max_worker_processes = 50;  -- ok
+ALTER SYSTEM RESET max_worker_processes;  -- ok
+SET old_snapshot_threshold = 50;  -- fail, requires restart
+ERROR:  parameter "old_snapshot_threshold" cannot be changed without restarting the server
+RESET old_snapshot_threshold;  -- fail, requires restart
+ERROR:  parameter "old_snapshot_threshold" cannot be changed without restarting the server
+ALTER SYSTEM SET old_snapshot_threshold = 50;  -- ok
+ALTER SYSTEM RESET old_snapshot_threshold;  -- ok
+-- PGC_POSTMASTER / GUC_RESOURCE_USAGE / RESOURCES_KERNEL
+SET max_files_per_process = 1073741855;  -- fail, requires restart
+ERROR:  parameter "max_files_per_process" cannot be changed without restarting the server
+RESET max_files_per_process;  -- fail, requires restart
+ERROR:  parameter "max_files_per_process" cannot be changed without restarting the server
+ALTER SYSTEM SET max_files_per_process = 1073741855;  -- ok
+ALTER SYSTEM RESET max_files_per_process;  -- ok
+-- PGC_POSTMASTER / GUC_RESOURCE_USAGE / RESOURCES_MEM
+SET max_prepared_transactions = 50;  -- fail, requires restart
+ERROR:  parameter "max_prepared_transactions" cannot be changed without restarting the server
+RESET max_prepared_transactions;  -- fail, requires restart
+ERROR:  parameter "max_prepared_transactions" cannot be changed without restarting the server
+ALTER SYSTEM SET max_prepared_transactions = 50;  -- ok
+ALTER SYSTEM RESET max_prepared_transactions;  -- ok
+SET min_dynamic_shared_memory = 50;  -- fail, requires restart
+ERROR:  parameter "min_dynamic_shared_memory" cannot be changed without restarting the server
+RESET min_dynamic_shared_memory;  -- fail, requires restart
+ERROR:  parameter "min_dynamic_shared_memory" cannot be changed without restarting the server
+ALTER SYSTEM SET min_dynamic_shared_memory = 50;  -- ok
+ALTER SYSTEM RESET min_dynamic_shared_memory;  -- ok
+SET shared_buffers = 50;  -- fail, requires restart
+ERROR:  parameter "shared_buffers" cannot be changed without restarting the server
+RESET shared_buffers;  -- fail, requires restart
+ERROR:  parameter "shared_buffers" cannot be changed without restarting the server
+ALTER SYSTEM SET shared_buffers = 50;  -- ok
+ALTER SYSTEM RESET shared_buffers;  -- ok
+-- PGC_POSTMASTER / GUC_RESOURCE_USAGE / STATS_COLLECTOR
+SET track_activity_query_size = 524338;  -- fail, requires restart
+ERROR:  parameter "track_activity_query_size" cannot be changed without restarting the server
+RESET track_activity_query_size;  -- fail, requires restart
+ERROR:  parameter "track_activity_query_size" cannot be changed without restarting the server
+ALTER SYSTEM SET track_activity_query_size = 524338;  -- ok
+ALTER SYSTEM RESET track_activity_query_size;  -- ok
+-- PGC_POSTMASTER / GUC_RESOURCE_USAGE | GUC_WAL_SETTINGS / REPLICATION_SENDING
+SET max_replication_slots = 50;  -- fail, requires restart
+ERROR:  parameter "max_replication_slots" cannot be changed without restarting the server
+RESET max_replication_slots;  -- fail, requires restart
+ERROR:  parameter "max_replication_slots" cannot be changed without restarting the server
+ALTER SYSTEM SET max_replication_slots = 50;  -- ok
+ALTER SYSTEM RESET max_replication_slots;  -- ok
+SET max_wal_senders = 50;  -- fail, requires restart
+ERROR:  parameter "max_wal_senders" cannot be changed without restarting the server
+RESET max_wal_senders;  -- fail, requires restart
+ERROR:  parameter "max_wal_senders" cannot be changed without restarting the server
+ALTER SYSTEM SET max_wal_senders = 50;  -- ok
+ALTER SYSTEM RESET max_wal_senders;  -- ok
+-- PGC_POSTMASTER / GUC_RESOURCE_USAGE | GUC_WAL_SETTINGS / WAL_SETTINGS
+SET wal_buffers = 50;  -- fail, requires restart
+ERROR:  parameter "wal_buffers" cannot be changed without restarting the server
+RESET wal_buffers;  -- fail, requires restart
+ERROR:  parameter "wal_buffers" cannot be changed without restarting the server
+ALTER SYSTEM SET wal_buffers = 50;  -- ok
+ALTER SYSTEM RESET wal_buffers;  -- ok
+-- PGC_POSTMASTER / GUC_SERVER_CONFIGURATION / RESOURCES_MEM
+SET dynamic_shared_memory_type = 'posix';  -- fail, requires restart
+ERROR:  parameter "dynamic_shared_memory_type" cannot be changed without restarting the server
+RESET dynamic_shared_memory_type;  -- fail, requires restart
+ERROR:  parameter "dynamic_shared_memory_type" cannot be changed without restarting the server
+ALTER SYSTEM SET dynamic_shared_memory_type = 'posix';  -- ok
+ALTER SYSTEM RESET dynamic_shared_memory_type;  -- ok
+SET shared_memory_type = 'mmap';  -- fail, requires restart
+ERROR:  parameter "shared_memory_type" cannot be changed without restarting the server
+RESET shared_memory_type;  -- fail, requires restart
+ERROR:  parameter "shared_memory_type" cannot be changed without restarting the server
+ALTER SYSTEM SET shared_memory_type = 'mmap';  -- ok
+ALTER SYSTEM RESET shared_memory_type;  -- ok
+-- PGC_POSTMASTER / GUC_STORAGE_SETTINGS / DEVELOPER_OPTIONS
+SET ignore_invalid_pages = ON;  -- fail, requires restart
+ERROR:  parameter "ignore_invalid_pages" cannot be changed without restarting the server
+RESET ignore_invalid_pages;  -- fail, requires restart
+ERROR:  parameter "ignore_invalid_pages" cannot be changed without restarting the server
+ALTER SYSTEM SET ignore_invalid_pages = ON;  -- ok
+ALTER SYSTEM RESET ignore_invalid_pages;  -- ok
+-- PGC_POSTMASTER / GUC_STORAGE_SETTINGS / ERROR_HANDLING_OPTIONS
+SET data_sync_retry = ON;  -- fail, requires restart
+ERROR:  parameter "data_sync_retry" cannot be changed without restarting the server
+RESET data_sync_retry;  -- fail, requires restart
+ERROR:  parameter "data_sync_retry" cannot be changed without restarting the server
+ALTER SYSTEM SET data_sync_retry = ON;  -- ok
+ALTER SYSTEM RESET data_sync_retry;  -- ok
+-- PGC_POSTMASTER / GUC_WAL_SETTINGS / ERROR_HANDLING_OPTIONS
+SET recovery_init_sync_method = 'fsync';  -- fail, requires restart
+ERROR:  parameter "recovery_init_sync_method" cannot be changed without restarting the server
+RESET recovery_init_sync_method;  -- fail, requires restart
+ERROR:  parameter "recovery_init_sync_method" cannot be changed without restarting the server
+ALTER SYSTEM SET recovery_init_sync_method = 'fsync';  -- ok
+ALTER SYSTEM RESET recovery_init_sync_method;  -- ok
+-- PGC_POSTMASTER / GUC_WAL_SETTINGS / REPLICATION_SENDING
+SET track_commit_timestamp = ON;  -- fail, requires restart
+ERROR:  parameter "track_commit_timestamp" cannot be changed without restarting the server
+RESET track_commit_timestamp;  -- fail, requires restart
+ERROR:  parameter "track_commit_timestamp" cannot be changed without restarting the server
+ALTER SYSTEM SET track_commit_timestamp = ON;  -- ok
+ALTER SYSTEM RESET track_commit_timestamp;  -- ok
+-- PGC_POSTMASTER / GUC_WAL_SETTINGS / REPLICATION_STANDBY
+SET hot_standby = ON;  -- fail, requires restart
+ERROR:  parameter "hot_standby" cannot be changed without restarting the server
+RESET hot_standby;  -- fail, requires restart
+ERROR:  parameter "hot_standby" cannot be changed without restarting the server
+ALTER SYSTEM SET hot_standby = ON;  -- ok
+ALTER SYSTEM RESET hot_standby;  -- ok
+-- PGC_POSTMASTER / GUC_WAL_SETTINGS / WAL_ARCHIVING
+SET archive_mode = 'off';  -- fail, requires restart
+ERROR:  parameter "archive_mode" cannot be changed without restarting the server
+RESET archive_mode;  -- fail, requires restart
+ERROR:  parameter "archive_mode" cannot be changed without restarting the server
+ALTER SYSTEM SET archive_mode = 'off';  -- ok
+ALTER SYSTEM RESET archive_mode;  -- ok
+-- PGC_POSTMASTER / GUC_WAL_SETTINGS / WAL_RECOVERY_TARGET
+SET recovery_target_action = 'pause';  -- fail, requires restart
+ERROR:  parameter "recovery_target_action" cannot be changed without restarting the server
+RESET recovery_target_action;  -- fail, requires restart
+ERROR:  parameter "recovery_target_action" cannot be changed without restarting the server
+ALTER SYSTEM SET recovery_target_action = 'pause';  -- ok
+ALTER SYSTEM RESET recovery_target_action;  -- ok
+SET recovery_target_inclusive = ON;  -- fail, requires restart
+ERROR:  parameter "recovery_target_inclusive" cannot be changed without restarting the server
+RESET recovery_target_inclusive;  -- fail, requires restart
+ERROR:  parameter "recovery_target_inclusive" cannot be changed without restarting the server
+ALTER SYSTEM SET recovery_target_inclusive = ON;  -- ok
+ALTER SYSTEM RESET recovery_target_inclusive;  -- ok
+SET recovery_target_lsn = '16/B374D848';  -- fail, requires restart
+ERROR:  parameter "recovery_target_lsn" cannot be changed without restarting the server
+RESET recovery_target_lsn;  -- fail, requires restart
+ERROR:  parameter "recovery_target_lsn" cannot be changed without restarting the server
+ALTER SYSTEM SET recovery_target_lsn = '16/B374D848';  -- ok
+ALTER SYSTEM RESET recovery_target_lsn;  -- ok
+SET recovery_target_name = 'BonPoint';  -- fail, requires restart
+ERROR:  parameter "recovery_target_name" cannot be changed without restarting the server
+RESET recovery_target_name;  -- fail, requires restart
+ERROR:  parameter "recovery_target_name" cannot be changed without restarting the server
+ALTER SYSTEM SET recovery_target_name = 'BonPoint';  -- ok
+ALTER SYSTEM RESET recovery_target_name;  -- ok
+SET recovery_target_time = '2001-02-03 04:05:06.789 Europe/Helsinki';  -- fail, requires restart
+ERROR:  parameter "recovery_target_time" cannot be changed without restarting the server
+RESET recovery_target_time;  -- fail, requires restart
+ERROR:  parameter "recovery_target_time" cannot be changed without restarting the server
+ALTER SYSTEM SET recovery_target_time = '2001-02-03 04:05:06.789 Europe/Helsinki';  -- ok
+ALTER SYSTEM RESET recovery_target_time;  -- ok
+SET recovery_target_timeline = 'latest';  -- fail, requires restart
+ERROR:  parameter "recovery_target_timeline" cannot be changed without restarting the server
+RESET recovery_target_timeline;  -- fail, requires restart
+ERROR:  parameter "recovery_target_timeline" cannot be changed without restarting the server
+ALTER SYSTEM SET recovery_target_timeline = 'latest';  -- ok
+ALTER SYSTEM RESET recovery_target_timeline;  -- ok
+SET recovery_target_xid = '12345678';  -- fail, requires restart
+ERROR:  parameter "recovery_target_xid" cannot be changed without restarting the server
+RESET recovery_target_xid;  -- fail, requires restart
+ERROR:  parameter "recovery_target_xid" cannot be changed without restarting the server
+ALTER SYSTEM SET recovery_target_xid = '12345678';  -- ok
+ALTER SYSTEM RESET recovery_target_xid;  -- ok
+-- PGC_POSTMASTER / GUC_WAL_SETTINGS / WAL_SETTINGS
+SET wal_level = 'replica';  -- fail, requires restart
+ERROR:  parameter "wal_level" cannot be changed without restarting the server
+RESET wal_level;  -- fail, requires restart
+ERROR:  parameter "wal_level" cannot be changed without restarting the server
+ALTER SYSTEM SET wal_level = 'replica';  -- ok
+ALTER SYSTEM RESET wal_level;  -- ok
+SET wal_log_hints = ON;  -- fail, requires restart
+ERROR:  parameter "wal_log_hints" cannot be changed without restarting the server
+RESET wal_log_hints;  -- fail, requires restart
+ERROR:  parameter "wal_log_hints" cannot be changed without restarting the server
+ALTER SYSTEM SET wal_log_hints = ON;  -- ok
+ALTER SYSTEM RESET wal_log_hints;  -- ok
+-- PGC_SIGHUP / GUC_EXEC_COMMAND / WAL_ARCHIVE_RECOVERY
+SET archive_cleanup_command = '/bin/cleanup my stuff';  -- fail, requires reload
+ERROR:  parameter "archive_cleanup_command" cannot be changed now
+RESET archive_cleanup_command;  -- fail, requires reload
+ERROR:  parameter "archive_cleanup_command" cannot be changed now
+ALTER SYSTEM SET archive_cleanup_command = '/bin/cleanup my stuff';  -- ok
+ALTER SYSTEM RESET archive_cleanup_command;  -- ok
+SET recovery_end_command = '/bin/recover my stuff';  -- fail, requires reload
+ERROR:  parameter "recovery_end_command" cannot be changed now
+RESET recovery_end_command;  -- fail, requires reload
+ERROR:  parameter "recovery_end_command" cannot be changed now
+ALTER SYSTEM SET recovery_end_command = '/bin/recover my stuff';  -- ok
+ALTER SYSTEM RESET recovery_end_command;  -- ok
+SET restore_command = '/bin/restore my stuff';  -- fail, requires reload
+ERROR:  parameter "restore_command" cannot be changed now
+RESET restore_command;  -- fail, requires reload
+ERROR:  parameter "restore_command" cannot be changed now
+ALTER SYSTEM SET restore_command = '/bin/restore my stuff';  -- ok
+ALTER SYSTEM RESET restore_command;  -- ok
+-- PGC_SIGHUP / GUC_EXEC_COMMAND / WAL_ARCHIVING
+SET archive_command = '/bin/archive my stuff';  -- fail, requires reload
+ERROR:  parameter "archive_command" cannot be changed now
+RESET archive_command;  -- fail, requires reload
+ERROR:  parameter "archive_command" cannot be changed now
+ALTER SYSTEM SET archive_command = '/bin/archive my stuff';  -- ok
+ALTER SYSTEM RESET archive_command;  -- ok
+-- PGC_SIGHUP / GUC_FILESYSTEM_SECURITY / CONN_AUTH_SSL
+SET ssl_ca_file = 'ca/server.ca';  -- fail, requires reload
+ERROR:  parameter "ssl_ca_file" cannot be changed now
+RESET ssl_ca_file;  -- fail, requires reload
+ERROR:  parameter "ssl_ca_file" cannot be changed now
+ALTER SYSTEM SET ssl_ca_file = 'ca/server.ca';  -- ok
+ALTER SYSTEM RESET ssl_ca_file;  -- ok
+SET ssl_cert_file = 'crt/server.crt';  -- fail, requires reload
+ERROR:  parameter "ssl_cert_file" cannot be changed now
+RESET ssl_cert_file;  -- fail, requires reload
+ERROR:  parameter "ssl_cert_file" cannot be changed now
+ALTER SYSTEM SET ssl_cert_file = 'crt/server.crt';  -- ok
+ALTER SYSTEM RESET ssl_cert_file;  -- ok
+SET ssl_crl_file = 'crl/server.crl';  -- fail, requires reload
+ERROR:  parameter "ssl_crl_file" cannot be changed now
+RESET ssl_crl_file;  -- fail, requires reload
+ERROR:  parameter "ssl_crl_file" cannot be changed now
+ALTER SYSTEM SET ssl_crl_file = 'crl/server.crl';  -- ok
+ALTER SYSTEM RESET ssl_crl_file;  -- ok
+SET ssl_key_file = 'crl/server.key';  -- fail, requires reload
+ERROR:  parameter "ssl_key_file" cannot be changed now
+RESET ssl_key_file;  -- fail, requires reload
+ERROR:  parameter "ssl_key_file" cannot be changed now
+ALTER SYSTEM SET ssl_key_file = 'crl/server.key';  -- ok
+ALTER SYSTEM RESET ssl_key_file;  -- ok
+-- PGC_SIGHUP / GUC_FILESYSTEM_SECURITY / STATS_COLLECTOR
+SET stats_temp_directory = 'pg_stat_tmp';  -- fail, requires reload
+ERROR:  parameter "stats_temp_directory" cannot be changed now
+RESET stats_temp_directory;  -- fail, requires reload
+ERROR:  parameter "stats_temp_directory" cannot be changed now
+ALTER SYSTEM SET stats_temp_directory = 'pg_stat_tmp';  -- ok
+ALTER SYSTEM RESET stats_temp_directory;  -- ok
+-- PGC_SIGHUP / GUC_FILESYSTEM_SECURITY | GUC_INTERFACE_SETTINGS / CONN_AUTH_AUTH
+SET krb_server_keyfile = 'krb/server.key';  -- fail, requires reload
+ERROR:  parameter "krb_server_keyfile" cannot be changed now
+RESET krb_server_keyfile;  -- fail, requires reload
+ERROR:  parameter "krb_server_keyfile" cannot be changed now
+ALTER SYSTEM SET krb_server_keyfile = 'krb/server.key';  -- ok
+ALTER SYSTEM RESET krb_server_keyfile;  -- ok
+-- PGC_SIGHUP / GUC_FILESYSTEM_SECURITY | GUC_LOGGING_SETTINGS / LOGGING_WHERE
+SET log_file_mode = 50;  -- fail, requires reload
+ERROR:  parameter "log_file_mode" cannot be changed now
+RESET log_file_mode;  -- fail, requires reload
+ERROR:  parameter "log_file_mode" cannot be changed now
+ALTER SYSTEM SET log_file_mode = 50;  -- ok
+ALTER SYSTEM RESET log_file_mode;  -- ok
+-- PGC_SIGHUP / GUC_FILESYSTEM_SECURITY | GUC_LOGGING_SETTINGS | GUC_RESOURCE_USAGE | GUC_SECURITY_SETTINGS / LOGGING_WHERE
+SET log_rotation_age = 50;  -- fail, requires reload
+ERROR:  parameter "log_rotation_age" cannot be changed now
+RESET log_rotation_age;  -- fail, requires reload
+ERROR:  parameter "log_rotation_age" cannot be changed now
+ALTER SYSTEM SET log_rotation_age = 50;  -- ok
+ALTER SYSTEM RESET log_rotation_age;  -- ok
+SET log_rotation_size = 50;  -- fail, requires reload
+ERROR:  parameter "log_rotation_size" cannot be changed now
+RESET log_rotation_size;  -- fail, requires reload
+ERROR:  parameter "log_rotation_size" cannot be changed now
+ALTER SYSTEM SET log_rotation_size = 50;  -- ok
+ALTER SYSTEM RESET log_rotation_size;  -- ok
+SET log_truncate_on_rotation = ON;  -- fail, requires reload
+ERROR:  parameter "log_truncate_on_rotation" cannot be changed now
+RESET log_truncate_on_rotation;  -- fail, requires reload
+ERROR:  parameter "log_truncate_on_rotation" cannot be changed now
+ALTER SYSTEM SET log_truncate_on_rotation = ON;  -- ok
+ALTER SYSTEM RESET log_truncate_on_rotation;  -- ok
+-- PGC_SIGHUP / GUC_FILESYSTEM_SECURITY | GUC_SECURITY_SETTINGS / CONN_AUTH_SSL
+SET ssl_crl_dir = 'crl/';  -- fail, requires reload
+ERROR:  parameter "ssl_crl_dir" cannot be changed now
+RESET ssl_crl_dir;  -- fail, requires reload
+ERROR:  parameter "ssl_crl_dir" cannot be changed now
+ALTER SYSTEM SET ssl_crl_dir = 'crl/';  -- ok
+ALTER SYSTEM RESET ssl_crl_dir;  -- ok
+-- PGC_SIGHUP / GUC_FILESYSTEM_SECURITY | GUC_SECURITY_SETTINGS / LOGGING_WHERE
+SET log_directory = 'log';  -- fail, requires reload
+ERROR:  parameter "log_directory" cannot be changed now
+RESET log_directory;  -- fail, requires reload
+ERROR:  parameter "log_directory" cannot be changed now
+ALTER SYSTEM SET log_directory = 'log';  -- ok
+ALTER SYSTEM RESET log_directory;  -- ok
+SET log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log';  -- fail, requires reload
+ERROR:  parameter "log_filename" cannot be changed now
+RESET log_filename;  -- fail, requires reload
+ERROR:  parameter "log_filename" cannot be changed now
+ALTER SYSTEM SET log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log';  -- ok
+ALTER SYSTEM RESET log_filename;  -- ok
+-- PGC_SIGHUP / GUC_INTERFACE_SETTINGS / CONN_AUTH_AUTH
+SET authentication_timeout = 50;  -- fail, requires reload
+ERROR:  parameter "authentication_timeout" cannot be changed now
+RESET authentication_timeout;  -- fail, requires reload
+ERROR:  parameter "authentication_timeout" cannot be changed now
+ALTER SYSTEM SET authentication_timeout = 50;  -- ok
+ALTER SYSTEM RESET authentication_timeout;  -- ok
+SET db_user_namespace = ON;  -- fail, requires reload
+ERROR:  parameter "db_user_namespace" cannot be changed now
+RESET db_user_namespace;  -- fail, requires reload
+ERROR:  parameter "db_user_namespace" cannot be changed now
+ALTER SYSTEM SET db_user_namespace = ON;  -- ok
+ALTER SYSTEM RESET db_user_namespace;  -- ok
+SET krb_caseins_users = ON;  -- fail, requires reload
+ERROR:  parameter "krb_caseins_users" cannot be changed now
+RESET krb_caseins_users;  -- fail, requires reload
+ERROR:  parameter "krb_caseins_users" cannot be changed now
+ALTER SYSTEM SET krb_caseins_users = ON;  -- ok
+ALTER SYSTEM RESET krb_caseins_users;  -- ok
+-- PGC_SIGHUP / GUC_INTERFACE_SETTINGS / CONN_AUTH_SSL
+SET ssl_ciphers = 'none';  -- fail, requires reload
+ERROR:  parameter "ssl_ciphers" cannot be changed now
+RESET ssl_ciphers;  -- fail, requires reload
+ERROR:  parameter "ssl_ciphers" cannot be changed now
+ALTER SYSTEM SET ssl_ciphers = 'none';  -- ok
+ALTER SYSTEM RESET ssl_ciphers;  -- ok
+SET ssl_dh_params_file = 'ssl/params';  -- fail, requires reload
+ERROR:  parameter "ssl_dh_params_file" cannot be changed now
+RESET ssl_dh_params_file;  -- fail, requires reload
+ERROR:  parameter "ssl_dh_params_file" cannot be changed now
+ALTER SYSTEM SET ssl_dh_params_file = 'ssl/params';  -- ok
+ALTER SYSTEM RESET ssl_dh_params_file;  -- ok
+SET ssl_ecdh_curve = 'none';  -- fail, requires reload
+ERROR:  parameter "ssl_ecdh_curve" cannot be changed now
+RESET ssl_ecdh_curve;  -- fail, requires reload
+ERROR:  parameter "ssl_ecdh_curve" cannot be changed now
+ALTER SYSTEM SET ssl_ecdh_curve = 'none';  -- ok
+ALTER SYSTEM RESET ssl_ecdh_curve;  -- ok
+SET ssl_min_protocol_version = 'TLSv1.2';  -- fail, requires reload
+ERROR:  parameter "ssl_min_protocol_version" cannot be changed now
+RESET ssl_min_protocol_version;  -- fail, requires reload
+ERROR:  parameter "ssl_min_protocol_version" cannot be changed now
+ALTER SYSTEM SET ssl_min_protocol_version = 'TLSv1.2';  -- ok
+ALTER SYSTEM RESET ssl_min_protocol_version;  -- ok
+SET ssl_passphrase_command = '/bin/passphrase';  -- fail, requires reload
+ERROR:  parameter "ssl_passphrase_command" cannot be changed now
+RESET ssl_passphrase_command;  -- fail, requires reload
+ERROR:  parameter "ssl_passphrase_command" cannot be changed now
+ALTER SYSTEM SET ssl_passphrase_command = '/bin/passphrase';  -- ok
+ALTER SYSTEM RESET ssl_passphrase_command;  -- ok
+SET ssl_passphrase_command_supports_reload = ON;  -- fail, requires reload
+ERROR:  parameter "ssl_passphrase_command_supports_reload" cannot be changed now
+RESET ssl_passphrase_command_supports_reload;  -- fail, requires reload
+ERROR:  parameter "ssl_passphrase_command_supports_reload" cannot be changed now
+ALTER SYSTEM SET ssl_passphrase_command_supports_reload = ON;  -- ok
+ALTER SYSTEM RESET ssl_passphrase_command_supports_reload;  -- ok
+SET ssl_prefer_server_ciphers = ON;  -- fail, requires reload
+ERROR:  parameter "ssl_prefer_server_ciphers" cannot be changed now
+RESET ssl_prefer_server_ciphers;  -- fail, requires reload
+ERROR:  parameter "ssl_prefer_server_ciphers" cannot be changed now
+ALTER SYSTEM SET ssl_prefer_server_ciphers = ON;  -- ok
+ALTER SYSTEM RESET ssl_prefer_server_ciphers;  -- ok
+-- PGC_SIGHUP / GUC_INTERFACE_SETTINGS / DEVELOPER_OPTIONS
+SET pre_auth_delay = 50;  -- fail, requires reload
+ERROR:  parameter "pre_auth_delay" cannot be changed now
+RESET pre_auth_delay;  -- fail, requires reload
+ERROR:  parameter "pre_auth_delay" cannot be changed now
+ALTER SYSTEM SET pre_auth_delay = 50;  -- ok
+ALTER SYSTEM RESET pre_auth_delay;  -- ok
+-- PGC_SIGHUP / GUC_INTERFACE_SETTINGS | GUC_LOGGING_SETTINGS / LOGGING_WHAT
+SET log_hostname = ON;  -- fail, requires reload
+ERROR:  parameter "log_hostname" cannot be changed now
+RESET log_hostname;  -- fail, requires reload
+ERROR:  parameter "log_hostname" cannot be changed now
+ALTER SYSTEM SET log_hostname = ON;  -- ok
+ALTER SYSTEM RESET log_hostname;  -- ok
+-- PGC_SIGHUP / GUC_LOGGING_SETTINGS / LOGGING_WHAT
+SET log_autovacuum_min_duration = 50;  -- fail, requires reload
+ERROR:  parameter "log_autovacuum_min_duration" cannot be changed now
+RESET log_autovacuum_min_duration;  -- fail, requires reload
+ERROR:  parameter "log_autovacuum_min_duration" cannot be changed now
+ALTER SYSTEM SET log_autovacuum_min_duration = 50;  -- ok
+ALTER SYSTEM RESET log_autovacuum_min_duration;  -- ok
+SET log_checkpoints = ON;  -- fail, requires reload
+ERROR:  parameter "log_checkpoints" cannot be changed now
+RESET log_checkpoints;  -- fail, requires reload
+ERROR:  parameter "log_checkpoints" cannot be changed now
+ALTER SYSTEM SET log_checkpoints = ON;  -- ok
+ALTER SYSTEM RESET log_checkpoints;  -- ok
+SET log_line_prefix = '%m [%p] ';  -- fail, requires reload
+ERROR:  parameter "log_line_prefix" cannot be changed now
+RESET log_line_prefix;  -- fail, requires reload
+ERROR:  parameter "log_line_prefix" cannot be changed now
+ALTER SYSTEM SET log_line_prefix = '%m [%p] ';  -- ok
+ALTER SYSTEM RESET log_line_prefix;  -- ok
+SET log_recovery_conflict_waits = ON;  -- fail, requires reload
+ERROR:  parameter "log_recovery_conflict_waits" cannot be changed now
+RESET log_recovery_conflict_waits;  -- fail, requires reload
+ERROR:  parameter "log_recovery_conflict_waits" cannot be changed now
+ALTER SYSTEM SET log_recovery_conflict_waits = ON;  -- ok
+ALTER SYSTEM RESET log_recovery_conflict_waits;  -- ok
+SET log_timezone = 'Europe/Helsinki';  -- fail, requires reload
+ERROR:  parameter "log_timezone" cannot be changed now
+RESET log_timezone;  -- fail, requires reload
+ERROR:  parameter "log_timezone" cannot be changed now
+ALTER SYSTEM SET log_timezone = 'Europe/Helsinki';  -- ok
+ALTER SYSTEM RESET log_timezone;  -- ok
+-- PGC_SIGHUP / GUC_LOGGING_SETTINGS | GUC_SECURITY_SETTINGS / LOGGING_WHERE
+SET syslog_ident = 'postgres';  -- fail, requires reload
+ERROR:  parameter "syslog_ident" cannot be changed now
+RESET syslog_ident;  -- fail, requires reload
+ERROR:  parameter "syslog_ident" cannot be changed now
+ALTER SYSTEM SET syslog_ident = 'postgres';  -- ok
+ALTER SYSTEM RESET syslog_ident;  -- ok
+SET syslog_sequence_numbers = ON;  -- fail, requires reload
+ERROR:  parameter "syslog_sequence_numbers" cannot be changed now
+RESET syslog_sequence_numbers;  -- fail, requires reload
+ERROR:  parameter "syslog_sequence_numbers" cannot be changed now
+ALTER SYSTEM SET syslog_sequence_numbers = ON;  -- ok
+ALTER SYSTEM RESET syslog_sequence_numbers;  -- ok
+SET syslog_split_messages = ON;  -- fail, requires reload
+ERROR:  parameter "syslog_split_messages" cannot be changed now
+RESET syslog_split_messages;  -- fail, requires reload
+ERROR:  parameter "syslog_split_messages" cannot be changed now
+ALTER SYSTEM SET syslog_split_messages = ON;  -- ok
+ALTER SYSTEM RESET syslog_split_messages;  -- ok
+-- PGC_SIGHUP / GUC_LOGGING_SETTINGS | GUC_WAL_SETTINGS / DEVELOPER_OPTIONS
+SET trace_recovery_messages = 'log';  -- fail, requires reload
+ERROR:  parameter "trace_recovery_messages" cannot be changed now
+RESET trace_recovery_messages;  -- fail, requires reload
+ERROR:  parameter "trace_recovery_messages" cannot be changed now
+ALTER SYSTEM SET trace_recovery_messages = 'log';  -- ok
+ALTER SYSTEM RESET trace_recovery_messages;  -- ok
+-- PGC_SIGHUP / GUC_LOGGING_SETTINGS | GUC_WAL_SETTINGS / WAL_CHECKPOINTS
+SET checkpoint_warning = 50;  -- fail, requires reload
+ERROR:  parameter "checkpoint_warning" cannot be changed now
+RESET checkpoint_warning;  -- fail, requires reload
+ERROR:  parameter "checkpoint_warning" cannot be changed now
+ALTER SYSTEM SET checkpoint_warning = 50;  -- ok
+ALTER SYSTEM RESET checkpoint_warning;  -- ok
+-- PGC_SIGHUP / GUC_MAINTENANCE_SETTINGS / AUTOVACUUM
+SET autovacuum_analyze_scale_factor = 50;  -- fail, requires reload
+ERROR:  parameter "autovacuum_analyze_scale_factor" cannot be changed now
+RESET autovacuum_analyze_scale_factor;  -- fail, requires reload
+ERROR:  parameter "autovacuum_analyze_scale_factor" cannot be changed now
+ALTER SYSTEM SET autovacuum_analyze_scale_factor = 50;  -- ok
+ALTER SYSTEM RESET autovacuum_analyze_scale_factor;  -- ok
+SET autovacuum_analyze_threshold = 50;  -- fail, requires reload
+ERROR:  parameter "autovacuum_analyze_threshold" cannot be changed now
+RESET autovacuum_analyze_threshold;  -- fail, requires reload
+ERROR:  parameter "autovacuum_analyze_threshold" cannot be changed now
+ALTER SYSTEM SET autovacuum_analyze_threshold = 50;  -- ok
+ALTER SYSTEM RESET autovacuum_analyze_threshold;  -- ok
+SET autovacuum_naptime = 50;  -- fail, requires reload
+ERROR:  parameter "autovacuum_naptime" cannot be changed now
+RESET autovacuum_naptime;  -- fail, requires reload
+ERROR:  parameter "autovacuum_naptime" cannot be changed now
+ALTER SYSTEM SET autovacuum_naptime = 50;  -- ok
+ALTER SYSTEM RESET autovacuum_naptime;  -- ok
+SET autovacuum_vacuum_cost_delay = 50;  -- fail, requires reload
+ERROR:  parameter "autovacuum_vacuum_cost_delay" cannot be changed now
+RESET autovacuum_vacuum_cost_delay;  -- fail, requires reload
+ERROR:  parameter "autovacuum_vacuum_cost_delay" cannot be changed now
+ALTER SYSTEM SET autovacuum_vacuum_cost_delay = 50;  -- ok
+ALTER SYSTEM RESET autovacuum_vacuum_cost_delay;  -- ok
+SET autovacuum_vacuum_cost_limit = 50;  -- fail, requires reload
+ERROR:  parameter "autovacuum_vacuum_cost_limit" cannot be changed now
+RESET autovacuum_vacuum_cost_limit;  -- fail, requires reload
+ERROR:  parameter "autovacuum_vacuum_cost_limit" cannot be changed now
+ALTER SYSTEM SET autovacuum_vacuum_cost_limit = 50;  -- ok
+ALTER SYSTEM RESET autovacuum_vacuum_cost_limit;  -- ok
+SET autovacuum_vacuum_insert_scale_factor = 50;  -- fail, requires reload
+ERROR:  parameter "autovacuum_vacuum_insert_scale_factor" cannot be changed now
+RESET autovacuum_vacuum_insert_scale_factor;  -- fail, requires reload
+ERROR:  parameter "autovacuum_vacuum_insert_scale_factor" cannot be changed now
+ALTER SYSTEM SET autovacuum_vacuum_insert_scale_factor = 50;  -- ok
+ALTER SYSTEM RESET autovacuum_vacuum_insert_scale_factor;  -- ok
+SET autovacuum_vacuum_insert_threshold = 50;  -- fail, requires reload
+ERROR:  parameter "autovacuum_vacuum_insert_threshold" cannot be changed now
+RESET autovacuum_vacuum_insert_threshold;  -- fail, requires reload
+ERROR:  parameter "autovacuum_vacuum_insert_threshold" cannot be changed now
+ALTER SYSTEM SET autovacuum_vacuum_insert_threshold = 50;  -- ok
+ALTER SYSTEM RESET autovacuum_vacuum_insert_threshold;  -- ok
+SET autovacuum_vacuum_scale_factor = 50;  -- fail, requires reload
+ERROR:  parameter "autovacuum_vacuum_scale_factor" cannot be changed now
+RESET autovacuum_vacuum_scale_factor;  -- fail, requires reload
+ERROR:  parameter "autovacuum_vacuum_scale_factor" cannot be changed now
+ALTER SYSTEM SET autovacuum_vacuum_scale_factor = 50;  -- ok
+ALTER SYSTEM RESET autovacuum_vacuum_scale_factor;  -- ok
+SET autovacuum_vacuum_threshold = 50;  -- fail, requires reload
+ERROR:  parameter "autovacuum_vacuum_threshold" cannot be changed now
+RESET autovacuum_vacuum_threshold;  -- fail, requires reload
+ERROR:  parameter "autovacuum_vacuum_threshold" cannot be changed now
+ALTER SYSTEM SET autovacuum_vacuum_threshold = 50;  -- ok
+ALTER SYSTEM RESET autovacuum_vacuum_threshold;  -- ok
+-- PGC_SIGHUP / GUC_MAINTENANCE_SETTINGS / REPLICATION_PRIMARY
+SET vacuum_defer_cleanup_age = 50;  -- fail, requires reload
+ERROR:  parameter "vacuum_defer_cleanup_age" cannot be changed now
+RESET vacuum_defer_cleanup_age;  -- fail, requires reload
+ERROR:  parameter "vacuum_defer_cleanup_age" cannot be changed now
+ALTER SYSTEM SET vacuum_defer_cleanup_age = 50;  -- ok
+ALTER SYSTEM RESET vacuum_defer_cleanup_age;  -- ok
+-- PGC_SIGHUP / GUC_MAINTENANCE_SETTINGS | GUC_RESOURCE_USAGE / AUTOVACUUM
+SET autovacuum = ON;  -- fail, requires reload
+ERROR:  parameter "autovacuum" cannot be changed now
+RESET autovacuum;  -- fail, requires reload
+ERROR:  parameter "autovacuum" cannot be changed now
+ALTER SYSTEM SET autovacuum = ON;  -- ok
+ALTER SYSTEM RESET autovacuum;  -- ok
+-- PGC_SIGHUP / GUC_MAINTENANCE_SETTINGS | GUC_RESOURCE_USAGE / RESOURCES_MEM
+SET autovacuum_work_mem = 50;  -- fail, requires reload
+ERROR:  parameter "autovacuum_work_mem" cannot be changed now
+RESET autovacuum_work_mem;  -- fail, requires reload
+ERROR:  parameter "autovacuum_work_mem" cannot be changed now
+ALTER SYSTEM SET autovacuum_work_mem = 50;  -- ok
+ALTER SYSTEM RESET autovacuum_work_mem;  -- ok
+-- PGC_SIGHUP / GUC_RESOURCE_USAGE / LOCK_MANAGEMENT
+SET max_pred_locks_per_page = 50;  -- fail, requires reload
+ERROR:  parameter "max_pred_locks_per_page" cannot be changed now
+RESET max_pred_locks_per_page;  -- fail, requires reload
+ERROR:  parameter "max_pred_locks_per_page" cannot be changed now
+ALTER SYSTEM SET max_pred_locks_per_page = 50;  -- ok
+ALTER SYSTEM RESET max_pred_locks_per_page;  -- ok
+SET max_pred_locks_per_relation = 50;  -- fail, requires reload
+ERROR:  parameter "max_pred_locks_per_relation" cannot be changed now
+RESET max_pred_locks_per_relation;  -- fail, requires reload
+ERROR:  parameter "max_pred_locks_per_relation" cannot be changed now
+ALTER SYSTEM SET max_pred_locks_per_relation = 50;  -- ok
+ALTER SYSTEM RESET max_pred_locks_per_relation;  -- ok
+-- PGC_SIGHUP / GUC_RESOURCE_USAGE / REPLICATION_SUBSCRIBERS
+SET max_sync_workers_per_subscription = 50;  -- fail, requires reload
+ERROR:  parameter "max_sync_workers_per_subscription" cannot be changed now
+RESET max_sync_workers_per_subscription;  -- fail, requires reload
+ERROR:  parameter "max_sync_workers_per_subscription" cannot be changed now
+ALTER SYSTEM SET max_sync_workers_per_subscription = 50;  -- ok
+ALTER SYSTEM RESET max_sync_workers_per_subscription;  -- ok
+-- PGC_SIGHUP / GUC_RESOURCE_USAGE / RESOURCES_BGWRITER
+SET bgwriter_delay = 50;  -- fail, requires reload
+ERROR:  parameter "bgwriter_delay" cannot be changed now
+RESET bgwriter_delay;  -- fail, requires reload
+ERROR:  parameter "bgwriter_delay" cannot be changed now
+ALTER SYSTEM SET bgwriter_delay = 50;  -- ok
+ALTER SYSTEM RESET bgwriter_delay;  -- ok
+SET bgwriter_flush_after = 50;  -- fail, requires reload
+ERROR:  parameter "bgwriter_flush_after" cannot be changed now
+RESET bgwriter_flush_after;  -- fail, requires reload
+ERROR:  parameter "bgwriter_flush_after" cannot be changed now
+ALTER SYSTEM SET bgwriter_flush_after = 50;  -- ok
+ALTER SYSTEM RESET bgwriter_flush_after;  -- ok
+SET bgwriter_lru_maxpages = 50;  -- fail, requires reload
+ERROR:  parameter "bgwriter_lru_maxpages" cannot be changed now
+RESET bgwriter_lru_maxpages;  -- fail, requires reload
+ERROR:  parameter "bgwriter_lru_maxpages" cannot be changed now
+ALTER SYSTEM SET bgwriter_lru_maxpages = 50;  -- ok
+ALTER SYSTEM RESET bgwriter_lru_maxpages;  -- ok
+SET bgwriter_lru_multiplier = 5;  -- fail, requires reload
+ERROR:  parameter "bgwriter_lru_multiplier" cannot be changed now
+RESET bgwriter_lru_multiplier;  -- fail, requires reload
+ERROR:  parameter "bgwriter_lru_multiplier" cannot be changed now
+ALTER SYSTEM SET bgwriter_lru_multiplier = 5;  -- ok
+ALTER SYSTEM RESET bgwriter_lru_multiplier;  -- ok
+-- PGC_SIGHUP / GUC_RESOURCE_USAGE | GUC_WAL_SETTINGS / REPLICATION_SENDING
+SET max_slot_wal_keep_size = 50;  -- fail, requires reload
+ERROR:  parameter "max_slot_wal_keep_size" cannot be changed now
+RESET max_slot_wal_keep_size;  -- fail, requires reload
+ERROR:  parameter "max_slot_wal_keep_size" cannot be changed now
+ALTER SYSTEM SET max_slot_wal_keep_size = 50;  -- ok
+ALTER SYSTEM RESET max_slot_wal_keep_size;  -- ok
+-- PGC_SIGHUP / GUC_WAL_SETTINGS / ERROR_HANDLING_OPTIONS
+SET remove_temp_files_after_crash = ON;  -- fail, requires reload
+ERROR:  parameter "remove_temp_files_after_crash" cannot be changed now
+RESET remove_temp_files_after_crash;  -- fail, requires reload
+ERROR:  parameter "remove_temp_files_after_crash" cannot be changed now
+ALTER SYSTEM SET remove_temp_files_after_crash = ON;  -- ok
+ALTER SYSTEM RESET remove_temp_files_after_crash;  -- ok
+SET restart_after_crash = ON;  -- fail, requires reload
+ERROR:  parameter "restart_after_crash" cannot be changed now
+RESET restart_after_crash;  -- fail, requires reload
+ERROR:  parameter "restart_after_crash" cannot be changed now
+ALTER SYSTEM SET restart_after_crash = ON;  -- ok
+ALTER SYSTEM RESET restart_after_crash;  -- ok
+-- PGC_SIGHUP / GUC_WAL_SETTINGS / REPLICATION_PRIMARY
+SET synchronous_standby_names = 'fee, fi, fo, fum';  -- fail, requires reload
+ERROR:  parameter "synchronous_standby_names" cannot be changed now
+RESET synchronous_standby_names;  -- fail, requires reload
+ERROR:  parameter "synchronous_standby_names" cannot be changed now
+ALTER SYSTEM SET synchronous_standby_names = 'fee, fi, fo, fum';  -- ok
+ALTER SYSTEM RESET synchronous_standby_names;  -- ok
+-- PGC_SIGHUP / GUC_WAL_SETTINGS / REPLICATION_SENDING
+SET wal_keep_size = 50;  -- fail, requires reload
+ERROR:  parameter "wal_keep_size" cannot be changed now
+RESET wal_keep_size;  -- fail, requires reload
+ERROR:  parameter "wal_keep_size" cannot be changed now
+ALTER SYSTEM SET wal_keep_size = 50;  -- ok
+ALTER SYSTEM RESET wal_keep_size;  -- ok
+-- PGC_SIGHUP / GUC_WAL_SETTINGS / REPLICATION_STANDBY
+SET hot_standby_feedback = ON;  -- fail, requires reload
+ERROR:  parameter "hot_standby_feedback" cannot be changed now
+RESET hot_standby_feedback;  -- fail, requires reload
+ERROR:  parameter "hot_standby_feedback" cannot be changed now
+ALTER SYSTEM SET hot_standby_feedback = ON;  -- ok
+ALTER SYSTEM RESET hot_standby_feedback;  -- ok
+SET max_standby_archive_delay = 50;  -- fail, requires reload
+ERROR:  parameter "max_standby_archive_delay" cannot be changed now
+RESET max_standby_archive_delay;  -- fail, requires reload
+ERROR:  parameter "max_standby_archive_delay" cannot be changed now
+ALTER SYSTEM SET max_standby_archive_delay = 50;  -- ok
+ALTER SYSTEM RESET max_standby_archive_delay;  -- ok
+SET max_standby_streaming_delay = 50;  -- fail, requires reload
+ERROR:  parameter "max_standby_streaming_delay" cannot be changed now
+RESET max_standby_streaming_delay;  -- fail, requires reload
+ERROR:  parameter "max_standby_streaming_delay" cannot be changed now
+ALTER SYSTEM SET max_standby_streaming_delay = 50;  -- ok
+ALTER SYSTEM RESET max_standby_streaming_delay;  -- ok
+SET primary_conninfo = 'postgresql://other@localhost/otherdb?connect_timeout=10&application_name=myapp';  -- fail, requires reload
+ERROR:  parameter "primary_conninfo" cannot be changed now
+RESET primary_conninfo;  -- fail, requires reload
+ERROR:  parameter "primary_conninfo" cannot be changed now
+ALTER SYSTEM SET primary_conninfo = 'postgresql://other@localhost/otherdb?connect_timeout=10&application_name=myapp';  -- ok
+ALTER SYSTEM RESET primary_conninfo;  -- ok
+SET primary_slot_name = 'bonne_fente';  -- fail, requires reload
+ERROR:  parameter "primary_slot_name" cannot be changed now
+RESET primary_slot_name;  -- fail, requires reload
+ERROR:  parameter "primary_slot_name" cannot be changed now
+ALTER SYSTEM SET primary_slot_name = 'bonne_fente';  -- ok
+ALTER SYSTEM RESET primary_slot_name;  -- ok
+SET promote_trigger_file = 'promote.trigger';  -- fail, requires reload
+ERROR:  parameter "promote_trigger_file" cannot be changed now
+RESET promote_trigger_file;  -- fail, requires reload
+ERROR:  parameter "promote_trigger_file" cannot be changed now
+ALTER SYSTEM SET promote_trigger_file = 'promote.trigger';  -- ok
+ALTER SYSTEM RESET promote_trigger_file;  -- ok
+SET recovery_min_apply_delay = 50;  -- fail, requires reload
+ERROR:  parameter "recovery_min_apply_delay" cannot be changed now
+RESET recovery_min_apply_delay;  -- fail, requires reload
+ERROR:  parameter "recovery_min_apply_delay" cannot be changed now
+ALTER SYSTEM SET recovery_min_apply_delay = 50;  -- ok
+ALTER SYSTEM RESET recovery_min_apply_delay;  -- ok
+SET wal_receiver_create_temp_slot = ON;  -- fail, requires reload
+ERROR:  parameter "wal_receiver_create_temp_slot" cannot be changed now
+RESET wal_receiver_create_temp_slot;  -- fail, requires reload
+ERROR:  parameter "wal_receiver_create_temp_slot" cannot be changed now
+ALTER SYSTEM SET wal_receiver_create_temp_slot = ON;  -- ok
+ALTER SYSTEM RESET wal_receiver_create_temp_slot;  -- ok
+SET wal_receiver_status_interval = 50;  -- fail, requires reload
+ERROR:  parameter "wal_receiver_status_interval" cannot be changed now
+RESET wal_receiver_status_interval;  -- fail, requires reload
+ERROR:  parameter "wal_receiver_status_interval" cannot be changed now
+ALTER SYSTEM SET wal_receiver_status_interval = 50;  -- ok
+ALTER SYSTEM RESET wal_receiver_status_interval;  -- ok
+SET wal_receiver_timeout = 50;  -- fail, requires reload
+ERROR:  parameter "wal_receiver_timeout" cannot be changed now
+RESET wal_receiver_timeout;  -- fail, requires reload
+ERROR:  parameter "wal_receiver_timeout" cannot be changed now
+ALTER SYSTEM SET wal_receiver_timeout = 50;  -- ok
+ALTER SYSTEM RESET wal_receiver_timeout;  -- ok
+SET wal_retrieve_retry_interval = 50;  -- fail, requires reload
+ERROR:  parameter "wal_retrieve_retry_interval" cannot be changed now
+RESET wal_retrieve_retry_interval;  -- fail, requires reload
+ERROR:  parameter "wal_retrieve_retry_interval" cannot be changed now
+ALTER SYSTEM SET wal_retrieve_retry_interval = 50;  -- ok
+ALTER SYSTEM RESET wal_retrieve_retry_interval;  -- ok
+-- PGC_SIGHUP / GUC_WAL_SETTINGS / WAL_ARCHIVING
+SET archive_timeout = 50;  -- fail, requires reload
+ERROR:  parameter "archive_timeout" cannot be changed now
+RESET archive_timeout;  -- fail, requires reload
+ERROR:  parameter "archive_timeout" cannot be changed now
+ALTER SYSTEM SET archive_timeout = 50;  -- ok
+ALTER SYSTEM RESET archive_timeout;  -- ok
+-- PGC_SIGHUP / GUC_WAL_SETTINGS / WAL_CHECKPOINTS
+SET checkpoint_completion_target = 0;  -- fail, requires reload
+ERROR:  parameter "checkpoint_completion_target" cannot be changed now
+RESET checkpoint_completion_target;  -- fail, requires reload
+ERROR:  parameter "checkpoint_completion_target" cannot be changed now
+ALTER SYSTEM SET checkpoint_completion_target = 0;  -- ok
+ALTER SYSTEM RESET checkpoint_completion_target;  -- ok
+SET checkpoint_flush_after = 50;  -- fail, requires reload
+ERROR:  parameter "checkpoint_flush_after" cannot be changed now
+RESET checkpoint_flush_after;  -- fail, requires reload
+ERROR:  parameter "checkpoint_flush_after" cannot be changed now
+ALTER SYSTEM SET checkpoint_flush_after = 50;  -- ok
+ALTER SYSTEM RESET checkpoint_flush_after;  -- ok
+SET checkpoint_timeout = 50;  -- fail, requires reload
+ERROR:  parameter "checkpoint_timeout" cannot be changed now
+RESET checkpoint_timeout;  -- fail, requires reload
+ERROR:  parameter "checkpoint_timeout" cannot be changed now
+ALTER SYSTEM SET checkpoint_timeout = 50;  -- ok
+ALTER SYSTEM RESET checkpoint_timeout;  -- ok
+SET max_wal_size = 50;  -- fail, requires reload
+ERROR:  parameter "max_wal_size" cannot be changed now
+RESET max_wal_size;  -- fail, requires reload
+ERROR:  parameter "max_wal_size" cannot be changed now
+ALTER SYSTEM SET max_wal_size = 50;  -- ok
+ALTER SYSTEM RESET max_wal_size;  -- ok
+SET min_wal_size = 50;  -- fail, requires reload
+ERROR:  parameter "min_wal_size" cannot be changed now
+RESET min_wal_size;  -- fail, requires reload
+ERROR:  parameter "min_wal_size" cannot be changed now
+ALTER SYSTEM SET min_wal_size = 50;  -- ok
+ALTER SYSTEM RESET min_wal_size;  -- ok
+-- PGC_SIGHUP / GUC_WAL_SETTINGS / WAL_SETTINGS
+SET fsync = ON;  -- fail, requires reload
+ERROR:  parameter "fsync" cannot be changed now
+RESET fsync;  -- fail, requires reload
+ERROR:  parameter "fsync" cannot be changed now
+ALTER SYSTEM SET fsync = ON;  -- ok
+ALTER SYSTEM RESET fsync;  -- ok
+SET full_page_writes = ON;  -- fail, requires reload
+ERROR:  parameter "full_page_writes" cannot be changed now
+RESET full_page_writes;  -- fail, requires reload
+ERROR:  parameter "full_page_writes" cannot be changed now
+ALTER SYSTEM SET full_page_writes = ON;  -- ok
+ALTER SYSTEM RESET full_page_writes;  -- ok
+SET wal_sync_method = 'open_datasync';  -- fail, requires reload
+ERROR:  parameter "wal_sync_method" cannot be changed now
+RESET wal_sync_method;  -- fail, requires reload
+ERROR:  parameter "wal_sync_method" cannot be changed now
+ALTER SYSTEM SET wal_sync_method = 'open_datasync';  -- ok
+ALTER SYSTEM RESET wal_sync_method;  -- ok
+SET wal_writer_delay = 50;  -- fail, requires reload
+ERROR:  parameter "wal_writer_delay" cannot be changed now
+RESET wal_writer_delay;  -- fail, requires reload
+ERROR:  parameter "wal_writer_delay" cannot be changed now
+ALTER SYSTEM SET wal_writer_delay = 50;  -- ok
+ALTER SYSTEM RESET wal_writer_delay;  -- ok
+SET wal_writer_flush_after = 50;  -- fail, requires reload
+ERROR:  parameter "wal_writer_flush_after" cannot be changed now
+RESET wal_writer_flush_after;  -- fail, requires reload
+ERROR:  parameter "wal_writer_flush_after" cannot be changed now
+ALTER SYSTEM SET wal_writer_flush_after = 50;  -- ok
+ALTER SYSTEM RESET wal_writer_flush_after;  -- ok
+-- PGC_SUSET / GUC_ALL_PRIVILEGES / DEVELOPER_OPTIONS
+SET allow_system_table_mods = ON;  -- ok
+RESET allow_system_table_mods;  -- ok
+ALTER SYSTEM SET allow_system_table_mods = ON;  -- ok
+ALTER SYSTEM RESET allow_system_table_mods;  -- ok
+-- PGC_SUSET / GUC_FILESYSTEM_SECURITY / CLIENT_CONN_OTHER
+SET dynamic_library_path = '$libdir';  -- ok
+RESET dynamic_library_path;  -- ok
+ALTER SYSTEM SET dynamic_library_path = '$libdir';  -- ok
+ALTER SYSTEM RESET dynamic_library_path;  -- ok
+-- PGC_SUSET / GUC_FILESYSTEM_SECURITY / CLIENT_CONN_PRELOAD
+SET session_preload_libraries = 'gssapi_krb5';  -- ok
+RESET session_preload_libraries;  -- ok
+ALTER SYSTEM SET session_preload_libraries = 'gssapi_krb5';  -- ok
+ALTER SYSTEM RESET session_preload_libraries;  -- ok
+-- PGC_SUSET / GUC_FILESYSTEM_SECURITY | GUC_SECURITY_SETTINGS / DEVELOPER_OPTIONS
+SET jit_dump_bitcode = ON;  -- ok
+RESET jit_dump_bitcode;  -- ok
+ALTER SYSTEM SET jit_dump_bitcode = ON;  -- ok
+ALTER SYSTEM RESET jit_dump_bitcode;  -- ok
+-- PGC_SUSET / GUC_INTERNAL_SETTINGS / CLIENT_CONN_LOCALE
+SET lc_messages = 'en_US.UTF-8';  -- ok
+RESET lc_messages;  -- ok
+ALTER SYSTEM SET lc_messages = 'en_US.UTF-8';  -- ok
+ALTER SYSTEM RESET lc_messages;  -- ok
+-- PGC_SUSET / GUC_INTERNAL_SETTINGS | GUC_RESOURCE_USAGE | GUC_SECURITY_SETTINGS / DEVELOPER_OPTIONS
+SET debug_invalidate_system_caches_always = 2;  -- ok
+RESET debug_invalidate_system_caches_always;  -- ok
+ALTER SYSTEM SET debug_invalidate_system_caches_always = 2;  -- ok
+ALTER SYSTEM RESET debug_invalidate_system_caches_always;  -- ok
+-- PGC_SUSET / GUC_INTERNAL_SETTINGS | GUC_SECURITY_SETTINGS / LOCK_MANAGEMENT
+SET deadlock_timeout = 1073741824;  -- ok
+RESET deadlock_timeout;  -- ok
+ALTER SYSTEM SET deadlock_timeout = 1073741824;  -- ok
+ALTER SYSTEM RESET deadlock_timeout;  -- ok
+-- PGC_SUSET / GUC_LOGGING_SETTINGS / DEVELOPER_OPTIONS
+SET backtrace_functions = 'partition_list_bsearch,partition_range_datum_bsearch,partition_hash_bsearch';  -- ok
+RESET backtrace_functions;  -- ok
+ALTER SYSTEM SET backtrace_functions = 'partition_list_bsearch,partition_range_datum_bsearch,partition_hash_bsearch';  -- ok
+ALTER SYSTEM RESET backtrace_functions;  -- ok
+-- PGC_SUSET / GUC_LOGGING_SETTINGS / LOGGING_WHAT
+SET log_duration = ON;  -- ok
+RESET log_duration;  -- ok
+ALTER SYSTEM SET log_duration = ON;  -- ok
+ALTER SYSTEM RESET log_duration;  -- ok
+SET log_error_verbosity = 'default';  -- ok
+RESET log_error_verbosity;  -- ok
+ALTER SYSTEM SET log_error_verbosity = 'default';  -- ok
+ALTER SYSTEM RESET log_error_verbosity;  -- ok
+SET log_lock_waits = ON;  -- ok
+RESET log_lock_waits;  -- ok
+ALTER SYSTEM SET log_lock_waits = ON;  -- ok
+ALTER SYSTEM RESET log_lock_waits;  -- ok
+SET log_parameter_max_length = 50;  -- ok
+RESET log_parameter_max_length;  -- ok
+ALTER SYSTEM SET log_parameter_max_length = 50;  -- ok
+ALTER SYSTEM RESET log_parameter_max_length;  -- ok
+SET log_replication_commands = ON;  -- ok
+RESET log_replication_commands;  -- ok
+ALTER SYSTEM SET log_replication_commands = ON;  -- ok
+ALTER SYSTEM RESET log_replication_commands;  -- ok
+SET log_statement = 'none';  -- ok
+RESET log_statement;  -- ok
+ALTER SYSTEM SET log_statement = 'none';  -- ok
+ALTER SYSTEM RESET log_statement;  -- ok
+SET log_temp_files = 50;  -- ok
+RESET log_temp_files;  -- ok
+ALTER SYSTEM SET log_temp_files = 50;  -- ok
+ALTER SYSTEM RESET log_temp_files;  -- ok
+-- PGC_SUSET / GUC_LOGGING_SETTINGS / LOGGING_WHEN
+SET log_min_duration_sample = 50;  -- ok
+RESET log_min_duration_sample;  -- ok
+ALTER SYSTEM SET log_min_duration_sample = 50;  -- ok
+ALTER SYSTEM RESET log_min_duration_sample;  -- ok
+SET log_min_duration_statement = 50;  -- ok
+RESET log_min_duration_statement;  -- ok
+ALTER SYSTEM SET log_min_duration_statement = 50;  -- ok
+ALTER SYSTEM RESET log_min_duration_statement;  -- ok
+SET log_min_error_statement = 'error';  -- ok
+RESET log_min_error_statement;  -- ok
+ALTER SYSTEM SET log_min_error_statement = 'error';  -- ok
+ALTER SYSTEM RESET log_min_error_statement;  -- ok
+SET log_min_messages = 'warning';  -- ok
+RESET log_min_messages;  -- ok
+ALTER SYSTEM SET log_min_messages = 'warning';  -- ok
+ALTER SYSTEM RESET log_min_messages;  -- ok
+SET log_statement_sample_rate = 0;  -- ok
+RESET log_statement_sample_rate;  -- ok
+ALTER SYSTEM SET log_statement_sample_rate = 0;  -- ok
+ALTER SYSTEM RESET log_statement_sample_rate;  -- ok
+SET log_transaction_sample_rate = 0;  -- ok
+RESET log_transaction_sample_rate;  -- ok
+ALTER SYSTEM SET log_transaction_sample_rate = 0;  -- ok
+ALTER SYSTEM RESET log_transaction_sample_rate;  -- ok
+-- PGC_SUSET / GUC_LOGGING_SETTINGS / STATS_MONITORING
+SET log_executor_stats = ON;  -- ok
+RESET log_executor_stats;  -- ok
+ALTER SYSTEM SET log_executor_stats = ON;  -- ok
+ALTER SYSTEM RESET log_executor_stats;  -- ok
+SET log_parser_stats = ON;  -- ok
+RESET log_parser_stats;  -- ok
+ALTER SYSTEM SET log_parser_stats = ON;  -- ok
+ALTER SYSTEM RESET log_parser_stats;  -- ok
+SET log_planner_stats = ON;  -- ok
+RESET log_planner_stats;  -- ok
+ALTER SYSTEM SET log_planner_stats = ON;  -- ok
+ALTER SYSTEM RESET log_planner_stats;  -- ok
+SET log_statement_stats = ON;  -- ok
+RESET log_statement_stats;  -- ok
+ALTER SYSTEM SET log_statement_stats = ON;  -- ok
+ALTER SYSTEM RESET log_statement_stats;  -- ok
+-- PGC_SUSET / GUC_LOGGING_SETTINGS | GUC_SECURITY_SETTINGS / PROCESS_TITLE
+SET update_process_title = ON;  -- ok
+RESET update_process_title;  -- ok
+ALTER SYSTEM SET update_process_title = ON;  -- ok
+ALTER SYSTEM RESET update_process_title;  -- ok
+-- PGC_SUSET / GUC_RESOURCE_USAGE / RESOURCES_DISK
+SET temp_file_limit = 50;  -- ok
+RESET temp_file_limit;  -- ok
+ALTER SYSTEM SET temp_file_limit = 50;  -- ok
+ALTER SYSTEM RESET temp_file_limit;  -- ok
+-- PGC_SUSET / GUC_RESOURCE_USAGE / RESOURCES_MEM
+SET max_stack_depth = 3890;  -- ok
+RESET max_stack_depth;  -- ok
+ALTER SYSTEM SET max_stack_depth = 3890;  -- ok
+ALTER SYSTEM RESET max_stack_depth;  -- ok
+-- PGC_SUSET / GUC_SECURITY_SETTINGS / COMPAT_OPTIONS_PREVIOUS
+SET lo_compat_privileges = ON;  -- ok
+RESET lo_compat_privileges;  -- ok
+ALTER SYSTEM SET lo_compat_privileges = ON;  -- ok
+ALTER SYSTEM RESET lo_compat_privileges;  -- ok
+-- PGC_SUSET / GUC_STATS_SETTINGS / STATS_COLLECTOR
+SET track_activities = ON;  -- ok
+RESET track_activities;  -- ok
+ALTER SYSTEM SET track_activities = ON;  -- ok
+ALTER SYSTEM RESET track_activities;  -- ok
+SET track_counts = ON;  -- ok
+RESET track_counts;  -- ok
+ALTER SYSTEM SET track_counts = ON;  -- ok
+ALTER SYSTEM RESET track_counts;  -- ok
+SET track_functions = 'none';  -- ok
+RESET track_functions;  -- ok
+ALTER SYSTEM SET track_functions = 'none';  -- ok
+ALTER SYSTEM RESET track_functions;  -- ok
+SET track_io_timing = ON;  -- ok
+RESET track_io_timing;  -- ok
+ALTER SYSTEM SET track_io_timing = ON;  -- ok
+ALTER SYSTEM RESET track_io_timing;  -- ok
+SET track_wal_io_timing = ON;  -- ok
+RESET track_wal_io_timing;  -- ok
+ALTER SYSTEM SET track_wal_io_timing = ON;  -- ok
+ALTER SYSTEM RESET track_wal_io_timing;  -- ok
+-- PGC_SUSET / GUC_STATS_SETTINGS / STATS_MONITORING
+SET compute_query_id = ON;  -- ok
+RESET compute_query_id;  -- ok
+ALTER SYSTEM SET compute_query_id = ON;  -- ok
+ALTER SYSTEM RESET compute_query_id;  -- ok
+-- PGC_SUSET / GUC_STORAGE_SETTINGS / DEVELOPER_OPTIONS
+SET ignore_checksum_failure = ON;  -- ok
+RESET ignore_checksum_failure;  -- ok
+ALTER SYSTEM SET ignore_checksum_failure = ON;  -- ok
+ALTER SYSTEM RESET ignore_checksum_failure;  -- ok
+SET zero_damaged_pages = ON;  -- ok
+RESET zero_damaged_pages;  -- ok
+ALTER SYSTEM SET zero_damaged_pages = ON;  -- ok
+ALTER SYSTEM RESET zero_damaged_pages;  -- ok
+-- PGC_SUSET / GUC_WAL_SETTINGS / CLIENT_CONN_STATEMENT
+SET session_replication_role = 'origin';  -- ok
+RESET session_replication_role;  -- ok
+ALTER SYSTEM SET session_replication_role = 'origin';  -- ok
+ALTER SYSTEM RESET session_replication_role;  -- ok
+-- PGC_SUSET / GUC_WAL_SETTINGS / DEVELOPER_OPTIONS
+SET wal_consistency_checking = 'heap, heap2, btree, hash, gin, gist, sequence, spgist, brin, generic';  -- ok
+RESET wal_consistency_checking;  -- ok
+ALTER SYSTEM SET wal_consistency_checking = 'heap, heap2, btree, hash, gin, gist, sequence, spgist, brin, generic';  -- ok
+ALTER SYSTEM RESET wal_consistency_checking;  -- ok
+-- PGC_SUSET / GUC_WAL_SETTINGS / WAL_SETTINGS
+SET commit_delay = 50;  -- ok
+RESET commit_delay;  -- ok
+ALTER SYSTEM SET commit_delay = 50;  -- ok
+ALTER SYSTEM RESET commit_delay;  -- ok
+SET wal_compression = ON;  -- ok
+RESET wal_compression;  -- ok
+ALTER SYSTEM SET wal_compression = ON;  -- ok
+ALTER SYSTEM RESET wal_compression;  -- ok
+SET wal_init_zero = ON;  -- ok
+RESET wal_init_zero;  -- ok
+ALTER SYSTEM SET wal_init_zero = ON;  -- ok
+ALTER SYSTEM RESET wal_init_zero;  -- ok
+SET wal_recycle = ON;  -- ok
+RESET wal_recycle;  -- ok
+ALTER SYSTEM SET wal_recycle = ON;  -- ok
+ALTER SYSTEM RESET wal_recycle;  -- ok
+-- PGC_SU_BACKEND / GUC_FILESYSTEM_SECURITY | GUC_SECURITY_SETTINGS / DEVELOPER_OPTIONS
+SET jit_profiling_support = ON;  -- fail, cannot be set after connection start
+ERROR:  parameter "jit_profiling_support" cannot be set after connection start
+RESET jit_profiling_support;  -- fail, cannot be set after connection start
+ERROR:  parameter "jit_profiling_support" cannot be set after connection start
+ALTER SYSTEM SET jit_profiling_support = ON;  -- ok
+ALTER SYSTEM RESET jit_profiling_support;  -- ok
+-- PGC_SU_BACKEND / GUC_INTERNAL_SETTINGS | GUC_SECURITY_SETTINGS / DEVELOPER_OPTIONS
+SET jit_debugging_support = ON;  -- fail, cannot be set after connection start
+ERROR:  parameter "jit_debugging_support" cannot be set after connection start
+RESET jit_debugging_support;  -- fail, cannot be set after connection start
+ERROR:  parameter "jit_debugging_support" cannot be set after connection start
+ALTER SYSTEM SET jit_debugging_support = ON;  -- ok
+ALTER SYSTEM RESET jit_debugging_support;  -- ok
+-- PGC_SU_BACKEND / GUC_LOGGING_SETTINGS / LOGGING_WHAT
+SET log_connections = ON;  -- fail, cannot be set after connection start
+ERROR:  parameter "log_connections" cannot be set after connection start
+RESET log_connections;  -- fail, cannot be set after connection start
+ERROR:  parameter "log_connections" cannot be set after connection start
+ALTER SYSTEM SET log_connections = ON;  -- ok
+ALTER SYSTEM RESET log_connections;  -- ok
+SET log_disconnections = ON;  -- fail, cannot be set after connection start
+ERROR:  parameter "log_disconnections" cannot be set after connection start
+RESET log_disconnections;  -- fail, cannot be set after connection start
+ERROR:  parameter "log_disconnections" cannot be set after connection start
+ALTER SYSTEM SET log_disconnections = ON;  -- ok
+ALTER SYSTEM RESET log_disconnections;  -- ok
+-- PGC_USERSET / GUC_INTERNAL_SETTINGS / CLIENT_CONN_LOCALE
+SET DateStyle = 'ISO, MDY';  -- ok
+RESET DateStyle;  -- ok
+ALTER SYSTEM SET DateStyle = 'ISO, MDY';  -- ok
+ALTER SYSTEM RESET DateStyle;  -- ok
+SET IntervalStyle = 'postgres';  -- ok
+RESET IntervalStyle;  -- ok
+ALTER SYSTEM SET IntervalStyle = 'postgres';  -- ok
+ALTER SYSTEM RESET IntervalStyle;  -- ok
+SET TimeZone = 'Europe/Helsinki';  -- ok
+RESET TimeZone;  -- ok
+ALTER SYSTEM SET TimeZone = 'Europe/Helsinki';  -- ok
+ALTER SYSTEM RESET TimeZone;  -- ok
+SET client_encoding = 'UTF8';  -- ok
+RESET client_encoding;  -- ok
+ALTER SYSTEM SET client_encoding = 'UTF8';  -- ok
+ALTER SYSTEM RESET client_encoding;  -- ok
+SET default_text_search_config = 'pg_catalog.english';  -- ok
+RESET default_text_search_config;  -- ok
+ALTER SYSTEM SET default_text_search_config = 'pg_catalog.english';  -- ok
+ALTER SYSTEM RESET default_text_search_config;  -- ok
+SET extra_float_digits = -6;  -- ok
+RESET extra_float_digits;  -- ok
+ALTER SYSTEM SET extra_float_digits = -6;  -- ok
+ALTER SYSTEM RESET extra_float_digits;  -- ok
+SET lc_monetary = 'en_US.UTF-8';  -- ok
+RESET lc_monetary;  -- ok
+ALTER SYSTEM SET lc_monetary = 'en_US.UTF-8';  -- ok
+ALTER SYSTEM RESET lc_monetary;  -- ok
+SET lc_numeric = 'en_US.UTF-8';  -- ok
+RESET lc_numeric;  -- ok
+ALTER SYSTEM SET lc_numeric = 'en_US.UTF-8';  -- ok
+ALTER SYSTEM RESET lc_numeric;  -- ok
+SET lc_time = 'en_US.UTF-8';  -- ok
+RESET lc_time;  -- ok
+ALTER SYSTEM SET lc_time = 'en_US.UTF-8';  -- ok
+ALTER SYSTEM RESET lc_time;  -- ok
+SET timezone_abbreviations = 'Default';  -- ok
+RESET timezone_abbreviations;  -- ok
+ALTER SYSTEM SET timezone_abbreviations = 'Default';  -- ok
+ALTER SYSTEM RESET timezone_abbreviations;  -- ok
+-- PGC_USERSET / GUC_INTERNAL_SETTINGS / CLIENT_CONN_OTHER
+SET gin_fuzzy_search_limit = 50;  -- ok
+RESET gin_fuzzy_search_limit;  -- ok
+ALTER SYSTEM SET gin_fuzzy_search_limit = 50;  -- ok
+ALTER SYSTEM RESET gin_fuzzy_search_limit;  -- ok
+-- PGC_USERSET / GUC_INTERNAL_SETTINGS / CLIENT_CONN_PRELOAD
+SET local_preload_libraries = 'gssapi_krb5';  -- ok
+RESET local_preload_libraries;  -- ok
+ALTER SYSTEM SET local_preload_libraries = 'gssapi_krb5';  -- ok
+ALTER SYSTEM RESET local_preload_libraries;  -- ok
+-- PGC_USERSET / GUC_INTERNAL_SETTINGS / CLIENT_CONN_STATEMENT
+SET bytea_output = 'hex';  -- ok
+RESET bytea_output;  -- ok
+ALTER SYSTEM SET bytea_output = 'hex';  -- ok
+ALTER SYSTEM RESET bytea_output;  -- ok
+SET check_function_bodies = ON;  -- ok
+RESET check_function_bodies;  -- ok
+ALTER SYSTEM SET check_function_bodies = ON;  -- ok
+ALTER SYSTEM RESET check_function_bodies;  -- ok
+SET client_min_messages = 'notice';  -- ok
+RESET client_min_messages;  -- ok
+ALTER SYSTEM SET client_min_messages = 'notice';  -- ok
+ALTER SYSTEM RESET client_min_messages;  -- ok
+SET default_table_access_method = 'heap';  -- ok
+RESET default_table_access_method;  -- ok
+ALTER SYSTEM SET default_table_access_method = 'heap';  -- ok
+ALTER SYSTEM RESET default_table_access_method;  -- ok
+SET default_toast_compression = 'pglz';  -- ok
+RESET default_toast_compression;  -- ok
+ALTER SYSTEM SET default_toast_compression = 'pglz';  -- ok
+ALTER SYSTEM RESET default_toast_compression;  -- ok
+SET default_transaction_deferrable = ON;  -- ok
+RESET default_transaction_deferrable;  -- ok
+ALTER SYSTEM SET default_transaction_deferrable = ON;  -- ok
+ALTER SYSTEM RESET default_transaction_deferrable;  -- ok
+SET default_transaction_isolation = 'read committed';  -- ok
+RESET default_transaction_isolation;  -- ok
+ALTER SYSTEM SET default_transaction_isolation = 'read committed';  -- ok
+ALTER SYSTEM RESET default_transaction_isolation;  -- ok
+SET default_transaction_read_only = ON;  -- ok
+RESET default_transaction_read_only;  -- ok
+ALTER SYSTEM SET default_transaction_read_only = ON;  -- ok
+ALTER SYSTEM RESET default_transaction_read_only;  -- ok
+SET gin_pending_list_limit = 1073741855;  -- ok
+RESET gin_pending_list_limit;  -- ok
+ALTER SYSTEM SET gin_pending_list_limit = 1073741855;  -- ok
+ALTER SYSTEM RESET gin_pending_list_limit;  -- ok
+SET idle_in_transaction_session_timeout = 50;  -- ok
+RESET idle_in_transaction_session_timeout;  -- ok
+ALTER SYSTEM SET idle_in_transaction_session_timeout = 50;  -- ok
+ALTER SYSTEM RESET idle_in_transaction_session_timeout;  -- ok
+SET idle_session_timeout = 50;  -- ok
+RESET idle_session_timeout;  -- ok
+ALTER SYSTEM SET idle_session_timeout = 50;  -- ok
+ALTER SYSTEM RESET idle_session_timeout;  -- ok
+SET lock_timeout = 50;  -- ok
+RESET lock_timeout;  -- ok
+ALTER SYSTEM SET lock_timeout = 50;  -- ok
+ALTER SYSTEM RESET lock_timeout;  -- ok
+SET row_security = ON;  -- ok
+RESET row_security;  -- ok
+ALTER SYSTEM SET row_security = ON;  -- ok
+ALTER SYSTEM RESET row_security;  -- ok
+SET search_path = '"$user", public';  -- ok
+RESET search_path;  -- ok
+ALTER SYSTEM SET search_path = '"$user", public';  -- ok
+ALTER SYSTEM RESET search_path;  -- ok
+SET statement_timeout = 5250;  -- ok
+RESET statement_timeout;  -- ok
+ALTER SYSTEM SET statement_timeout = 5250;  -- ok
+ALTER SYSTEM RESET statement_timeout;  -- ok
+SET transaction_deferrable = ON;  -- ok
+RESET transaction_deferrable;  -- ok
+ALTER SYSTEM SET transaction_deferrable = ON;  -- fail, cannot be changed
+ERROR:  parameter "transaction_deferrable" cannot be changed
+ALTER SYSTEM RESET transaction_deferrable;  -- fail, cannot be changed
+ERROR:  parameter "transaction_deferrable" cannot be changed
+SET transaction_isolation = 'read committed';  -- ok
+RESET transaction_isolation;  -- ok
+WARNING:  RESET TRANSACTION can only be used in transaction blocks
+ALTER SYSTEM SET transaction_isolation = 'read committed';  -- fail, cannot be changed
+ERROR:  parameter "transaction_isolation" cannot be changed
+ALTER SYSTEM RESET transaction_isolation;  -- fail, cannot be changed
+ERROR:  parameter "transaction_isolation" cannot be changed
+SET transaction_read_only = ON;  -- ok
+RESET transaction_read_only;  -- ok
+ALTER SYSTEM SET transaction_read_only = ON;  -- fail, cannot be changed
+ERROR:  parameter "transaction_read_only" cannot be changed
+ALTER SYSTEM RESET transaction_read_only;  -- fail, cannot be changed
+ERROR:  parameter "transaction_read_only" cannot be changed
+SET vacuum_failsafe_age = 50;  -- ok
+RESET vacuum_failsafe_age;  -- ok
+ALTER SYSTEM SET vacuum_failsafe_age = 50;  -- ok
+ALTER SYSTEM RESET vacuum_failsafe_age;  -- ok
+SET vacuum_freeze_min_age = 50;  -- ok
+RESET vacuum_freeze_min_age;  -- ok
+ALTER SYSTEM SET vacuum_freeze_min_age = 50;  -- ok
+ALTER SYSTEM RESET vacuum_freeze_min_age;  -- ok
+SET vacuum_freeze_table_age = 50;  -- ok
+RESET vacuum_freeze_table_age;  -- ok
+ALTER SYSTEM SET vacuum_freeze_table_age = 50;  -- ok
+ALTER SYSTEM RESET vacuum_freeze_table_age;  -- ok
+SET vacuum_multixact_failsafe_age = 50;  -- ok
+RESET vacuum_multixact_failsafe_age;  -- ok
+ALTER SYSTEM SET vacuum_multixact_failsafe_age = 50;  -- ok
+ALTER SYSTEM RESET vacuum_multixact_failsafe_age;  -- ok
+SET vacuum_multixact_freeze_min_age = 50;  -- ok
+RESET vacuum_multixact_freeze_min_age;  -- ok
+ALTER SYSTEM SET vacuum_multixact_freeze_min_age = 50;  -- ok
+ALTER SYSTEM RESET vacuum_multixact_freeze_min_age;  -- ok
+SET vacuum_multixact_freeze_table_age = 50;  -- ok
+RESET vacuum_multixact_freeze_table_age;  -- ok
+ALTER SYSTEM SET vacuum_multixact_freeze_table_age = 50;  -- ok
+ALTER SYSTEM RESET vacuum_multixact_freeze_table_age;  -- ok
+SET xmlbinary = 'base64';  -- ok
+RESET xmlbinary;  -- ok
+ALTER SYSTEM SET xmlbinary = 'base64';  -- ok
+ALTER SYSTEM RESET xmlbinary;  -- ok
+SET xmloption = 'content';  -- ok
+RESET xmloption;  -- ok
+ALTER SYSTEM SET xmloption = 'content';  -- ok
+ALTER SYSTEM RESET xmloption;  -- ok
+-- PGC_USERSET / GUC_INTERNAL_SETTINGS / COMPAT_OPTIONS_PREVIOUS
+SET array_nulls = ON;  -- ok
+RESET array_nulls;  -- ok
+ALTER SYSTEM SET array_nulls = ON;  -- ok
+ALTER SYSTEM RESET array_nulls;  -- ok
+SET escape_string_warning = ON;  -- ok
+RESET escape_string_warning;  -- ok
+ALTER SYSTEM SET escape_string_warning = ON;  -- ok
+ALTER SYSTEM RESET escape_string_warning;  -- ok
+SET quote_all_identifiers = ON;  -- ok
+RESET quote_all_identifiers;  -- ok
+ALTER SYSTEM SET quote_all_identifiers = ON;  -- ok
+ALTER SYSTEM RESET quote_all_identifiers;  -- ok
+SET standard_conforming_strings = ON;  -- ok
+RESET standard_conforming_strings;  -- ok
+ALTER SYSTEM SET standard_conforming_strings = ON;  -- ok
+ALTER SYSTEM RESET standard_conforming_strings;  -- ok
+SET synchronize_seqscans = ON;  -- ok
+RESET synchronize_seqscans;  -- ok
+ALTER SYSTEM SET synchronize_seqscans = ON;  -- ok
+ALTER SYSTEM RESET synchronize_seqscans;  -- ok
+-- PGC_USERSET / GUC_INTERNAL_SETTINGS / CONN_AUTH_AUTH
+SET password_encryption = 'scram-sha-256';  -- ok
+RESET password_encryption;  -- ok
+ALTER SYSTEM SET password_encryption = 'scram-sha-256';  -- ok
+ALTER SYSTEM RESET password_encryption;  -- ok
+-- PGC_USERSET / GUC_INTERNAL_SETTINGS / CONN_AUTH_SETTINGS
+SET client_connection_check_interval = 0;  -- ok
+RESET client_connection_check_interval;  -- ok
+ALTER SYSTEM SET client_connection_check_interval = 0;  -- ok
+ALTER SYSTEM RESET client_connection_check_interval;  -- ok
+SET tcp_keepalives_count = 50;  -- ok
+RESET tcp_keepalives_count;  -- ok
+ALTER SYSTEM SET tcp_keepalives_count = 50;  -- ok
+ALTER SYSTEM RESET tcp_keepalives_count;  -- ok
+SET tcp_keepalives_idle = 50;  -- ok
+RESET tcp_keepalives_idle;  -- ok
+ALTER SYSTEM SET tcp_keepalives_idle = 50;  -- ok
+ALTER SYSTEM RESET tcp_keepalives_idle;  -- ok
+SET tcp_keepalives_interval = 50;  -- ok
+RESET tcp_keepalives_interval;  -- ok
+ALTER SYSTEM SET tcp_keepalives_interval = 50;  -- ok
+ALTER SYSTEM RESET tcp_keepalives_interval;  -- ok
+SET tcp_user_timeout = 50;  -- ok
+RESET tcp_user_timeout;  -- ok
+ALTER SYSTEM SET tcp_user_timeout = 50;  -- ok
+ALTER SYSTEM RESET tcp_user_timeout;  -- ok
+-- PGC_USERSET / GUC_INTERNAL_SETTINGS / CONN_AUTH_SSL
+SET ssl_renegotiation_limit = 0;  -- ok
+RESET ssl_renegotiation_limit;  -- ok
+ALTER SYSTEM SET ssl_renegotiation_limit = 0;  -- fail, cannot be changed
+ERROR:  parameter "ssl_renegotiation_limit" cannot be changed
+ALTER SYSTEM RESET ssl_renegotiation_limit;  -- fail, cannot be changed
+ERROR:  parameter "ssl_renegotiation_limit" cannot be changed
+-- PGC_USERSET / GUC_INTERNAL_SETTINGS / DEVELOPER_OPTIONS
+SET force_parallel_mode = 'off';  -- ok
+RESET force_parallel_mode;  -- ok
+ALTER SYSTEM SET force_parallel_mode = 'off';  -- ok
+ALTER SYSTEM RESET force_parallel_mode;  -- ok
+SET jit_expressions = ON;  -- ok
+RESET jit_expressions;  -- ok
+ALTER SYSTEM SET jit_expressions = ON;  -- ok
+ALTER SYSTEM RESET jit_expressions;  -- ok
+SET jit_tuple_deforming = ON;  -- ok
+RESET jit_tuple_deforming;  -- ok
+ALTER SYSTEM SET jit_tuple_deforming = ON;  -- ok
+ALTER SYSTEM RESET jit_tuple_deforming;  -- ok
+SET trace_notify = ON;  -- ok
+RESET trace_notify;  -- ok
+ALTER SYSTEM SET trace_notify = ON;  -- ok
+ALTER SYSTEM RESET trace_notify;  -- ok
+SET trace_sort = ON;  -- ok
+RESET trace_sort;  -- ok
+ALTER SYSTEM SET trace_sort = ON;  -- ok
+ALTER SYSTEM RESET trace_sort;  -- ok
+-- PGC_USERSET / GUC_INTERNAL_SETTINGS / ERROR_HANDLING_OPTIONS
+SET exit_on_error = ON;  -- ok
+RESET exit_on_error;  -- ok
+ALTER SYSTEM SET exit_on_error = ON;  -- ok
+ALTER SYSTEM RESET exit_on_error;  -- ok
+-- PGC_USERSET / GUC_INTERNAL_SETTINGS / LOGGING_WHAT
+SET application_name = 'psql';  -- ok
+RESET application_name;  -- ok
+ALTER SYSTEM SET application_name = 'psql';  -- ok
+ALTER SYSTEM RESET application_name;  -- ok
+SET debug_pretty_print = ON;  -- ok
+RESET debug_pretty_print;  -- ok
+ALTER SYSTEM SET debug_pretty_print = ON;  -- ok
+ALTER SYSTEM RESET debug_pretty_print;  -- ok
+SET debug_print_parse = ON;  -- ok
+RESET debug_print_parse;  -- ok
+ALTER SYSTEM SET debug_print_parse = ON;  -- ok
+ALTER SYSTEM RESET debug_print_parse;  -- ok
+SET debug_print_plan = ON;  -- ok
+RESET debug_print_plan;  -- ok
+ALTER SYSTEM SET debug_print_plan = ON;  -- ok
+ALTER SYSTEM RESET debug_print_plan;  -- ok
+SET debug_print_rewritten = ON;  -- ok
+RESET debug_print_rewritten;  -- ok
+ALTER SYSTEM SET debug_print_rewritten = ON;  -- ok
+ALTER SYSTEM RESET debug_print_rewritten;  -- ok
+SET log_parameter_max_length_on_error = 50;  -- ok
+RESET log_parameter_max_length_on_error;  -- ok
+ALTER SYSTEM SET log_parameter_max_length_on_error = 50;  -- ok
+ALTER SYSTEM RESET log_parameter_max_length_on_error;  -- ok
+-- PGC_USERSET / GUC_INTERNAL_SETTINGS / QUERY_TUNING_COST
+SET cpu_index_tuple_cost = 50;  -- ok
+RESET cpu_index_tuple_cost;  -- ok
+ALTER SYSTEM SET cpu_index_tuple_cost = 50;  -- ok
+ALTER SYSTEM RESET cpu_index_tuple_cost;  -- ok
+SET cpu_operator_cost = 50;  -- ok
+RESET cpu_operator_cost;  -- ok
+ALTER SYSTEM SET cpu_operator_cost = 50;  -- ok
+ALTER SYSTEM RESET cpu_operator_cost;  -- ok
+SET cpu_tuple_cost = 50;  -- ok
+RESET cpu_tuple_cost;  -- ok
+ALTER SYSTEM SET cpu_tuple_cost = 50;  -- ok
+ALTER SYSTEM RESET cpu_tuple_cost;  -- ok
+SET effective_cache_size = 1073741824;  -- ok
+RESET effective_cache_size;  -- ok
+ALTER SYSTEM SET effective_cache_size = 1073741824;  -- ok
+ALTER SYSTEM RESET effective_cache_size;  -- ok
+SET jit_above_cost = 50;  -- ok
+RESET jit_above_cost;  -- ok
+ALTER SYSTEM SET jit_above_cost = 50;  -- ok
+ALTER SYSTEM RESET jit_above_cost;  -- ok
+SET jit_inline_above_cost = 50;  -- ok
+RESET jit_inline_above_cost;  -- ok
+ALTER SYSTEM SET jit_inline_above_cost = 50;  -- ok
+ALTER SYSTEM RESET jit_inline_above_cost;  -- ok
+SET jit_optimize_above_cost = 50;  -- ok
+RESET jit_optimize_above_cost;  -- ok
+ALTER SYSTEM SET jit_optimize_above_cost = 50;  -- ok
+ALTER SYSTEM RESET jit_optimize_above_cost;  -- ok
+SET min_parallel_index_scan_size = 50;  -- ok
+RESET min_parallel_index_scan_size;  -- ok
+ALTER SYSTEM SET min_parallel_index_scan_size = 50;  -- ok
+ALTER SYSTEM RESET min_parallel_index_scan_size;  -- ok
+SET min_parallel_table_scan_size = 50;  -- ok
+RESET min_parallel_table_scan_size;  -- ok
+ALTER SYSTEM SET min_parallel_table_scan_size = 50;  -- ok
+ALTER SYSTEM RESET min_parallel_table_scan_size;  -- ok
+SET parallel_setup_cost = 50;  -- ok
+RESET parallel_setup_cost;  -- ok
+ALTER SYSTEM SET parallel_setup_cost = 50;  -- ok
+ALTER SYSTEM RESET parallel_setup_cost;  -- ok
+SET parallel_tuple_cost = 50;  -- ok
+RESET parallel_tuple_cost;  -- ok
+ALTER SYSTEM SET parallel_tuple_cost = 50;  -- ok
+ALTER SYSTEM RESET parallel_tuple_cost;  -- ok
+SET random_page_cost = 50;  -- ok
+RESET random_page_cost;  -- ok
+ALTER SYSTEM SET random_page_cost = 50;  -- ok
+ALTER SYSTEM RESET random_page_cost;  -- ok
+SET seq_page_cost = 50;  -- ok
+RESET seq_page_cost;  -- ok
+ALTER SYSTEM SET seq_page_cost = 50;  -- ok
+ALTER SYSTEM RESET seq_page_cost;  -- ok
+-- PGC_USERSET / GUC_INTERNAL_SETTINGS / QUERY_TUNING_GEQO
+SET geqo = ON;  -- ok
+RESET geqo;  -- ok
+ALTER SYSTEM SET geqo = ON;  -- ok
+ALTER SYSTEM RESET geqo;  -- ok
+SET geqo_effort = 5;  -- ok
+RESET geqo_effort;  -- ok
+ALTER SYSTEM SET geqo_effort = 5;  -- ok
+ALTER SYSTEM RESET geqo_effort;  -- ok
+SET geqo_generations = 50;  -- ok
+RESET geqo_generations;  -- ok
+ALTER SYSTEM SET geqo_generations = 50;  -- ok
+ALTER SYSTEM RESET geqo_generations;  -- ok
+SET geqo_pool_size = 50;  -- ok
+RESET geqo_pool_size;  -- ok
+ALTER SYSTEM SET geqo_pool_size = 50;  -- ok
+ALTER SYSTEM RESET geqo_pool_size;  -- ok
+SET geqo_seed = 0;  -- ok
+RESET geqo_seed;  -- ok
+ALTER SYSTEM SET geqo_seed = 0;  -- ok
+ALTER SYSTEM RESET geqo_seed;  -- ok
+SET geqo_selection_bias = 2;  -- ok
+RESET geqo_selection_bias;  -- ok
+ALTER SYSTEM SET geqo_selection_bias = 2;  -- ok
+ALTER SYSTEM RESET geqo_selection_bias;  -- ok
+SET geqo_threshold = 1073741824;  -- ok
+RESET geqo_threshold;  -- ok
+ALTER SYSTEM SET geqo_threshold = 1073741824;  -- ok
+ALTER SYSTEM RESET geqo_threshold;  -- ok
+-- PGC_USERSET / GUC_INTERNAL_SETTINGS / QUERY_TUNING_METHOD
+SET enable_async_append = ON;  -- ok
+RESET enable_async_append;  -- ok
+ALTER SYSTEM SET enable_async_append = ON;  -- ok
+ALTER SYSTEM RESET enable_async_append;  -- ok
+SET enable_bitmapscan = ON;  -- ok
+RESET enable_bitmapscan;  -- ok
+ALTER SYSTEM SET enable_bitmapscan = ON;  -- ok
+ALTER SYSTEM RESET enable_bitmapscan;  -- ok
+SET enable_gathermerge = ON;  -- ok
+RESET enable_gathermerge;  -- ok
+ALTER SYSTEM SET enable_gathermerge = ON;  -- ok
+ALTER SYSTEM RESET enable_gathermerge;  -- ok
+SET enable_hashagg = ON;  -- ok
+RESET enable_hashagg;  -- ok
+ALTER SYSTEM SET enable_hashagg = ON;  -- ok
+ALTER SYSTEM RESET enable_hashagg;  -- ok
+SET enable_hashjoin = ON;  -- ok
+RESET enable_hashjoin;  -- ok
+ALTER SYSTEM SET enable_hashjoin = ON;  -- ok
+ALTER SYSTEM RESET enable_hashjoin;  -- ok
+SET enable_incremental_sort = ON;  -- ok
+RESET enable_incremental_sort;  -- ok
+ALTER SYSTEM SET enable_incremental_sort = ON;  -- ok
+ALTER SYSTEM RESET enable_incremental_sort;  -- ok
+SET enable_indexonlyscan = ON;  -- ok
+RESET enable_indexonlyscan;  -- ok
+ALTER SYSTEM SET enable_indexonlyscan = ON;  -- ok
+ALTER SYSTEM RESET enable_indexonlyscan;  -- ok
+SET enable_indexscan = ON;  -- ok
+RESET enable_indexscan;  -- ok
+ALTER SYSTEM SET enable_indexscan = ON;  -- ok
+ALTER SYSTEM RESET enable_indexscan;  -- ok
+SET enable_material = ON;  -- ok
+RESET enable_material;  -- ok
+ALTER SYSTEM SET enable_material = ON;  -- ok
+ALTER SYSTEM RESET enable_material;  -- ok
+SET enable_mergejoin = ON;  -- ok
+RESET enable_mergejoin;  -- ok
+ALTER SYSTEM SET enable_mergejoin = ON;  -- ok
+ALTER SYSTEM RESET enable_mergejoin;  -- ok
+SET enable_nestloop = ON;  -- ok
+RESET enable_nestloop;  -- ok
+ALTER SYSTEM SET enable_nestloop = ON;  -- ok
+ALTER SYSTEM RESET enable_nestloop;  -- ok
+SET enable_parallel_append = ON;  -- ok
+RESET enable_parallel_append;  -- ok
+ALTER SYSTEM SET enable_parallel_append = ON;  -- ok
+ALTER SYSTEM RESET enable_parallel_append;  -- ok
+SET enable_parallel_hash = ON;  -- ok
+RESET enable_parallel_hash;  -- ok
+ALTER SYSTEM SET enable_parallel_hash = ON;  -- ok
+ALTER SYSTEM RESET enable_parallel_hash;  -- ok
+SET enable_partition_pruning = ON;  -- ok
+RESET enable_partition_pruning;  -- ok
+ALTER SYSTEM SET enable_partition_pruning = ON;  -- ok
+ALTER SYSTEM RESET enable_partition_pruning;  -- ok
+SET enable_partitionwise_aggregate = ON;  -- ok
+RESET enable_partitionwise_aggregate;  -- ok
+ALTER SYSTEM SET enable_partitionwise_aggregate = ON;  -- ok
+ALTER SYSTEM RESET enable_partitionwise_aggregate;  -- ok
+SET enable_partitionwise_join = ON;  -- ok
+RESET enable_partitionwise_join;  -- ok
+ALTER SYSTEM SET enable_partitionwise_join = ON;  -- ok
+ALTER SYSTEM RESET enable_partitionwise_join;  -- ok
+SET enable_resultcache = ON;  -- ok
+RESET enable_resultcache;  -- ok
+ALTER SYSTEM SET enable_resultcache = ON;  -- ok
+ALTER SYSTEM RESET enable_resultcache;  -- ok
+SET enable_seqscan = ON;  -- ok
+RESET enable_seqscan;  -- ok
+ALTER SYSTEM SET enable_seqscan = ON;  -- ok
+ALTER SYSTEM RESET enable_seqscan;  -- ok
+SET enable_sort = ON;  -- ok
+RESET enable_sort;  -- ok
+ALTER SYSTEM SET enable_sort = ON;  -- ok
+ALTER SYSTEM RESET enable_sort;  -- ok
+SET enable_tidscan = ON;  -- ok
+RESET enable_tidscan;  -- ok
+ALTER SYSTEM SET enable_tidscan = ON;  -- ok
+ALTER SYSTEM RESET enable_tidscan;  -- ok
+-- PGC_USERSET / GUC_INTERNAL_SETTINGS / QUERY_TUNING_OTHER
+SET constraint_exclusion = 'partition';  -- ok
+RESET constraint_exclusion;  -- ok
+ALTER SYSTEM SET constraint_exclusion = 'partition';  -- ok
+ALTER SYSTEM RESET constraint_exclusion;  -- ok
+SET cursor_tuple_fraction = 0;  -- ok
+RESET cursor_tuple_fraction;  -- ok
+ALTER SYSTEM SET cursor_tuple_fraction = 0;  -- ok
+ALTER SYSTEM RESET cursor_tuple_fraction;  -- ok
+SET default_statistics_target = 5000;  -- ok
+RESET default_statistics_target;  -- ok
+ALTER SYSTEM SET default_statistics_target = 5000;  -- ok
+ALTER SYSTEM RESET default_statistics_target;  -- ok
+SET from_collapse_limit = 1073741824;  -- ok
+RESET from_collapse_limit;  -- ok
+ALTER SYSTEM SET from_collapse_limit = 1073741824;  -- ok
+ALTER SYSTEM RESET from_collapse_limit;  -- ok
+SET jit = ON;  -- ok
+RESET jit;  -- ok
+ALTER SYSTEM SET jit = ON;  -- ok
+ALTER SYSTEM RESET jit;  -- ok
+SET join_collapse_limit = 1073741824;  -- ok
+RESET join_collapse_limit;  -- ok
+ALTER SYSTEM SET join_collapse_limit = 1073741824;  -- ok
+ALTER SYSTEM RESET join_collapse_limit;  -- ok
+SET plan_cache_mode = 'force_generic_plan';  -- ok
+RESET plan_cache_mode;  -- ok
+ALTER SYSTEM SET plan_cache_mode = 'force_generic_plan';  -- ok
+ALTER SYSTEM RESET plan_cache_mode;  -- ok
+-- PGC_USERSET / GUC_INTERNAL_SETTINGS / REPLICATION_SENDING
+SET wal_sender_timeout = 50;  -- ok
+RESET wal_sender_timeout;  -- ok
+ALTER SYSTEM SET wal_sender_timeout = 50;  -- ok
+ALTER SYSTEM RESET wal_sender_timeout;  -- ok
+-- PGC_USERSET / GUC_INTERNAL_SETTINGS / RESOURCES_ASYNCHRONOUS
+SET backend_flush_after = 128;  -- ok
+RESET backend_flush_after;  -- ok
+ALTER SYSTEM SET backend_flush_after = 128;  -- ok
+ALTER SYSTEM RESET backend_flush_after;  -- ok
+SET max_parallel_maintenance_workers = 50;  -- ok
+RESET max_parallel_maintenance_workers;  -- ok
+ALTER SYSTEM SET max_parallel_maintenance_workers = 50;  -- ok
+ALTER SYSTEM RESET max_parallel_maintenance_workers;  -- ok
+SET max_parallel_workers = 50;  -- ok
+RESET max_parallel_workers;  -- ok
+ALTER SYSTEM SET max_parallel_workers = 50;  -- ok
+ALTER SYSTEM RESET max_parallel_workers;  -- ok
+SET max_parallel_workers_per_gather = 50;  -- ok
+RESET max_parallel_workers_per_gather;  -- ok
+ALTER SYSTEM SET max_parallel_workers_per_gather = 50;  -- ok
+ALTER SYSTEM RESET max_parallel_workers_per_gather;  -- ok
+SET parallel_leader_participation = ON;  -- ok
+RESET parallel_leader_participation;  -- ok
+ALTER SYSTEM SET parallel_leader_participation = ON;  -- ok
+ALTER SYSTEM RESET parallel_leader_participation;  -- ok
+-- PGC_USERSET / GUC_INTERNAL_SETTINGS / RESOURCES_MEM
+SET hash_mem_multiplier = 500;  -- ok
+RESET hash_mem_multiplier;  -- ok
+ALTER SYSTEM SET hash_mem_multiplier = 500;  -- ok
+ALTER SYSTEM RESET hash_mem_multiplier;  -- ok
+SET logical_decoding_work_mem = 1073741855;  -- ok
+RESET logical_decoding_work_mem;  -- ok
+ALTER SYSTEM SET logical_decoding_work_mem = 1073741855;  -- ok
+ALTER SYSTEM RESET logical_decoding_work_mem;  -- ok
+SET maintenance_work_mem = 1073742335;  -- ok
+RESET maintenance_work_mem;  -- ok
+ALTER SYSTEM SET maintenance_work_mem = 1073742335;  -- ok
+ALTER SYSTEM RESET maintenance_work_mem;  -- ok
+SET temp_buffers = 536870961;  -- ok
+RESET temp_buffers;  -- ok
+ALTER SYSTEM SET temp_buffers = 536870961;  -- ok
+ALTER SYSTEM RESET temp_buffers;  -- ok
+SET work_mem = 1073741855;  -- ok
+RESET work_mem;  -- ok
+ALTER SYSTEM SET work_mem = 1073741855;  -- ok
+ALTER SYSTEM RESET work_mem;  -- ok
+-- PGC_USERSET / GUC_INTERNAL_SETTINGS / RESOURCES_VACUUM_DELAY
+SET vacuum_cost_delay = 50;  -- ok
+RESET vacuum_cost_delay;  -- ok
+ALTER SYSTEM SET vacuum_cost_delay = 50;  -- ok
+ALTER SYSTEM RESET vacuum_cost_delay;  -- ok
+SET vacuum_cost_limit = 5000;  -- ok
+RESET vacuum_cost_limit;  -- ok
+ALTER SYSTEM SET vacuum_cost_limit = 5000;  -- ok
+ALTER SYSTEM RESET vacuum_cost_limit;  -- ok
+SET vacuum_cost_page_dirty = 50;  -- ok
+RESET vacuum_cost_page_dirty;  -- ok
+ALTER SYSTEM SET vacuum_cost_page_dirty = 50;  -- ok
+ALTER SYSTEM RESET vacuum_cost_page_dirty;  -- ok
+SET vacuum_cost_page_hit = 50;  -- ok
+RESET vacuum_cost_page_hit;  -- ok
+ALTER SYSTEM SET vacuum_cost_page_hit = 50;  -- ok
+ALTER SYSTEM RESET vacuum_cost_page_hit;  -- ok
+SET vacuum_cost_page_miss = 50;  -- ok
+RESET vacuum_cost_page_miss;  -- ok
+ALTER SYSTEM SET vacuum_cost_page_miss = 50;  -- ok
+ALTER SYSTEM RESET vacuum_cost_page_miss;  -- ok
+-- PGC_USERSET / GUC_INTERNAL_SETTINGS / UNGROUPED
+SET seed = 0;  -- ok
+RESET seed;  -- ok
+ALTER SYSTEM SET seed = 0;  -- fail, cannot be changed
+ERROR:  parameter "seed" cannot be changed
+ALTER SYSTEM RESET seed;  -- fail, cannot be changed
+ERROR:  parameter "seed" cannot be changed
+-- PGC_USERSET / GUC_INTERNAL_SETTINGS / WAL_SETTINGS
+SET commit_siblings = 50;  -- ok
+RESET commit_siblings;  -- ok
+ALTER SYSTEM SET commit_siblings = 50;  -- ok
+ALTER SYSTEM RESET commit_siblings;  -- ok
+SET synchronous_commit = 'remote_write';  -- ok
+RESET synchronous_commit;  -- ok
+ALTER SYSTEM SET synchronous_commit = 'remote_write';  -- ok
+ALTER SYSTEM RESET synchronous_commit;  -- ok
+SET wal_skip_threshold = 50;  -- ok
+RESET wal_skip_threshold;  -- ok
+ALTER SYSTEM SET wal_skip_threshold = 50;  -- ok
+ALTER SYSTEM RESET wal_skip_threshold;  -- ok
+-- PGC_USERSET / GUC_RESOURCE_USAGE / RESOURCES_ASYNCHRONOUS
+SET effective_io_concurrency = 0;  -- ok
+RESET effective_io_concurrency;  -- ok
+ALTER SYSTEM SET effective_io_concurrency = 0;  -- ok
+ALTER SYSTEM RESET effective_io_concurrency;  -- ok
+SET maintenance_io_concurrency = 0;  -- ok
+RESET maintenance_io_concurrency;  -- ok
+ALTER SYSTEM SET maintenance_io_concurrency = 0;  -- ok
+ALTER SYSTEM RESET maintenance_io_concurrency;  -- ok
+RESET statement_timeout;
+RESET SESSION AUTHORIZATION;
+DROP ROLE admin;
diff --git a/src/test/regress/expected/guc_priv_tenant.out b/src/test/regress/expected/guc_priv_tenant.out
new file mode 100644
index 0000000000..757cc3aa03
--- /dev/null
+++ b/src/test/regress/expected/guc_priv_tenant.out
@@ -0,0 +1,2237 @@
+-- Role operating exclusively within the sandbox
+CREATE ROLE tenant;
+GRANT pg_internal_settings TO tenant;
+GRANT pg_stats_settings TO tenant;
+GRANT pg_maintenance_settings TO tenant;
+-- Perform all operations as user 'tenant' --
+SET SESSION AUTHORIZATION tenant;
+-- PGC_BACKEND / GUC_INTERFACE_SETTINGS / DEVELOPER_OPTIONS
+SET post_auth_delay = 50;  -- fail, cannot be set after connection start
+ERROR:  parameter "post_auth_delay" cannot be set after connection start
+RESET post_auth_delay;  -- fail, cannot be set after connection start
+ERROR:  parameter "post_auth_delay" cannot be set after connection start
+ALTER SYSTEM SET post_auth_delay = 50;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "post_auth_delay"
+ALTER SYSTEM RESET post_auth_delay;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "post_auth_delay"
+-- PGC_BACKEND / GUC_INTERNAL_SETTINGS / DEVELOPER_OPTIONS
+SET ignore_system_indexes = ON;  -- fail, cannot be set after connection start
+ERROR:  parameter "ignore_system_indexes" cannot be set after connection start
+RESET ignore_system_indexes;  -- fail, cannot be set after connection start
+ERROR:  parameter "ignore_system_indexes" cannot be set after connection start
+ALTER SYSTEM SET ignore_system_indexes = ON;  -- ok
+ALTER SYSTEM RESET ignore_system_indexes;  -- ok
+-- PGC_INTERNAL / GUC_INTERNAL_SETTINGS / PRESET_OPTIONS
+SET block_size = 50;  -- fail, cannot be changed
+ERROR:  parameter "block_size" cannot be changed
+RESET block_size;  -- fail, cannot be changed
+ERROR:  parameter "block_size" cannot be changed
+ALTER SYSTEM SET block_size = 50;  -- fail, cannot be changed
+ERROR:  parameter "block_size" cannot be changed
+ALTER SYSTEM RESET block_size;  -- fail, cannot be changed
+ERROR:  parameter "block_size" cannot be changed
+SET data_checksums = ON;  -- fail, cannot be changed
+ERROR:  parameter "data_checksums" cannot be changed
+RESET data_checksums;  -- fail, cannot be changed
+ERROR:  parameter "data_checksums" cannot be changed
+ALTER SYSTEM SET data_checksums = ON;  -- fail, cannot be changed
+ERROR:  parameter "data_checksums" cannot be changed
+ALTER SYSTEM RESET data_checksums;  -- fail, cannot be changed
+ERROR:  parameter "data_checksums" cannot be changed
+SET data_directory_mode = 50;  -- fail, cannot be changed
+ERROR:  parameter "data_directory_mode" cannot be changed
+RESET data_directory_mode;  -- fail, cannot be changed
+ERROR:  parameter "data_directory_mode" cannot be changed
+ALTER SYSTEM SET data_directory_mode = 50;  -- fail, cannot be changed
+ERROR:  parameter "data_directory_mode" cannot be changed
+ALTER SYSTEM RESET data_directory_mode;  -- fail, cannot be changed
+ERROR:  parameter "data_directory_mode" cannot be changed
+SET debug_assertions = ON;  -- fail, cannot be changed
+ERROR:  parameter "debug_assertions" cannot be changed
+RESET debug_assertions;  -- fail, cannot be changed
+ERROR:  parameter "debug_assertions" cannot be changed
+ALTER SYSTEM SET debug_assertions = ON;  -- fail, cannot be changed
+ERROR:  parameter "debug_assertions" cannot be changed
+ALTER SYSTEM RESET debug_assertions;  -- fail, cannot be changed
+ERROR:  parameter "debug_assertions" cannot be changed
+SET in_hot_standby = ON;  -- fail, cannot be changed
+ERROR:  parameter "in_hot_standby" cannot be changed
+RESET in_hot_standby;  -- fail, cannot be changed
+ERROR:  parameter "in_hot_standby" cannot be changed
+ALTER SYSTEM SET in_hot_standby = ON;  -- fail, cannot be changed
+ERROR:  parameter "in_hot_standby" cannot be changed
+ALTER SYSTEM RESET in_hot_standby;  -- fail, cannot be changed
+ERROR:  parameter "in_hot_standby" cannot be changed
+SET integer_datetimes = ON;  -- fail, cannot be changed
+ERROR:  parameter "integer_datetimes" cannot be changed
+RESET integer_datetimes;  -- fail, cannot be changed
+ERROR:  parameter "integer_datetimes" cannot be changed
+ALTER SYSTEM SET integer_datetimes = ON;  -- fail, cannot be changed
+ERROR:  parameter "integer_datetimes" cannot be changed
+ALTER SYSTEM RESET integer_datetimes;  -- fail, cannot be changed
+ERROR:  parameter "integer_datetimes" cannot be changed
+SET lc_collate = 'en_US.UTF-8';  -- fail, cannot be changed
+ERROR:  parameter "lc_collate" cannot be changed
+RESET lc_collate;  -- fail, cannot be changed
+ERROR:  parameter "lc_collate" cannot be changed
+ALTER SYSTEM SET lc_collate = 'en_US.UTF-8';  -- fail, cannot be changed
+ERROR:  parameter "lc_collate" cannot be changed
+ALTER SYSTEM RESET lc_collate;  -- fail, cannot be changed
+ERROR:  parameter "lc_collate" cannot be changed
+SET lc_ctype = 'en_US.UTF-8';  -- fail, cannot be changed
+ERROR:  parameter "lc_ctype" cannot be changed
+RESET lc_ctype;  -- fail, cannot be changed
+ERROR:  parameter "lc_ctype" cannot be changed
+ALTER SYSTEM SET lc_ctype = 'en_US.UTF-8';  -- fail, cannot be changed
+ERROR:  parameter "lc_ctype" cannot be changed
+ALTER SYSTEM RESET lc_ctype;  -- fail, cannot be changed
+ERROR:  parameter "lc_ctype" cannot be changed
+SET max_function_args = 50;  -- fail, cannot be changed
+ERROR:  parameter "max_function_args" cannot be changed
+RESET max_function_args;  -- fail, cannot be changed
+ERROR:  parameter "max_function_args" cannot be changed
+ALTER SYSTEM SET max_function_args = 50;  -- fail, cannot be changed
+ERROR:  parameter "max_function_args" cannot be changed
+ALTER SYSTEM RESET max_function_args;  -- fail, cannot be changed
+ERROR:  parameter "max_function_args" cannot be changed
+SET max_identifier_length = 50;  -- fail, cannot be changed
+ERROR:  parameter "max_identifier_length" cannot be changed
+RESET max_identifier_length;  -- fail, cannot be changed
+ERROR:  parameter "max_identifier_length" cannot be changed
+ALTER SYSTEM SET max_identifier_length = 50;  -- fail, cannot be changed
+ERROR:  parameter "max_identifier_length" cannot be changed
+ALTER SYSTEM RESET max_identifier_length;  -- fail, cannot be changed
+ERROR:  parameter "max_identifier_length" cannot be changed
+SET max_index_keys = 50;  -- fail, cannot be changed
+ERROR:  parameter "max_index_keys" cannot be changed
+RESET max_index_keys;  -- fail, cannot be changed
+ERROR:  parameter "max_index_keys" cannot be changed
+ALTER SYSTEM SET max_index_keys = 50;  -- fail, cannot be changed
+ERROR:  parameter "max_index_keys" cannot be changed
+ALTER SYSTEM RESET max_index_keys;  -- fail, cannot be changed
+ERROR:  parameter "max_index_keys" cannot be changed
+SET segment_size = 50;  -- fail, cannot be changed
+ERROR:  parameter "segment_size" cannot be changed
+RESET segment_size;  -- fail, cannot be changed
+ERROR:  parameter "segment_size" cannot be changed
+ALTER SYSTEM SET segment_size = 50;  -- fail, cannot be changed
+ERROR:  parameter "segment_size" cannot be changed
+ALTER SYSTEM RESET segment_size;  -- fail, cannot be changed
+ERROR:  parameter "segment_size" cannot be changed
+SET server_encoding = 'UTF8';  -- fail, cannot be changed
+ERROR:  parameter "server_encoding" cannot be changed
+RESET server_encoding;  -- fail, cannot be changed
+ERROR:  parameter "server_encoding" cannot be changed
+ALTER SYSTEM SET server_encoding = 'UTF8';  -- fail, cannot be changed
+ERROR:  parameter "server_encoding" cannot be changed
+ALTER SYSTEM RESET server_encoding;  -- fail, cannot be changed
+ERROR:  parameter "server_encoding" cannot be changed
+SET server_version = '9.1';  -- fail, cannot be changed
+ERROR:  parameter "server_version" cannot be changed
+RESET server_version;  -- fail, cannot be changed
+ERROR:  parameter "server_version" cannot be changed
+ALTER SYSTEM SET server_version = '9.1';  -- fail, cannot be changed
+ERROR:  parameter "server_version" cannot be changed
+ALTER SYSTEM RESET server_version;  -- fail, cannot be changed
+ERROR:  parameter "server_version" cannot be changed
+SET server_version_num = 50;  -- fail, cannot be changed
+ERROR:  parameter "server_version_num" cannot be changed
+RESET server_version_num;  -- fail, cannot be changed
+ERROR:  parameter "server_version_num" cannot be changed
+ALTER SYSTEM SET server_version_num = 50;  -- fail, cannot be changed
+ERROR:  parameter "server_version_num" cannot be changed
+ALTER SYSTEM RESET server_version_num;  -- fail, cannot be changed
+ERROR:  parameter "server_version_num" cannot be changed
+SET ssl_library = 'OpenSSL';  -- fail, cannot be changed
+ERROR:  parameter "ssl_library" cannot be changed
+RESET ssl_library;  -- fail, cannot be changed
+ERROR:  parameter "ssl_library" cannot be changed
+ALTER SYSTEM SET ssl_library = 'OpenSSL';  -- fail, cannot be changed
+ERROR:  parameter "ssl_library" cannot be changed
+ALTER SYSTEM RESET ssl_library;  -- fail, cannot be changed
+ERROR:  parameter "ssl_library" cannot be changed
+SET wal_block_size = 50;  -- fail, cannot be changed
+ERROR:  parameter "wal_block_size" cannot be changed
+RESET wal_block_size;  -- fail, cannot be changed
+ERROR:  parameter "wal_block_size" cannot be changed
+ALTER SYSTEM SET wal_block_size = 50;  -- fail, cannot be changed
+ERROR:  parameter "wal_block_size" cannot be changed
+ALTER SYSTEM RESET wal_block_size;  -- fail, cannot be changed
+ERROR:  parameter "wal_block_size" cannot be changed
+SET wal_segment_size = 50;  -- fail, cannot be changed
+ERROR:  parameter "wal_segment_size" cannot be changed
+RESET wal_segment_size;  -- fail, cannot be changed
+ERROR:  parameter "wal_segment_size" cannot be changed
+ALTER SYSTEM SET wal_segment_size = 50;  -- fail, cannot be changed
+ERROR:  parameter "wal_segment_size" cannot be changed
+ALTER SYSTEM RESET wal_segment_size;  -- fail, cannot be changed
+ERROR:  parameter "wal_segment_size" cannot be changed
+-- PGC_INTERNAL / GUC_INTERNAL_SETTINGS / UNGROUPED
+SET is_superuser = ON;  -- fail, cannot be changed
+ERROR:  parameter "is_superuser" cannot be changed
+RESET is_superuser;  -- fail, cannot be changed
+ERROR:  parameter "is_superuser" cannot be changed
+ALTER SYSTEM SET is_superuser = ON;  -- fail, cannot be changed
+ERROR:  parameter "is_superuser" cannot be changed
+ALTER SYSTEM RESET is_superuser;  -- fail, cannot be changed
+ERROR:  parameter "is_superuser" cannot be changed
+-- PGC_POSTMASTER / GUC_FILESYSTEM_SECURITY / CLIENT_CONN_PRELOAD
+SET shared_preload_libraries = 'iconv, pcre';  -- fail, requires restart
+ERROR:  parameter "shared_preload_libraries" cannot be changed without restarting the server
+RESET shared_preload_libraries;  -- fail, requires restart
+ERROR:  parameter "shared_preload_libraries" cannot be changed without restarting the server
+ALTER SYSTEM SET shared_preload_libraries = 'iconv, pcre';  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "shared_preload_libraries"
+ALTER SYSTEM RESET shared_preload_libraries;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "shared_preload_libraries"
+-- PGC_POSTMASTER / GUC_FILESYSTEM_SECURITY / FILE_LOCATIONS
+SET config_file = '/usr/local/data/postgresql.conf';  -- fail, requires restart
+ERROR:  parameter "config_file" cannot be changed without restarting the server
+RESET config_file;  -- fail, requires restart
+ERROR:  parameter "config_file" cannot be changed without restarting the server
+ALTER SYSTEM SET config_file = '/usr/local/data/postgresql.conf';  -- fail, cannot be changed
+ERROR:  parameter "config_file" cannot be changed
+ALTER SYSTEM RESET config_file;  -- fail, cannot be changed
+ERROR:  parameter "config_file" cannot be changed
+SET data_directory = '/usr/local/data';  -- fail, requires restart
+ERROR:  parameter "data_directory" cannot be changed without restarting the server
+RESET data_directory;  -- fail, requires restart
+ERROR:  parameter "data_directory" cannot be changed without restarting the server
+ALTER SYSTEM SET data_directory = '/usr/local/data';  -- fail, cannot be changed
+ERROR:  parameter "data_directory" cannot be changed
+ALTER SYSTEM RESET data_directory;  -- fail, cannot be changed
+ERROR:  parameter "data_directory" cannot be changed
+SET external_pid_file = '/var/postgres/master.pid';  -- fail, requires restart
+ERROR:  parameter "external_pid_file" cannot be changed without restarting the server
+RESET external_pid_file;  -- fail, requires restart
+ERROR:  parameter "external_pid_file" cannot be changed without restarting the server
+ALTER SYSTEM SET external_pid_file = '/var/postgres/master.pid';  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "external_pid_file"
+ALTER SYSTEM RESET external_pid_file;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "external_pid_file"
+-- PGC_POSTMASTER / GUC_FILESYSTEM_SECURITY | GUC_INTERFACE_SETTINGS / CONN_AUTH_SETTINGS
+SET unix_socket_directories = '/tmp';  -- fail, requires restart
+ERROR:  parameter "unix_socket_directories" cannot be changed without restarting the server
+RESET unix_socket_directories;  -- fail, requires restart
+ERROR:  parameter "unix_socket_directories" cannot be changed without restarting the server
+ALTER SYSTEM SET unix_socket_directories = '/tmp';  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "unix_socket_directories"
+ALTER SYSTEM RESET unix_socket_directories;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "unix_socket_directories"
+SET unix_socket_group = 'tenant';  -- fail, requires restart
+ERROR:  parameter "unix_socket_group" cannot be changed without restarting the server
+RESET unix_socket_group;  -- fail, requires restart
+ERROR:  parameter "unix_socket_group" cannot be changed without restarting the server
+ALTER SYSTEM SET unix_socket_group = 'tenant';  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "unix_socket_group"
+ALTER SYSTEM RESET unix_socket_group;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "unix_socket_group"
+-- PGC_POSTMASTER / GUC_FILESYSTEM_SECURITY | GUC_LOGGING_SETTINGS | GUC_RESOURCE_USAGE | GUC_SECURITY_SETTINGS / LOGGING_WHERE
+SET logging_collector = ON;  -- fail, requires restart
+ERROR:  parameter "logging_collector" cannot be changed without restarting the server
+RESET logging_collector;  -- fail, requires restart
+ERROR:  parameter "logging_collector" cannot be changed without restarting the server
+ALTER SYSTEM SET logging_collector = ON;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "logging_collector"
+ALTER SYSTEM RESET logging_collector;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "logging_collector"
+-- PGC_POSTMASTER / GUC_INTERFACE_SETTINGS / CONN_AUTH_SETTINGS
+SET bonjour = ON;  -- fail, requires restart
+ERROR:  parameter "bonjour" cannot be changed without restarting the server
+RESET bonjour;  -- fail, requires restart
+ERROR:  parameter "bonjour" cannot be changed without restarting the server
+ALTER SYSTEM SET bonjour = ON;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "bonjour"
+ALTER SYSTEM RESET bonjour;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "bonjour"
+SET bonjour_name = 'BonneNuit';  -- fail, requires restart
+ERROR:  parameter "bonjour_name" cannot be changed without restarting the server
+RESET bonjour_name;  -- fail, requires restart
+ERROR:  parameter "bonjour_name" cannot be changed without restarting the server
+ALTER SYSTEM SET bonjour_name = 'BonneNuit';  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "bonjour_name"
+ALTER SYSTEM RESET bonjour_name;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "bonjour_name"
+SET listen_addresses = 'localhost';  -- fail, requires restart
+ERROR:  parameter "listen_addresses" cannot be changed without restarting the server
+RESET listen_addresses;  -- fail, requires restart
+ERROR:  parameter "listen_addresses" cannot be changed without restarting the server
+ALTER SYSTEM SET listen_addresses = 'localhost';  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "listen_addresses"
+ALTER SYSTEM RESET listen_addresses;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "listen_addresses"
+SET max_connections = 50;  -- fail, requires restart
+ERROR:  parameter "max_connections" cannot be changed without restarting the server
+RESET max_connections;  -- fail, requires restart
+ERROR:  parameter "max_connections" cannot be changed without restarting the server
+ALTER SYSTEM SET max_connections = 50;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "max_connections"
+ALTER SYSTEM RESET max_connections;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "max_connections"
+SET port = 50;  -- fail, requires restart
+ERROR:  parameter "port" cannot be changed without restarting the server
+RESET port;  -- fail, requires restart
+ERROR:  parameter "port" cannot be changed without restarting the server
+ALTER SYSTEM SET port = 50;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "port"
+ALTER SYSTEM RESET port;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "port"
+SET superuser_reserved_connections = 50;  -- fail, requires restart
+ERROR:  parameter "superuser_reserved_connections" cannot be changed without restarting the server
+RESET superuser_reserved_connections;  -- fail, requires restart
+ERROR:  parameter "superuser_reserved_connections" cannot be changed without restarting the server
+ALTER SYSTEM SET superuser_reserved_connections = 50;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "superuser_reserved_connections"
+ALTER SYSTEM RESET superuser_reserved_connections;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "superuser_reserved_connections"
+SET unix_socket_permissions = 50;  -- fail, requires restart
+ERROR:  parameter "unix_socket_permissions" cannot be changed without restarting the server
+RESET unix_socket_permissions;  -- fail, requires restart
+ERROR:  parameter "unix_socket_permissions" cannot be changed without restarting the server
+ALTER SYSTEM SET unix_socket_permissions = 50;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "unix_socket_permissions"
+ALTER SYSTEM RESET unix_socket_permissions;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "unix_socket_permissions"
+-- PGC_POSTMASTER / GUC_INTERNAL_SETTINGS | GUC_RESOURCE_USAGE / RESOURCES_MEM
+SET huge_pages = 'try';  -- fail, requires restart
+ERROR:  parameter "huge_pages" cannot be changed without restarting the server
+RESET huge_pages;  -- fail, requires restart
+ERROR:  parameter "huge_pages" cannot be changed without restarting the server
+ALTER SYSTEM SET huge_pages = 'try';  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "huge_pages"
+ALTER SYSTEM RESET huge_pages;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "huge_pages"
+-- PGC_POSTMASTER / GUC_INTERNAL_SETTINGS | GUC_SECURITY_SETTINGS / CLIENT_CONN_PRELOAD
+SET jit_provider = 'llvmjit';  -- fail, requires restart
+ERROR:  parameter "jit_provider" cannot be changed without restarting the server
+RESET jit_provider;  -- fail, requires restart
+ERROR:  parameter "jit_provider" cannot be changed without restarting the server
+ALTER SYSTEM SET jit_provider = 'llvmjit';  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "jit_provider"
+ALTER SYSTEM RESET jit_provider;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "jit_provider"
+-- PGC_POSTMASTER / GUC_LOGGING_SETTINGS / PROCESS_TITLE
+SET cluster_name = 'BonCluster';  -- fail, requires restart
+ERROR:  parameter "cluster_name" cannot be changed without restarting the server
+RESET cluster_name;  -- fail, requires restart
+ERROR:  parameter "cluster_name" cannot be changed without restarting the server
+ALTER SYSTEM SET cluster_name = 'BonCluster';  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "cluster_name"
+ALTER SYSTEM RESET cluster_name;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "cluster_name"
+-- PGC_POSTMASTER / GUC_LOGGING_SETTINGS | GUC_SECURITY_SETTINGS / LOGGING_WHERE
+SET event_source = 'PostgreSQL';  -- fail, requires restart
+ERROR:  parameter "event_source" cannot be changed without restarting the server
+RESET event_source;  -- fail, requires restart
+ERROR:  parameter "event_source" cannot be changed without restarting the server
+ALTER SYSTEM SET event_source = 'PostgreSQL';  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "event_source"
+ALTER SYSTEM RESET event_source;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "event_source"
+-- PGC_POSTMASTER / GUC_MAINTENANCE_SETTINGS / AUTOVACUUM
+SET autovacuum_freeze_max_age = 1000050000;  -- fail, requires restart
+ERROR:  parameter "autovacuum_freeze_max_age" cannot be changed without restarting the server
+RESET autovacuum_freeze_max_age;  -- fail, requires restart
+ERROR:  parameter "autovacuum_freeze_max_age" cannot be changed without restarting the server
+ALTER SYSTEM SET autovacuum_freeze_max_age = 1000050000;  -- ok
+ALTER SYSTEM RESET autovacuum_freeze_max_age;  -- ok
+SET autovacuum_multixact_freeze_max_age = 1000005000;  -- fail, requires restart
+ERROR:  parameter "autovacuum_multixact_freeze_max_age" cannot be changed without restarting the server
+RESET autovacuum_multixact_freeze_max_age;  -- fail, requires restart
+ERROR:  parameter "autovacuum_multixact_freeze_max_age" cannot be changed without restarting the server
+ALTER SYSTEM SET autovacuum_multixact_freeze_max_age = 1000005000;  -- ok
+ALTER SYSTEM RESET autovacuum_multixact_freeze_max_age;  -- ok
+-- PGC_POSTMASTER / GUC_MAINTENANCE_SETTINGS | GUC_RESOURCE_USAGE / AUTOVACUUM
+SET autovacuum_max_workers = 50;  -- fail, requires restart
+ERROR:  parameter "autovacuum_max_workers" cannot be changed without restarting the server
+RESET autovacuum_max_workers;  -- fail, requires restart
+ERROR:  parameter "autovacuum_max_workers" cannot be changed without restarting the server
+ALTER SYSTEM SET autovacuum_max_workers = 50;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "autovacuum_max_workers"
+ALTER SYSTEM RESET autovacuum_max_workers;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "autovacuum_max_workers"
+-- PGC_POSTMASTER / GUC_RESOURCE_USAGE / LOCK_MANAGEMENT
+SET max_locks_per_transaction = 50;  -- fail, requires restart
+ERROR:  parameter "max_locks_per_transaction" cannot be changed without restarting the server
+RESET max_locks_per_transaction;  -- fail, requires restart
+ERROR:  parameter "max_locks_per_transaction" cannot be changed without restarting the server
+ALTER SYSTEM SET max_locks_per_transaction = 50;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "max_locks_per_transaction"
+ALTER SYSTEM RESET max_locks_per_transaction;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "max_locks_per_transaction"
+SET max_pred_locks_per_transaction = 50;  -- fail, requires restart
+ERROR:  parameter "max_pred_locks_per_transaction" cannot be changed without restarting the server
+RESET max_pred_locks_per_transaction;  -- fail, requires restart
+ERROR:  parameter "max_pred_locks_per_transaction" cannot be changed without restarting the server
+ALTER SYSTEM SET max_pred_locks_per_transaction = 50;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "max_pred_locks_per_transaction"
+ALTER SYSTEM RESET max_pred_locks_per_transaction;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "max_pred_locks_per_transaction"
+-- PGC_POSTMASTER / GUC_RESOURCE_USAGE / REPLICATION_SUBSCRIBERS
+SET max_logical_replication_workers = 50;  -- fail, requires restart
+ERROR:  parameter "max_logical_replication_workers" cannot be changed without restarting the server
+RESET max_logical_replication_workers;  -- fail, requires restart
+ERROR:  parameter "max_logical_replication_workers" cannot be changed without restarting the server
+ALTER SYSTEM SET max_logical_replication_workers = 50;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "max_logical_replication_workers"
+ALTER SYSTEM RESET max_logical_replication_workers;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "max_logical_replication_workers"
+-- PGC_POSTMASTER / GUC_RESOURCE_USAGE / RESOURCES_ASYNCHRONOUS
+SET max_worker_processes = 50;  -- fail, requires restart
+ERROR:  parameter "max_worker_processes" cannot be changed without restarting the server
+RESET max_worker_processes;  -- fail, requires restart
+ERROR:  parameter "max_worker_processes" cannot be changed without restarting the server
+ALTER SYSTEM SET max_worker_processes = 50;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "max_worker_processes"
+ALTER SYSTEM RESET max_worker_processes;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "max_worker_processes"
+SET old_snapshot_threshold = 50;  -- fail, requires restart
+ERROR:  parameter "old_snapshot_threshold" cannot be changed without restarting the server
+RESET old_snapshot_threshold;  -- fail, requires restart
+ERROR:  parameter "old_snapshot_threshold" cannot be changed without restarting the server
+ALTER SYSTEM SET old_snapshot_threshold = 50;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "old_snapshot_threshold"
+ALTER SYSTEM RESET old_snapshot_threshold;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "old_snapshot_threshold"
+-- PGC_POSTMASTER / GUC_RESOURCE_USAGE / RESOURCES_KERNEL
+SET max_files_per_process = 1073741855;  -- fail, requires restart
+ERROR:  parameter "max_files_per_process" cannot be changed without restarting the server
+RESET max_files_per_process;  -- fail, requires restart
+ERROR:  parameter "max_files_per_process" cannot be changed without restarting the server
+ALTER SYSTEM SET max_files_per_process = 1073741855;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "max_files_per_process"
+ALTER SYSTEM RESET max_files_per_process;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "max_files_per_process"
+-- PGC_POSTMASTER / GUC_RESOURCE_USAGE / RESOURCES_MEM
+SET max_prepared_transactions = 50;  -- fail, requires restart
+ERROR:  parameter "max_prepared_transactions" cannot be changed without restarting the server
+RESET max_prepared_transactions;  -- fail, requires restart
+ERROR:  parameter "max_prepared_transactions" cannot be changed without restarting the server
+ALTER SYSTEM SET max_prepared_transactions = 50;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "max_prepared_transactions"
+ALTER SYSTEM RESET max_prepared_transactions;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "max_prepared_transactions"
+SET min_dynamic_shared_memory = 50;  -- fail, requires restart
+ERROR:  parameter "min_dynamic_shared_memory" cannot be changed without restarting the server
+RESET min_dynamic_shared_memory;  -- fail, requires restart
+ERROR:  parameter "min_dynamic_shared_memory" cannot be changed without restarting the server
+ALTER SYSTEM SET min_dynamic_shared_memory = 50;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "min_dynamic_shared_memory"
+ALTER SYSTEM RESET min_dynamic_shared_memory;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "min_dynamic_shared_memory"
+SET shared_buffers = 50;  -- fail, requires restart
+ERROR:  parameter "shared_buffers" cannot be changed without restarting the server
+RESET shared_buffers;  -- fail, requires restart
+ERROR:  parameter "shared_buffers" cannot be changed without restarting the server
+ALTER SYSTEM SET shared_buffers = 50;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "shared_buffers"
+ALTER SYSTEM RESET shared_buffers;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "shared_buffers"
+-- PGC_POSTMASTER / GUC_RESOURCE_USAGE / STATS_COLLECTOR
+SET track_activity_query_size = 524338;  -- fail, requires restart
+ERROR:  parameter "track_activity_query_size" cannot be changed without restarting the server
+RESET track_activity_query_size;  -- fail, requires restart
+ERROR:  parameter "track_activity_query_size" cannot be changed without restarting the server
+ALTER SYSTEM SET track_activity_query_size = 524338;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "track_activity_query_size"
+ALTER SYSTEM RESET track_activity_query_size;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "track_activity_query_size"
+-- PGC_POSTMASTER / GUC_RESOURCE_USAGE | GUC_WAL_SETTINGS / REPLICATION_SENDING
+SET max_replication_slots = 50;  -- fail, requires restart
+ERROR:  parameter "max_replication_slots" cannot be changed without restarting the server
+RESET max_replication_slots;  -- fail, requires restart
+ERROR:  parameter "max_replication_slots" cannot be changed without restarting the server
+ALTER SYSTEM SET max_replication_slots = 50;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "max_replication_slots"
+ALTER SYSTEM RESET max_replication_slots;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "max_replication_slots"
+SET max_wal_senders = 50;  -- fail, requires restart
+ERROR:  parameter "max_wal_senders" cannot be changed without restarting the server
+RESET max_wal_senders;  -- fail, requires restart
+ERROR:  parameter "max_wal_senders" cannot be changed without restarting the server
+ALTER SYSTEM SET max_wal_senders = 50;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "max_wal_senders"
+ALTER SYSTEM RESET max_wal_senders;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "max_wal_senders"
+-- PGC_POSTMASTER / GUC_RESOURCE_USAGE | GUC_WAL_SETTINGS / WAL_SETTINGS
+SET wal_buffers = 50;  -- fail, requires restart
+ERROR:  parameter "wal_buffers" cannot be changed without restarting the server
+RESET wal_buffers;  -- fail, requires restart
+ERROR:  parameter "wal_buffers" cannot be changed without restarting the server
+ALTER SYSTEM SET wal_buffers = 50;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "wal_buffers"
+ALTER SYSTEM RESET wal_buffers;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "wal_buffers"
+-- PGC_POSTMASTER / GUC_SERVER_CONFIGURATION / RESOURCES_MEM
+SET dynamic_shared_memory_type = 'posix';  -- fail, requires restart
+ERROR:  parameter "dynamic_shared_memory_type" cannot be changed without restarting the server
+RESET dynamic_shared_memory_type;  -- fail, requires restart
+ERROR:  parameter "dynamic_shared_memory_type" cannot be changed without restarting the server
+ALTER SYSTEM SET dynamic_shared_memory_type = 'posix';  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "dynamic_shared_memory_type"
+ALTER SYSTEM RESET dynamic_shared_memory_type;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "dynamic_shared_memory_type"
+SET shared_memory_type = 'mmap';  -- fail, requires restart
+ERROR:  parameter "shared_memory_type" cannot be changed without restarting the server
+RESET shared_memory_type;  -- fail, requires restart
+ERROR:  parameter "shared_memory_type" cannot be changed without restarting the server
+ALTER SYSTEM SET shared_memory_type = 'mmap';  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "shared_memory_type"
+ALTER SYSTEM RESET shared_memory_type;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "shared_memory_type"
+-- PGC_POSTMASTER / GUC_STORAGE_SETTINGS / DEVELOPER_OPTIONS
+SET ignore_invalid_pages = ON;  -- fail, requires restart
+ERROR:  parameter "ignore_invalid_pages" cannot be changed without restarting the server
+RESET ignore_invalid_pages;  -- fail, requires restart
+ERROR:  parameter "ignore_invalid_pages" cannot be changed without restarting the server
+ALTER SYSTEM SET ignore_invalid_pages = ON;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "ignore_invalid_pages"
+ALTER SYSTEM RESET ignore_invalid_pages;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "ignore_invalid_pages"
+-- PGC_POSTMASTER / GUC_STORAGE_SETTINGS / ERROR_HANDLING_OPTIONS
+SET data_sync_retry = ON;  -- fail, requires restart
+ERROR:  parameter "data_sync_retry" cannot be changed without restarting the server
+RESET data_sync_retry;  -- fail, requires restart
+ERROR:  parameter "data_sync_retry" cannot be changed without restarting the server
+ALTER SYSTEM SET data_sync_retry = ON;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "data_sync_retry"
+ALTER SYSTEM RESET data_sync_retry;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "data_sync_retry"
+-- PGC_POSTMASTER / GUC_WAL_SETTINGS / ERROR_HANDLING_OPTIONS
+SET recovery_init_sync_method = 'fsync';  -- fail, requires restart
+ERROR:  parameter "recovery_init_sync_method" cannot be changed without restarting the server
+RESET recovery_init_sync_method;  -- fail, requires restart
+ERROR:  parameter "recovery_init_sync_method" cannot be changed without restarting the server
+ALTER SYSTEM SET recovery_init_sync_method = 'fsync';  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "recovery_init_sync_method"
+ALTER SYSTEM RESET recovery_init_sync_method;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "recovery_init_sync_method"
+-- PGC_POSTMASTER / GUC_WAL_SETTINGS / REPLICATION_SENDING
+SET track_commit_timestamp = ON;  -- fail, requires restart
+ERROR:  parameter "track_commit_timestamp" cannot be changed without restarting the server
+RESET track_commit_timestamp;  -- fail, requires restart
+ERROR:  parameter "track_commit_timestamp" cannot be changed without restarting the server
+ALTER SYSTEM SET track_commit_timestamp = ON;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "track_commit_timestamp"
+ALTER SYSTEM RESET track_commit_timestamp;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "track_commit_timestamp"
+-- PGC_POSTMASTER / GUC_WAL_SETTINGS / REPLICATION_STANDBY
+SET hot_standby = ON;  -- fail, requires restart
+ERROR:  parameter "hot_standby" cannot be changed without restarting the server
+RESET hot_standby;  -- fail, requires restart
+ERROR:  parameter "hot_standby" cannot be changed without restarting the server
+ALTER SYSTEM SET hot_standby = ON;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "hot_standby"
+ALTER SYSTEM RESET hot_standby;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "hot_standby"
+-- PGC_POSTMASTER / GUC_WAL_SETTINGS / WAL_ARCHIVING
+SET archive_mode = 'off';  -- fail, requires restart
+ERROR:  parameter "archive_mode" cannot be changed without restarting the server
+RESET archive_mode;  -- fail, requires restart
+ERROR:  parameter "archive_mode" cannot be changed without restarting the server
+ALTER SYSTEM SET archive_mode = 'off';  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "archive_mode"
+ALTER SYSTEM RESET archive_mode;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "archive_mode"
+-- PGC_POSTMASTER / GUC_WAL_SETTINGS / WAL_RECOVERY_TARGET
+SET recovery_target_action = 'pause';  -- fail, requires restart
+ERROR:  parameter "recovery_target_action" cannot be changed without restarting the server
+RESET recovery_target_action;  -- fail, requires restart
+ERROR:  parameter "recovery_target_action" cannot be changed without restarting the server
+ALTER SYSTEM SET recovery_target_action = 'pause';  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "recovery_target_action"
+ALTER SYSTEM RESET recovery_target_action;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "recovery_target_action"
+SET recovery_target_inclusive = ON;  -- fail, requires restart
+ERROR:  parameter "recovery_target_inclusive" cannot be changed without restarting the server
+RESET recovery_target_inclusive;  -- fail, requires restart
+ERROR:  parameter "recovery_target_inclusive" cannot be changed without restarting the server
+ALTER SYSTEM SET recovery_target_inclusive = ON;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "recovery_target_inclusive"
+ALTER SYSTEM RESET recovery_target_inclusive;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "recovery_target_inclusive"
+SET recovery_target_lsn = '16/B374D848';  -- fail, requires restart
+ERROR:  parameter "recovery_target_lsn" cannot be changed without restarting the server
+RESET recovery_target_lsn;  -- fail, requires restart
+ERROR:  parameter "recovery_target_lsn" cannot be changed without restarting the server
+ALTER SYSTEM SET recovery_target_lsn = '16/B374D848';  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "recovery_target_lsn"
+ALTER SYSTEM RESET recovery_target_lsn;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "recovery_target_lsn"
+SET recovery_target_name = 'BonPoint';  -- fail, requires restart
+ERROR:  parameter "recovery_target_name" cannot be changed without restarting the server
+RESET recovery_target_name;  -- fail, requires restart
+ERROR:  parameter "recovery_target_name" cannot be changed without restarting the server
+ALTER SYSTEM SET recovery_target_name = 'BonPoint';  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "recovery_target_name"
+ALTER SYSTEM RESET recovery_target_name;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "recovery_target_name"
+SET recovery_target_time = '2001-02-03 04:05:06.789 Europe/Helsinki';  -- fail, requires restart
+ERROR:  parameter "recovery_target_time" cannot be changed without restarting the server
+RESET recovery_target_time;  -- fail, requires restart
+ERROR:  parameter "recovery_target_time" cannot be changed without restarting the server
+ALTER SYSTEM SET recovery_target_time = '2001-02-03 04:05:06.789 Europe/Helsinki';  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "recovery_target_time"
+ALTER SYSTEM RESET recovery_target_time;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "recovery_target_time"
+SET recovery_target_timeline = 'latest';  -- fail, requires restart
+ERROR:  parameter "recovery_target_timeline" cannot be changed without restarting the server
+RESET recovery_target_timeline;  -- fail, requires restart
+ERROR:  parameter "recovery_target_timeline" cannot be changed without restarting the server
+ALTER SYSTEM SET recovery_target_timeline = 'latest';  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "recovery_target_timeline"
+ALTER SYSTEM RESET recovery_target_timeline;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "recovery_target_timeline"
+SET recovery_target_xid = '12345678';  -- fail, requires restart
+ERROR:  parameter "recovery_target_xid" cannot be changed without restarting the server
+RESET recovery_target_xid;  -- fail, requires restart
+ERROR:  parameter "recovery_target_xid" cannot be changed without restarting the server
+ALTER SYSTEM SET recovery_target_xid = '12345678';  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "recovery_target_xid"
+ALTER SYSTEM RESET recovery_target_xid;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "recovery_target_xid"
+-- PGC_POSTMASTER / GUC_WAL_SETTINGS / WAL_SETTINGS
+SET wal_level = 'replica';  -- fail, requires restart
+ERROR:  parameter "wal_level" cannot be changed without restarting the server
+RESET wal_level;  -- fail, requires restart
+ERROR:  parameter "wal_level" cannot be changed without restarting the server
+ALTER SYSTEM SET wal_level = 'replica';  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "wal_level"
+ALTER SYSTEM RESET wal_level;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "wal_level"
+SET wal_log_hints = ON;  -- fail, requires restart
+ERROR:  parameter "wal_log_hints" cannot be changed without restarting the server
+RESET wal_log_hints;  -- fail, requires restart
+ERROR:  parameter "wal_log_hints" cannot be changed without restarting the server
+ALTER SYSTEM SET wal_log_hints = ON;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "wal_log_hints"
+ALTER SYSTEM RESET wal_log_hints;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "wal_log_hints"
+-- PGC_SIGHUP / GUC_EXEC_COMMAND / WAL_ARCHIVE_RECOVERY
+SET archive_cleanup_command = '/bin/cleanup my stuff';  -- fail, requires reload
+ERROR:  parameter "archive_cleanup_command" cannot be changed now
+RESET archive_cleanup_command;  -- fail, requires reload
+ERROR:  parameter "archive_cleanup_command" cannot be changed now
+ALTER SYSTEM SET archive_cleanup_command = '/bin/cleanup my stuff';  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "archive_cleanup_command"
+ALTER SYSTEM RESET archive_cleanup_command;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "archive_cleanup_command"
+SET recovery_end_command = '/bin/recover my stuff';  -- fail, requires reload
+ERROR:  parameter "recovery_end_command" cannot be changed now
+RESET recovery_end_command;  -- fail, requires reload
+ERROR:  parameter "recovery_end_command" cannot be changed now
+ALTER SYSTEM SET recovery_end_command = '/bin/recover my stuff';  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "recovery_end_command"
+ALTER SYSTEM RESET recovery_end_command;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "recovery_end_command"
+SET restore_command = '/bin/restore my stuff';  -- fail, requires reload
+ERROR:  parameter "restore_command" cannot be changed now
+RESET restore_command;  -- fail, requires reload
+ERROR:  parameter "restore_command" cannot be changed now
+ALTER SYSTEM SET restore_command = '/bin/restore my stuff';  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "restore_command"
+ALTER SYSTEM RESET restore_command;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "restore_command"
+-- PGC_SIGHUP / GUC_EXEC_COMMAND / WAL_ARCHIVING
+SET archive_command = '/bin/archive my stuff';  -- fail, requires reload
+ERROR:  parameter "archive_command" cannot be changed now
+RESET archive_command;  -- fail, requires reload
+ERROR:  parameter "archive_command" cannot be changed now
+ALTER SYSTEM SET archive_command = '/bin/archive my stuff';  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "archive_command"
+ALTER SYSTEM RESET archive_command;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "archive_command"
+-- PGC_SIGHUP / GUC_FILESYSTEM_SECURITY / CONN_AUTH_SSL
+SET ssl_ca_file = 'ca/server.ca';  -- fail, requires reload
+ERROR:  parameter "ssl_ca_file" cannot be changed now
+RESET ssl_ca_file;  -- fail, requires reload
+ERROR:  parameter "ssl_ca_file" cannot be changed now
+ALTER SYSTEM SET ssl_ca_file = 'ca/server.ca';  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "ssl_ca_file"
+ALTER SYSTEM RESET ssl_ca_file;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "ssl_ca_file"
+SET ssl_cert_file = 'crt/server.crt';  -- fail, requires reload
+ERROR:  parameter "ssl_cert_file" cannot be changed now
+RESET ssl_cert_file;  -- fail, requires reload
+ERROR:  parameter "ssl_cert_file" cannot be changed now
+ALTER SYSTEM SET ssl_cert_file = 'crt/server.crt';  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "ssl_cert_file"
+ALTER SYSTEM RESET ssl_cert_file;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "ssl_cert_file"
+SET ssl_crl_file = 'crl/server.crl';  -- fail, requires reload
+ERROR:  parameter "ssl_crl_file" cannot be changed now
+RESET ssl_crl_file;  -- fail, requires reload
+ERROR:  parameter "ssl_crl_file" cannot be changed now
+ALTER SYSTEM SET ssl_crl_file = 'crl/server.crl';  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "ssl_crl_file"
+ALTER SYSTEM RESET ssl_crl_file;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "ssl_crl_file"
+SET ssl_key_file = 'crl/server.key';  -- fail, requires reload
+ERROR:  parameter "ssl_key_file" cannot be changed now
+RESET ssl_key_file;  -- fail, requires reload
+ERROR:  parameter "ssl_key_file" cannot be changed now
+ALTER SYSTEM SET ssl_key_file = 'crl/server.key';  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "ssl_key_file"
+ALTER SYSTEM RESET ssl_key_file;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "ssl_key_file"
+-- PGC_SIGHUP / GUC_FILESYSTEM_SECURITY / STATS_COLLECTOR
+SET stats_temp_directory = 'pg_stat_tmp';  -- fail, requires reload
+ERROR:  parameter "stats_temp_directory" cannot be changed now
+RESET stats_temp_directory;  -- fail, requires reload
+ERROR:  parameter "stats_temp_directory" cannot be changed now
+ALTER SYSTEM SET stats_temp_directory = 'pg_stat_tmp';  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "stats_temp_directory"
+ALTER SYSTEM RESET stats_temp_directory;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "stats_temp_directory"
+-- PGC_SIGHUP / GUC_FILESYSTEM_SECURITY | GUC_INTERFACE_SETTINGS / CONN_AUTH_AUTH
+SET krb_server_keyfile = 'krb/server.key';  -- fail, requires reload
+ERROR:  parameter "krb_server_keyfile" cannot be changed now
+RESET krb_server_keyfile;  -- fail, requires reload
+ERROR:  parameter "krb_server_keyfile" cannot be changed now
+ALTER SYSTEM SET krb_server_keyfile = 'krb/server.key';  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "krb_server_keyfile"
+ALTER SYSTEM RESET krb_server_keyfile;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "krb_server_keyfile"
+-- PGC_SIGHUP / GUC_FILESYSTEM_SECURITY | GUC_LOGGING_SETTINGS / LOGGING_WHERE
+SET log_file_mode = 50;  -- fail, requires reload
+ERROR:  parameter "log_file_mode" cannot be changed now
+RESET log_file_mode;  -- fail, requires reload
+ERROR:  parameter "log_file_mode" cannot be changed now
+ALTER SYSTEM SET log_file_mode = 50;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "log_file_mode"
+ALTER SYSTEM RESET log_file_mode;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "log_file_mode"
+-- PGC_SIGHUP / GUC_FILESYSTEM_SECURITY | GUC_LOGGING_SETTINGS | GUC_RESOURCE_USAGE | GUC_SECURITY_SETTINGS / LOGGING_WHERE
+SET log_rotation_age = 50;  -- fail, requires reload
+ERROR:  parameter "log_rotation_age" cannot be changed now
+RESET log_rotation_age;  -- fail, requires reload
+ERROR:  parameter "log_rotation_age" cannot be changed now
+ALTER SYSTEM SET log_rotation_age = 50;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "log_rotation_age"
+ALTER SYSTEM RESET log_rotation_age;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "log_rotation_age"
+SET log_rotation_size = 50;  -- fail, requires reload
+ERROR:  parameter "log_rotation_size" cannot be changed now
+RESET log_rotation_size;  -- fail, requires reload
+ERROR:  parameter "log_rotation_size" cannot be changed now
+ALTER SYSTEM SET log_rotation_size = 50;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "log_rotation_size"
+ALTER SYSTEM RESET log_rotation_size;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "log_rotation_size"
+SET log_truncate_on_rotation = ON;  -- fail, requires reload
+ERROR:  parameter "log_truncate_on_rotation" cannot be changed now
+RESET log_truncate_on_rotation;  -- fail, requires reload
+ERROR:  parameter "log_truncate_on_rotation" cannot be changed now
+ALTER SYSTEM SET log_truncate_on_rotation = ON;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "log_truncate_on_rotation"
+ALTER SYSTEM RESET log_truncate_on_rotation;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "log_truncate_on_rotation"
+-- PGC_SIGHUP / GUC_FILESYSTEM_SECURITY | GUC_SECURITY_SETTINGS / CONN_AUTH_SSL
+SET ssl_crl_dir = 'crl/';  -- fail, requires reload
+ERROR:  parameter "ssl_crl_dir" cannot be changed now
+RESET ssl_crl_dir;  -- fail, requires reload
+ERROR:  parameter "ssl_crl_dir" cannot be changed now
+ALTER SYSTEM SET ssl_crl_dir = 'crl/';  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "ssl_crl_dir"
+ALTER SYSTEM RESET ssl_crl_dir;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "ssl_crl_dir"
+-- PGC_SIGHUP / GUC_FILESYSTEM_SECURITY | GUC_SECURITY_SETTINGS / LOGGING_WHERE
+SET log_directory = 'log';  -- fail, requires reload
+ERROR:  parameter "log_directory" cannot be changed now
+RESET log_directory;  -- fail, requires reload
+ERROR:  parameter "log_directory" cannot be changed now
+ALTER SYSTEM SET log_directory = 'log';  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "log_directory"
+ALTER SYSTEM RESET log_directory;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "log_directory"
+SET log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log';  -- fail, requires reload
+ERROR:  parameter "log_filename" cannot be changed now
+RESET log_filename;  -- fail, requires reload
+ERROR:  parameter "log_filename" cannot be changed now
+ALTER SYSTEM SET log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log';  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "log_filename"
+ALTER SYSTEM RESET log_filename;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "log_filename"
+-- PGC_SIGHUP / GUC_INTERFACE_SETTINGS / CONN_AUTH_AUTH
+SET authentication_timeout = 50;  -- fail, requires reload
+ERROR:  parameter "authentication_timeout" cannot be changed now
+RESET authentication_timeout;  -- fail, requires reload
+ERROR:  parameter "authentication_timeout" cannot be changed now
+ALTER SYSTEM SET authentication_timeout = 50;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "authentication_timeout"
+ALTER SYSTEM RESET authentication_timeout;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "authentication_timeout"
+SET db_user_namespace = ON;  -- fail, requires reload
+ERROR:  parameter "db_user_namespace" cannot be changed now
+RESET db_user_namespace;  -- fail, requires reload
+ERROR:  parameter "db_user_namespace" cannot be changed now
+ALTER SYSTEM SET db_user_namespace = ON;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "db_user_namespace"
+ALTER SYSTEM RESET db_user_namespace;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "db_user_namespace"
+SET krb_caseins_users = ON;  -- fail, requires reload
+ERROR:  parameter "krb_caseins_users" cannot be changed now
+RESET krb_caseins_users;  -- fail, requires reload
+ERROR:  parameter "krb_caseins_users" cannot be changed now
+ALTER SYSTEM SET krb_caseins_users = ON;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "krb_caseins_users"
+ALTER SYSTEM RESET krb_caseins_users;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "krb_caseins_users"
+-- PGC_SIGHUP / GUC_INTERFACE_SETTINGS / CONN_AUTH_SSL
+SET ssl_ciphers = 'none';  -- fail, requires reload
+ERROR:  parameter "ssl_ciphers" cannot be changed now
+RESET ssl_ciphers;  -- fail, requires reload
+ERROR:  parameter "ssl_ciphers" cannot be changed now
+ALTER SYSTEM SET ssl_ciphers = 'none';  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "ssl_ciphers"
+ALTER SYSTEM RESET ssl_ciphers;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "ssl_ciphers"
+SET ssl_dh_params_file = 'ssl/params';  -- fail, requires reload
+ERROR:  parameter "ssl_dh_params_file" cannot be changed now
+RESET ssl_dh_params_file;  -- fail, requires reload
+ERROR:  parameter "ssl_dh_params_file" cannot be changed now
+ALTER SYSTEM SET ssl_dh_params_file = 'ssl/params';  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "ssl_dh_params_file"
+ALTER SYSTEM RESET ssl_dh_params_file;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "ssl_dh_params_file"
+SET ssl_ecdh_curve = 'none';  -- fail, requires reload
+ERROR:  parameter "ssl_ecdh_curve" cannot be changed now
+RESET ssl_ecdh_curve;  -- fail, requires reload
+ERROR:  parameter "ssl_ecdh_curve" cannot be changed now
+ALTER SYSTEM SET ssl_ecdh_curve = 'none';  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "ssl_ecdh_curve"
+ALTER SYSTEM RESET ssl_ecdh_curve;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "ssl_ecdh_curve"
+SET ssl_min_protocol_version = 'TLSv1.2';  -- fail, requires reload
+ERROR:  parameter "ssl_min_protocol_version" cannot be changed now
+RESET ssl_min_protocol_version;  -- fail, requires reload
+ERROR:  parameter "ssl_min_protocol_version" cannot be changed now
+ALTER SYSTEM SET ssl_min_protocol_version = 'TLSv1.2';  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "ssl_min_protocol_version"
+ALTER SYSTEM RESET ssl_min_protocol_version;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "ssl_min_protocol_version"
+SET ssl_passphrase_command = '/bin/passphrase';  -- fail, requires reload
+ERROR:  parameter "ssl_passphrase_command" cannot be changed now
+RESET ssl_passphrase_command;  -- fail, requires reload
+ERROR:  parameter "ssl_passphrase_command" cannot be changed now
+ALTER SYSTEM SET ssl_passphrase_command = '/bin/passphrase';  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "ssl_passphrase_command"
+ALTER SYSTEM RESET ssl_passphrase_command;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "ssl_passphrase_command"
+SET ssl_passphrase_command_supports_reload = ON;  -- fail, requires reload
+ERROR:  parameter "ssl_passphrase_command_supports_reload" cannot be changed now
+RESET ssl_passphrase_command_supports_reload;  -- fail, requires reload
+ERROR:  parameter "ssl_passphrase_command_supports_reload" cannot be changed now
+ALTER SYSTEM SET ssl_passphrase_command_supports_reload = ON;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "ssl_passphrase_command_supports_reload"
+ALTER SYSTEM RESET ssl_passphrase_command_supports_reload;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "ssl_passphrase_command_supports_reload"
+SET ssl_prefer_server_ciphers = ON;  -- fail, requires reload
+ERROR:  parameter "ssl_prefer_server_ciphers" cannot be changed now
+RESET ssl_prefer_server_ciphers;  -- fail, requires reload
+ERROR:  parameter "ssl_prefer_server_ciphers" cannot be changed now
+ALTER SYSTEM SET ssl_prefer_server_ciphers = ON;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "ssl_prefer_server_ciphers"
+ALTER SYSTEM RESET ssl_prefer_server_ciphers;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "ssl_prefer_server_ciphers"
+-- PGC_SIGHUP / GUC_INTERFACE_SETTINGS / DEVELOPER_OPTIONS
+SET pre_auth_delay = 50;  -- fail, requires reload
+ERROR:  parameter "pre_auth_delay" cannot be changed now
+RESET pre_auth_delay;  -- fail, requires reload
+ERROR:  parameter "pre_auth_delay" cannot be changed now
+ALTER SYSTEM SET pre_auth_delay = 50;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "pre_auth_delay"
+ALTER SYSTEM RESET pre_auth_delay;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "pre_auth_delay"
+-- PGC_SIGHUP / GUC_INTERFACE_SETTINGS | GUC_LOGGING_SETTINGS / LOGGING_WHAT
+SET log_hostname = ON;  -- fail, requires reload
+ERROR:  parameter "log_hostname" cannot be changed now
+RESET log_hostname;  -- fail, requires reload
+ERROR:  parameter "log_hostname" cannot be changed now
+ALTER SYSTEM SET log_hostname = ON;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "log_hostname"
+ALTER SYSTEM RESET log_hostname;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "log_hostname"
+-- PGC_SIGHUP / GUC_LOGGING_SETTINGS / LOGGING_WHAT
+SET log_autovacuum_min_duration = 50;  -- fail, requires reload
+ERROR:  parameter "log_autovacuum_min_duration" cannot be changed now
+RESET log_autovacuum_min_duration;  -- fail, requires reload
+ERROR:  parameter "log_autovacuum_min_duration" cannot be changed now
+ALTER SYSTEM SET log_autovacuum_min_duration = 50;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "log_autovacuum_min_duration"
+ALTER SYSTEM RESET log_autovacuum_min_duration;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "log_autovacuum_min_duration"
+SET log_checkpoints = ON;  -- fail, requires reload
+ERROR:  parameter "log_checkpoints" cannot be changed now
+RESET log_checkpoints;  -- fail, requires reload
+ERROR:  parameter "log_checkpoints" cannot be changed now
+ALTER SYSTEM SET log_checkpoints = ON;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "log_checkpoints"
+ALTER SYSTEM RESET log_checkpoints;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "log_checkpoints"
+SET log_line_prefix = '%m [%p] ';  -- fail, requires reload
+ERROR:  parameter "log_line_prefix" cannot be changed now
+RESET log_line_prefix;  -- fail, requires reload
+ERROR:  parameter "log_line_prefix" cannot be changed now
+ALTER SYSTEM SET log_line_prefix = '%m [%p] ';  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "log_line_prefix"
+ALTER SYSTEM RESET log_line_prefix;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "log_line_prefix"
+SET log_recovery_conflict_waits = ON;  -- fail, requires reload
+ERROR:  parameter "log_recovery_conflict_waits" cannot be changed now
+RESET log_recovery_conflict_waits;  -- fail, requires reload
+ERROR:  parameter "log_recovery_conflict_waits" cannot be changed now
+ALTER SYSTEM SET log_recovery_conflict_waits = ON;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "log_recovery_conflict_waits"
+ALTER SYSTEM RESET log_recovery_conflict_waits;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "log_recovery_conflict_waits"
+SET log_timezone = 'Europe/Helsinki';  -- fail, requires reload
+ERROR:  parameter "log_timezone" cannot be changed now
+RESET log_timezone;  -- fail, requires reload
+ERROR:  parameter "log_timezone" cannot be changed now
+ALTER SYSTEM SET log_timezone = 'Europe/Helsinki';  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "log_timezone"
+ALTER SYSTEM RESET log_timezone;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "log_timezone"
+-- PGC_SIGHUP / GUC_LOGGING_SETTINGS | GUC_SECURITY_SETTINGS / LOGGING_WHERE
+SET syslog_ident = 'postgres';  -- fail, requires reload
+ERROR:  parameter "syslog_ident" cannot be changed now
+RESET syslog_ident;  -- fail, requires reload
+ERROR:  parameter "syslog_ident" cannot be changed now
+ALTER SYSTEM SET syslog_ident = 'postgres';  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "syslog_ident"
+ALTER SYSTEM RESET syslog_ident;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "syslog_ident"
+SET syslog_sequence_numbers = ON;  -- fail, requires reload
+ERROR:  parameter "syslog_sequence_numbers" cannot be changed now
+RESET syslog_sequence_numbers;  -- fail, requires reload
+ERROR:  parameter "syslog_sequence_numbers" cannot be changed now
+ALTER SYSTEM SET syslog_sequence_numbers = ON;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "syslog_sequence_numbers"
+ALTER SYSTEM RESET syslog_sequence_numbers;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "syslog_sequence_numbers"
+SET syslog_split_messages = ON;  -- fail, requires reload
+ERROR:  parameter "syslog_split_messages" cannot be changed now
+RESET syslog_split_messages;  -- fail, requires reload
+ERROR:  parameter "syslog_split_messages" cannot be changed now
+ALTER SYSTEM SET syslog_split_messages = ON;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "syslog_split_messages"
+ALTER SYSTEM RESET syslog_split_messages;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "syslog_split_messages"
+-- PGC_SIGHUP / GUC_LOGGING_SETTINGS | GUC_WAL_SETTINGS / DEVELOPER_OPTIONS
+SET trace_recovery_messages = 'log';  -- fail, requires reload
+ERROR:  parameter "trace_recovery_messages" cannot be changed now
+RESET trace_recovery_messages;  -- fail, requires reload
+ERROR:  parameter "trace_recovery_messages" cannot be changed now
+ALTER SYSTEM SET trace_recovery_messages = 'log';  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "trace_recovery_messages"
+ALTER SYSTEM RESET trace_recovery_messages;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "trace_recovery_messages"
+-- PGC_SIGHUP / GUC_LOGGING_SETTINGS | GUC_WAL_SETTINGS / WAL_CHECKPOINTS
+SET checkpoint_warning = 50;  -- fail, requires reload
+ERROR:  parameter "checkpoint_warning" cannot be changed now
+RESET checkpoint_warning;  -- fail, requires reload
+ERROR:  parameter "checkpoint_warning" cannot be changed now
+ALTER SYSTEM SET checkpoint_warning = 50;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "checkpoint_warning"
+ALTER SYSTEM RESET checkpoint_warning;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "checkpoint_warning"
+-- PGC_SIGHUP / GUC_MAINTENANCE_SETTINGS / AUTOVACUUM
+SET autovacuum_analyze_scale_factor = 50;  -- fail, requires reload
+ERROR:  parameter "autovacuum_analyze_scale_factor" cannot be changed now
+RESET autovacuum_analyze_scale_factor;  -- fail, requires reload
+ERROR:  parameter "autovacuum_analyze_scale_factor" cannot be changed now
+ALTER SYSTEM SET autovacuum_analyze_scale_factor = 50;  -- ok
+ALTER SYSTEM RESET autovacuum_analyze_scale_factor;  -- ok
+SET autovacuum_analyze_threshold = 50;  -- fail, requires reload
+ERROR:  parameter "autovacuum_analyze_threshold" cannot be changed now
+RESET autovacuum_analyze_threshold;  -- fail, requires reload
+ERROR:  parameter "autovacuum_analyze_threshold" cannot be changed now
+ALTER SYSTEM SET autovacuum_analyze_threshold = 50;  -- ok
+ALTER SYSTEM RESET autovacuum_analyze_threshold;  -- ok
+SET autovacuum_naptime = 50;  -- fail, requires reload
+ERROR:  parameter "autovacuum_naptime" cannot be changed now
+RESET autovacuum_naptime;  -- fail, requires reload
+ERROR:  parameter "autovacuum_naptime" cannot be changed now
+ALTER SYSTEM SET autovacuum_naptime = 50;  -- ok
+ALTER SYSTEM RESET autovacuum_naptime;  -- ok
+SET autovacuum_vacuum_cost_delay = 50;  -- fail, requires reload
+ERROR:  parameter "autovacuum_vacuum_cost_delay" cannot be changed now
+RESET autovacuum_vacuum_cost_delay;  -- fail, requires reload
+ERROR:  parameter "autovacuum_vacuum_cost_delay" cannot be changed now
+ALTER SYSTEM SET autovacuum_vacuum_cost_delay = 50;  -- ok
+ALTER SYSTEM RESET autovacuum_vacuum_cost_delay;  -- ok
+SET autovacuum_vacuum_cost_limit = 50;  -- fail, requires reload
+ERROR:  parameter "autovacuum_vacuum_cost_limit" cannot be changed now
+RESET autovacuum_vacuum_cost_limit;  -- fail, requires reload
+ERROR:  parameter "autovacuum_vacuum_cost_limit" cannot be changed now
+ALTER SYSTEM SET autovacuum_vacuum_cost_limit = 50;  -- ok
+ALTER SYSTEM RESET autovacuum_vacuum_cost_limit;  -- ok
+SET autovacuum_vacuum_insert_scale_factor = 50;  -- fail, requires reload
+ERROR:  parameter "autovacuum_vacuum_insert_scale_factor" cannot be changed now
+RESET autovacuum_vacuum_insert_scale_factor;  -- fail, requires reload
+ERROR:  parameter "autovacuum_vacuum_insert_scale_factor" cannot be changed now
+ALTER SYSTEM SET autovacuum_vacuum_insert_scale_factor = 50;  -- ok
+ALTER SYSTEM RESET autovacuum_vacuum_insert_scale_factor;  -- ok
+SET autovacuum_vacuum_insert_threshold = 50;  -- fail, requires reload
+ERROR:  parameter "autovacuum_vacuum_insert_threshold" cannot be changed now
+RESET autovacuum_vacuum_insert_threshold;  -- fail, requires reload
+ERROR:  parameter "autovacuum_vacuum_insert_threshold" cannot be changed now
+ALTER SYSTEM SET autovacuum_vacuum_insert_threshold = 50;  -- ok
+ALTER SYSTEM RESET autovacuum_vacuum_insert_threshold;  -- ok
+SET autovacuum_vacuum_scale_factor = 50;  -- fail, requires reload
+ERROR:  parameter "autovacuum_vacuum_scale_factor" cannot be changed now
+RESET autovacuum_vacuum_scale_factor;  -- fail, requires reload
+ERROR:  parameter "autovacuum_vacuum_scale_factor" cannot be changed now
+ALTER SYSTEM SET autovacuum_vacuum_scale_factor = 50;  -- ok
+ALTER SYSTEM RESET autovacuum_vacuum_scale_factor;  -- ok
+SET autovacuum_vacuum_threshold = 50;  -- fail, requires reload
+ERROR:  parameter "autovacuum_vacuum_threshold" cannot be changed now
+RESET autovacuum_vacuum_threshold;  -- fail, requires reload
+ERROR:  parameter "autovacuum_vacuum_threshold" cannot be changed now
+ALTER SYSTEM SET autovacuum_vacuum_threshold = 50;  -- ok
+ALTER SYSTEM RESET autovacuum_vacuum_threshold;  -- ok
+-- PGC_SIGHUP / GUC_MAINTENANCE_SETTINGS / REPLICATION_PRIMARY
+SET vacuum_defer_cleanup_age = 50;  -- fail, requires reload
+ERROR:  parameter "vacuum_defer_cleanup_age" cannot be changed now
+RESET vacuum_defer_cleanup_age;  -- fail, requires reload
+ERROR:  parameter "vacuum_defer_cleanup_age" cannot be changed now
+ALTER SYSTEM SET vacuum_defer_cleanup_age = 50;  -- ok
+ALTER SYSTEM RESET vacuum_defer_cleanup_age;  -- ok
+-- PGC_SIGHUP / GUC_MAINTENANCE_SETTINGS | GUC_RESOURCE_USAGE / AUTOVACUUM
+SET autovacuum = ON;  -- fail, requires reload
+ERROR:  parameter "autovacuum" cannot be changed now
+RESET autovacuum;  -- fail, requires reload
+ERROR:  parameter "autovacuum" cannot be changed now
+ALTER SYSTEM SET autovacuum = ON;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "autovacuum"
+ALTER SYSTEM RESET autovacuum;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "autovacuum"
+-- PGC_SIGHUP / GUC_MAINTENANCE_SETTINGS | GUC_RESOURCE_USAGE / RESOURCES_MEM
+SET autovacuum_work_mem = 50;  -- fail, requires reload
+ERROR:  parameter "autovacuum_work_mem" cannot be changed now
+RESET autovacuum_work_mem;  -- fail, requires reload
+ERROR:  parameter "autovacuum_work_mem" cannot be changed now
+ALTER SYSTEM SET autovacuum_work_mem = 50;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "autovacuum_work_mem"
+ALTER SYSTEM RESET autovacuum_work_mem;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "autovacuum_work_mem"
+-- PGC_SIGHUP / GUC_RESOURCE_USAGE / LOCK_MANAGEMENT
+SET max_pred_locks_per_page = 50;  -- fail, requires reload
+ERROR:  parameter "max_pred_locks_per_page" cannot be changed now
+RESET max_pred_locks_per_page;  -- fail, requires reload
+ERROR:  parameter "max_pred_locks_per_page" cannot be changed now
+ALTER SYSTEM SET max_pred_locks_per_page = 50;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "max_pred_locks_per_page"
+ALTER SYSTEM RESET max_pred_locks_per_page;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "max_pred_locks_per_page"
+SET max_pred_locks_per_relation = 50;  -- fail, requires reload
+ERROR:  parameter "max_pred_locks_per_relation" cannot be changed now
+RESET max_pred_locks_per_relation;  -- fail, requires reload
+ERROR:  parameter "max_pred_locks_per_relation" cannot be changed now
+ALTER SYSTEM SET max_pred_locks_per_relation = 50;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "max_pred_locks_per_relation"
+ALTER SYSTEM RESET max_pred_locks_per_relation;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "max_pred_locks_per_relation"
+-- PGC_SIGHUP / GUC_RESOURCE_USAGE / REPLICATION_SUBSCRIBERS
+SET max_sync_workers_per_subscription = 50;  -- fail, requires reload
+ERROR:  parameter "max_sync_workers_per_subscription" cannot be changed now
+RESET max_sync_workers_per_subscription;  -- fail, requires reload
+ERROR:  parameter "max_sync_workers_per_subscription" cannot be changed now
+ALTER SYSTEM SET max_sync_workers_per_subscription = 50;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "max_sync_workers_per_subscription"
+ALTER SYSTEM RESET max_sync_workers_per_subscription;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "max_sync_workers_per_subscription"
+-- PGC_SIGHUP / GUC_RESOURCE_USAGE / RESOURCES_BGWRITER
+SET bgwriter_delay = 50;  -- fail, requires reload
+ERROR:  parameter "bgwriter_delay" cannot be changed now
+RESET bgwriter_delay;  -- fail, requires reload
+ERROR:  parameter "bgwriter_delay" cannot be changed now
+ALTER SYSTEM SET bgwriter_delay = 50;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "bgwriter_delay"
+ALTER SYSTEM RESET bgwriter_delay;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "bgwriter_delay"
+SET bgwriter_flush_after = 50;  -- fail, requires reload
+ERROR:  parameter "bgwriter_flush_after" cannot be changed now
+RESET bgwriter_flush_after;  -- fail, requires reload
+ERROR:  parameter "bgwriter_flush_after" cannot be changed now
+ALTER SYSTEM SET bgwriter_flush_after = 50;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "bgwriter_flush_after"
+ALTER SYSTEM RESET bgwriter_flush_after;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "bgwriter_flush_after"
+SET bgwriter_lru_maxpages = 50;  -- fail, requires reload
+ERROR:  parameter "bgwriter_lru_maxpages" cannot be changed now
+RESET bgwriter_lru_maxpages;  -- fail, requires reload
+ERROR:  parameter "bgwriter_lru_maxpages" cannot be changed now
+ALTER SYSTEM SET bgwriter_lru_maxpages = 50;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "bgwriter_lru_maxpages"
+ALTER SYSTEM RESET bgwriter_lru_maxpages;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "bgwriter_lru_maxpages"
+SET bgwriter_lru_multiplier = 5;  -- fail, requires reload
+ERROR:  parameter "bgwriter_lru_multiplier" cannot be changed now
+RESET bgwriter_lru_multiplier;  -- fail, requires reload
+ERROR:  parameter "bgwriter_lru_multiplier" cannot be changed now
+ALTER SYSTEM SET bgwriter_lru_multiplier = 5;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "bgwriter_lru_multiplier"
+ALTER SYSTEM RESET bgwriter_lru_multiplier;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "bgwriter_lru_multiplier"
+-- PGC_SIGHUP / GUC_RESOURCE_USAGE | GUC_WAL_SETTINGS / REPLICATION_SENDING
+SET max_slot_wal_keep_size = 50;  -- fail, requires reload
+ERROR:  parameter "max_slot_wal_keep_size" cannot be changed now
+RESET max_slot_wal_keep_size;  -- fail, requires reload
+ERROR:  parameter "max_slot_wal_keep_size" cannot be changed now
+ALTER SYSTEM SET max_slot_wal_keep_size = 50;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "max_slot_wal_keep_size"
+ALTER SYSTEM RESET max_slot_wal_keep_size;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "max_slot_wal_keep_size"
+-- PGC_SIGHUP / GUC_WAL_SETTINGS / ERROR_HANDLING_OPTIONS
+SET remove_temp_files_after_crash = ON;  -- fail, requires reload
+ERROR:  parameter "remove_temp_files_after_crash" cannot be changed now
+RESET remove_temp_files_after_crash;  -- fail, requires reload
+ERROR:  parameter "remove_temp_files_after_crash" cannot be changed now
+ALTER SYSTEM SET remove_temp_files_after_crash = ON;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "remove_temp_files_after_crash"
+ALTER SYSTEM RESET remove_temp_files_after_crash;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "remove_temp_files_after_crash"
+SET restart_after_crash = ON;  -- fail, requires reload
+ERROR:  parameter "restart_after_crash" cannot be changed now
+RESET restart_after_crash;  -- fail, requires reload
+ERROR:  parameter "restart_after_crash" cannot be changed now
+ALTER SYSTEM SET restart_after_crash = ON;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "restart_after_crash"
+ALTER SYSTEM RESET restart_after_crash;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "restart_after_crash"
+-- PGC_SIGHUP / GUC_WAL_SETTINGS / REPLICATION_PRIMARY
+SET synchronous_standby_names = 'fee, fi, fo, fum';  -- fail, requires reload
+ERROR:  parameter "synchronous_standby_names" cannot be changed now
+RESET synchronous_standby_names;  -- fail, requires reload
+ERROR:  parameter "synchronous_standby_names" cannot be changed now
+ALTER SYSTEM SET synchronous_standby_names = 'fee, fi, fo, fum';  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "synchronous_standby_names"
+ALTER SYSTEM RESET synchronous_standby_names;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "synchronous_standby_names"
+-- PGC_SIGHUP / GUC_WAL_SETTINGS / REPLICATION_SENDING
+SET wal_keep_size = 50;  -- fail, requires reload
+ERROR:  parameter "wal_keep_size" cannot be changed now
+RESET wal_keep_size;  -- fail, requires reload
+ERROR:  parameter "wal_keep_size" cannot be changed now
+ALTER SYSTEM SET wal_keep_size = 50;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "wal_keep_size"
+ALTER SYSTEM RESET wal_keep_size;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "wal_keep_size"
+-- PGC_SIGHUP / GUC_WAL_SETTINGS / REPLICATION_STANDBY
+SET hot_standby_feedback = ON;  -- fail, requires reload
+ERROR:  parameter "hot_standby_feedback" cannot be changed now
+RESET hot_standby_feedback;  -- fail, requires reload
+ERROR:  parameter "hot_standby_feedback" cannot be changed now
+ALTER SYSTEM SET hot_standby_feedback = ON;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "hot_standby_feedback"
+ALTER SYSTEM RESET hot_standby_feedback;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "hot_standby_feedback"
+SET max_standby_archive_delay = 50;  -- fail, requires reload
+ERROR:  parameter "max_standby_archive_delay" cannot be changed now
+RESET max_standby_archive_delay;  -- fail, requires reload
+ERROR:  parameter "max_standby_archive_delay" cannot be changed now
+ALTER SYSTEM SET max_standby_archive_delay = 50;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "max_standby_archive_delay"
+ALTER SYSTEM RESET max_standby_archive_delay;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "max_standby_archive_delay"
+SET max_standby_streaming_delay = 50;  -- fail, requires reload
+ERROR:  parameter "max_standby_streaming_delay" cannot be changed now
+RESET max_standby_streaming_delay;  -- fail, requires reload
+ERROR:  parameter "max_standby_streaming_delay" cannot be changed now
+ALTER SYSTEM SET max_standby_streaming_delay = 50;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "max_standby_streaming_delay"
+ALTER SYSTEM RESET max_standby_streaming_delay;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "max_standby_streaming_delay"
+SET primary_conninfo = 'postgresql://other@localhost/otherdb?connect_timeout=10&application_name=myapp';  -- fail, requires reload
+ERROR:  parameter "primary_conninfo" cannot be changed now
+RESET primary_conninfo;  -- fail, requires reload
+ERROR:  parameter "primary_conninfo" cannot be changed now
+ALTER SYSTEM SET primary_conninfo = 'postgresql://other@localhost/otherdb?connect_timeout=10&application_name=myapp';  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "primary_conninfo"
+ALTER SYSTEM RESET primary_conninfo;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "primary_conninfo"
+SET primary_slot_name = 'bonne_fente';  -- fail, requires reload
+ERROR:  parameter "primary_slot_name" cannot be changed now
+RESET primary_slot_name;  -- fail, requires reload
+ERROR:  parameter "primary_slot_name" cannot be changed now
+ALTER SYSTEM SET primary_slot_name = 'bonne_fente';  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "primary_slot_name"
+ALTER SYSTEM RESET primary_slot_name;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "primary_slot_name"
+SET promote_trigger_file = 'promote.trigger';  -- fail, requires reload
+ERROR:  parameter "promote_trigger_file" cannot be changed now
+RESET promote_trigger_file;  -- fail, requires reload
+ERROR:  parameter "promote_trigger_file" cannot be changed now
+ALTER SYSTEM SET promote_trigger_file = 'promote.trigger';  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "promote_trigger_file"
+ALTER SYSTEM RESET promote_trigger_file;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "promote_trigger_file"
+SET recovery_min_apply_delay = 50;  -- fail, requires reload
+ERROR:  parameter "recovery_min_apply_delay" cannot be changed now
+RESET recovery_min_apply_delay;  -- fail, requires reload
+ERROR:  parameter "recovery_min_apply_delay" cannot be changed now
+ALTER SYSTEM SET recovery_min_apply_delay = 50;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "recovery_min_apply_delay"
+ALTER SYSTEM RESET recovery_min_apply_delay;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "recovery_min_apply_delay"
+SET wal_receiver_create_temp_slot = ON;  -- fail, requires reload
+ERROR:  parameter "wal_receiver_create_temp_slot" cannot be changed now
+RESET wal_receiver_create_temp_slot;  -- fail, requires reload
+ERROR:  parameter "wal_receiver_create_temp_slot" cannot be changed now
+ALTER SYSTEM SET wal_receiver_create_temp_slot = ON;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "wal_receiver_create_temp_slot"
+ALTER SYSTEM RESET wal_receiver_create_temp_slot;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "wal_receiver_create_temp_slot"
+SET wal_receiver_status_interval = 50;  -- fail, requires reload
+ERROR:  parameter "wal_receiver_status_interval" cannot be changed now
+RESET wal_receiver_status_interval;  -- fail, requires reload
+ERROR:  parameter "wal_receiver_status_interval" cannot be changed now
+ALTER SYSTEM SET wal_receiver_status_interval = 50;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "wal_receiver_status_interval"
+ALTER SYSTEM RESET wal_receiver_status_interval;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "wal_receiver_status_interval"
+SET wal_receiver_timeout = 50;  -- fail, requires reload
+ERROR:  parameter "wal_receiver_timeout" cannot be changed now
+RESET wal_receiver_timeout;  -- fail, requires reload
+ERROR:  parameter "wal_receiver_timeout" cannot be changed now
+ALTER SYSTEM SET wal_receiver_timeout = 50;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "wal_receiver_timeout"
+ALTER SYSTEM RESET wal_receiver_timeout;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "wal_receiver_timeout"
+SET wal_retrieve_retry_interval = 50;  -- fail, requires reload
+ERROR:  parameter "wal_retrieve_retry_interval" cannot be changed now
+RESET wal_retrieve_retry_interval;  -- fail, requires reload
+ERROR:  parameter "wal_retrieve_retry_interval" cannot be changed now
+ALTER SYSTEM SET wal_retrieve_retry_interval = 50;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "wal_retrieve_retry_interval"
+ALTER SYSTEM RESET wal_retrieve_retry_interval;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "wal_retrieve_retry_interval"
+-- PGC_SIGHUP / GUC_WAL_SETTINGS / WAL_ARCHIVING
+SET archive_timeout = 50;  -- fail, requires reload
+ERROR:  parameter "archive_timeout" cannot be changed now
+RESET archive_timeout;  -- fail, requires reload
+ERROR:  parameter "archive_timeout" cannot be changed now
+ALTER SYSTEM SET archive_timeout = 50;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "archive_timeout"
+ALTER SYSTEM RESET archive_timeout;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "archive_timeout"
+-- PGC_SIGHUP / GUC_WAL_SETTINGS / WAL_CHECKPOINTS
+SET checkpoint_completion_target = 0;  -- fail, requires reload
+ERROR:  parameter "checkpoint_completion_target" cannot be changed now
+RESET checkpoint_completion_target;  -- fail, requires reload
+ERROR:  parameter "checkpoint_completion_target" cannot be changed now
+ALTER SYSTEM SET checkpoint_completion_target = 0;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "checkpoint_completion_target"
+ALTER SYSTEM RESET checkpoint_completion_target;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "checkpoint_completion_target"
+SET checkpoint_flush_after = 50;  -- fail, requires reload
+ERROR:  parameter "checkpoint_flush_after" cannot be changed now
+RESET checkpoint_flush_after;  -- fail, requires reload
+ERROR:  parameter "checkpoint_flush_after" cannot be changed now
+ALTER SYSTEM SET checkpoint_flush_after = 50;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "checkpoint_flush_after"
+ALTER SYSTEM RESET checkpoint_flush_after;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "checkpoint_flush_after"
+SET checkpoint_timeout = 50;  -- fail, requires reload
+ERROR:  parameter "checkpoint_timeout" cannot be changed now
+RESET checkpoint_timeout;  -- fail, requires reload
+ERROR:  parameter "checkpoint_timeout" cannot be changed now
+ALTER SYSTEM SET checkpoint_timeout = 50;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "checkpoint_timeout"
+ALTER SYSTEM RESET checkpoint_timeout;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "checkpoint_timeout"
+SET max_wal_size = 50;  -- fail, requires reload
+ERROR:  parameter "max_wal_size" cannot be changed now
+RESET max_wal_size;  -- fail, requires reload
+ERROR:  parameter "max_wal_size" cannot be changed now
+ALTER SYSTEM SET max_wal_size = 50;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "max_wal_size"
+ALTER SYSTEM RESET max_wal_size;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "max_wal_size"
+SET min_wal_size = 50;  -- fail, requires reload
+ERROR:  parameter "min_wal_size" cannot be changed now
+RESET min_wal_size;  -- fail, requires reload
+ERROR:  parameter "min_wal_size" cannot be changed now
+ALTER SYSTEM SET min_wal_size = 50;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "min_wal_size"
+ALTER SYSTEM RESET min_wal_size;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "min_wal_size"
+-- PGC_SIGHUP / GUC_WAL_SETTINGS / WAL_SETTINGS
+SET fsync = ON;  -- fail, requires reload
+ERROR:  parameter "fsync" cannot be changed now
+RESET fsync;  -- fail, requires reload
+ERROR:  parameter "fsync" cannot be changed now
+ALTER SYSTEM SET fsync = ON;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "fsync"
+ALTER SYSTEM RESET fsync;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "fsync"
+SET full_page_writes = ON;  -- fail, requires reload
+ERROR:  parameter "full_page_writes" cannot be changed now
+RESET full_page_writes;  -- fail, requires reload
+ERROR:  parameter "full_page_writes" cannot be changed now
+ALTER SYSTEM SET full_page_writes = ON;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "full_page_writes"
+ALTER SYSTEM RESET full_page_writes;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "full_page_writes"
+SET wal_sync_method = 'open_datasync';  -- fail, requires reload
+ERROR:  parameter "wal_sync_method" cannot be changed now
+RESET wal_sync_method;  -- fail, requires reload
+ERROR:  parameter "wal_sync_method" cannot be changed now
+ALTER SYSTEM SET wal_sync_method = 'open_datasync';  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "wal_sync_method"
+ALTER SYSTEM RESET wal_sync_method;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "wal_sync_method"
+SET wal_writer_delay = 50;  -- fail, requires reload
+ERROR:  parameter "wal_writer_delay" cannot be changed now
+RESET wal_writer_delay;  -- fail, requires reload
+ERROR:  parameter "wal_writer_delay" cannot be changed now
+ALTER SYSTEM SET wal_writer_delay = 50;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "wal_writer_delay"
+ALTER SYSTEM RESET wal_writer_delay;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "wal_writer_delay"
+SET wal_writer_flush_after = 50;  -- fail, requires reload
+ERROR:  parameter "wal_writer_flush_after" cannot be changed now
+RESET wal_writer_flush_after;  -- fail, requires reload
+ERROR:  parameter "wal_writer_flush_after" cannot be changed now
+ALTER SYSTEM SET wal_writer_flush_after = 50;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "wal_writer_flush_after"
+ALTER SYSTEM RESET wal_writer_flush_after;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "wal_writer_flush_after"
+-- PGC_SUSET / GUC_ALL_PRIVILEGES / DEVELOPER_OPTIONS
+SET allow_system_table_mods = ON;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "allow_system_table_mods"
+RESET allow_system_table_mods;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "allow_system_table_mods"
+ALTER SYSTEM SET allow_system_table_mods = ON;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "allow_system_table_mods"
+ALTER SYSTEM RESET allow_system_table_mods;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "allow_system_table_mods"
+-- PGC_SUSET / GUC_FILESYSTEM_SECURITY / CLIENT_CONN_OTHER
+SET dynamic_library_path = '$libdir';  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "dynamic_library_path"
+RESET dynamic_library_path;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "dynamic_library_path"
+ALTER SYSTEM SET dynamic_library_path = '$libdir';  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "dynamic_library_path"
+ALTER SYSTEM RESET dynamic_library_path;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "dynamic_library_path"
+-- PGC_SUSET / GUC_FILESYSTEM_SECURITY / CLIENT_CONN_PRELOAD
+SET session_preload_libraries = 'gssapi_krb5';  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "session_preload_libraries"
+RESET session_preload_libraries;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "session_preload_libraries"
+ALTER SYSTEM SET session_preload_libraries = 'gssapi_krb5';  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "session_preload_libraries"
+ALTER SYSTEM RESET session_preload_libraries;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "session_preload_libraries"
+-- PGC_SUSET / GUC_FILESYSTEM_SECURITY | GUC_SECURITY_SETTINGS / DEVELOPER_OPTIONS
+SET jit_dump_bitcode = ON;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "jit_dump_bitcode"
+RESET jit_dump_bitcode;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "jit_dump_bitcode"
+ALTER SYSTEM SET jit_dump_bitcode = ON;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "jit_dump_bitcode"
+ALTER SYSTEM RESET jit_dump_bitcode;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "jit_dump_bitcode"
+-- PGC_SUSET / GUC_INTERNAL_SETTINGS / CLIENT_CONN_LOCALE
+SET lc_messages = 'en_US.UTF-8';  -- ok
+RESET lc_messages;  -- ok
+ALTER SYSTEM SET lc_messages = 'en_US.UTF-8';  -- ok
+ALTER SYSTEM RESET lc_messages;  -- ok
+-- PGC_SUSET / GUC_INTERNAL_SETTINGS | GUC_RESOURCE_USAGE | GUC_SECURITY_SETTINGS / DEVELOPER_OPTIONS
+SET debug_invalidate_system_caches_always = 2;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "debug_invalidate_system_caches_always"
+RESET debug_invalidate_system_caches_always;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "debug_invalidate_system_caches_always"
+ALTER SYSTEM SET debug_invalidate_system_caches_always = 2;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "debug_invalidate_system_caches_always"
+ALTER SYSTEM RESET debug_invalidate_system_caches_always;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "debug_invalidate_system_caches_always"
+-- PGC_SUSET / GUC_INTERNAL_SETTINGS | GUC_SECURITY_SETTINGS / LOCK_MANAGEMENT
+SET deadlock_timeout = 1073741824;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "deadlock_timeout"
+RESET deadlock_timeout;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "deadlock_timeout"
+ALTER SYSTEM SET deadlock_timeout = 1073741824;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "deadlock_timeout"
+ALTER SYSTEM RESET deadlock_timeout;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "deadlock_timeout"
+-- PGC_SUSET / GUC_LOGGING_SETTINGS / DEVELOPER_OPTIONS
+SET backtrace_functions = 'partition_list_bsearch,partition_range_datum_bsearch,partition_hash_bsearch';  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "backtrace_functions"
+RESET backtrace_functions;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "backtrace_functions"
+ALTER SYSTEM SET backtrace_functions = 'partition_list_bsearch,partition_range_datum_bsearch,partition_hash_bsearch';  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "backtrace_functions"
+ALTER SYSTEM RESET backtrace_functions;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "backtrace_functions"
+-- PGC_SUSET / GUC_LOGGING_SETTINGS / LOGGING_WHAT
+SET log_duration = ON;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "log_duration"
+RESET log_duration;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "log_duration"
+ALTER SYSTEM SET log_duration = ON;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "log_duration"
+ALTER SYSTEM RESET log_duration;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "log_duration"
+SET log_error_verbosity = 'default';  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "log_error_verbosity"
+RESET log_error_verbosity;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "log_error_verbosity"
+ALTER SYSTEM SET log_error_verbosity = 'default';  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "log_error_verbosity"
+ALTER SYSTEM RESET log_error_verbosity;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "log_error_verbosity"
+SET log_lock_waits = ON;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "log_lock_waits"
+RESET log_lock_waits;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "log_lock_waits"
+ALTER SYSTEM SET log_lock_waits = ON;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "log_lock_waits"
+ALTER SYSTEM RESET log_lock_waits;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "log_lock_waits"
+SET log_parameter_max_length = 50;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "log_parameter_max_length"
+RESET log_parameter_max_length;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "log_parameter_max_length"
+ALTER SYSTEM SET log_parameter_max_length = 50;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "log_parameter_max_length"
+ALTER SYSTEM RESET log_parameter_max_length;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "log_parameter_max_length"
+SET log_replication_commands = ON;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "log_replication_commands"
+RESET log_replication_commands;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "log_replication_commands"
+ALTER SYSTEM SET log_replication_commands = ON;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "log_replication_commands"
+ALTER SYSTEM RESET log_replication_commands;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "log_replication_commands"
+SET log_statement = 'none';  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "log_statement"
+RESET log_statement;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "log_statement"
+ALTER SYSTEM SET log_statement = 'none';  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "log_statement"
+ALTER SYSTEM RESET log_statement;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "log_statement"
+SET log_temp_files = 50;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "log_temp_files"
+RESET log_temp_files;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "log_temp_files"
+ALTER SYSTEM SET log_temp_files = 50;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "log_temp_files"
+ALTER SYSTEM RESET log_temp_files;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "log_temp_files"
+-- PGC_SUSET / GUC_LOGGING_SETTINGS / LOGGING_WHEN
+SET log_min_duration_sample = 50;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "log_min_duration_sample"
+RESET log_min_duration_sample;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "log_min_duration_sample"
+ALTER SYSTEM SET log_min_duration_sample = 50;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "log_min_duration_sample"
+ALTER SYSTEM RESET log_min_duration_sample;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "log_min_duration_sample"
+SET log_min_duration_statement = 50;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "log_min_duration_statement"
+RESET log_min_duration_statement;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "log_min_duration_statement"
+ALTER SYSTEM SET log_min_duration_statement = 50;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "log_min_duration_statement"
+ALTER SYSTEM RESET log_min_duration_statement;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "log_min_duration_statement"
+SET log_min_error_statement = 'error';  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "log_min_error_statement"
+RESET log_min_error_statement;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "log_min_error_statement"
+ALTER SYSTEM SET log_min_error_statement = 'error';  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "log_min_error_statement"
+ALTER SYSTEM RESET log_min_error_statement;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "log_min_error_statement"
+SET log_min_messages = 'warning';  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "log_min_messages"
+RESET log_min_messages;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "log_min_messages"
+ALTER SYSTEM SET log_min_messages = 'warning';  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "log_min_messages"
+ALTER SYSTEM RESET log_min_messages;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "log_min_messages"
+SET log_statement_sample_rate = 0;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "log_statement_sample_rate"
+RESET log_statement_sample_rate;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "log_statement_sample_rate"
+ALTER SYSTEM SET log_statement_sample_rate = 0;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "log_statement_sample_rate"
+ALTER SYSTEM RESET log_statement_sample_rate;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "log_statement_sample_rate"
+SET log_transaction_sample_rate = 0;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "log_transaction_sample_rate"
+RESET log_transaction_sample_rate;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "log_transaction_sample_rate"
+ALTER SYSTEM SET log_transaction_sample_rate = 0;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "log_transaction_sample_rate"
+ALTER SYSTEM RESET log_transaction_sample_rate;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "log_transaction_sample_rate"
+-- PGC_SUSET / GUC_LOGGING_SETTINGS / STATS_MONITORING
+SET log_executor_stats = ON;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "log_executor_stats"
+RESET log_executor_stats;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "log_executor_stats"
+ALTER SYSTEM SET log_executor_stats = ON;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "log_executor_stats"
+ALTER SYSTEM RESET log_executor_stats;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "log_executor_stats"
+SET log_parser_stats = ON;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "log_parser_stats"
+RESET log_parser_stats;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "log_parser_stats"
+ALTER SYSTEM SET log_parser_stats = ON;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "log_parser_stats"
+ALTER SYSTEM RESET log_parser_stats;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "log_parser_stats"
+SET log_planner_stats = ON;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "log_planner_stats"
+RESET log_planner_stats;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "log_planner_stats"
+ALTER SYSTEM SET log_planner_stats = ON;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "log_planner_stats"
+ALTER SYSTEM RESET log_planner_stats;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "log_planner_stats"
+SET log_statement_stats = ON;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "log_statement_stats"
+RESET log_statement_stats;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "log_statement_stats"
+ALTER SYSTEM SET log_statement_stats = ON;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "log_statement_stats"
+ALTER SYSTEM RESET log_statement_stats;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "log_statement_stats"
+-- PGC_SUSET / GUC_LOGGING_SETTINGS | GUC_SECURITY_SETTINGS / PROCESS_TITLE
+SET update_process_title = ON;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "update_process_title"
+RESET update_process_title;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "update_process_title"
+ALTER SYSTEM SET update_process_title = ON;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "update_process_title"
+ALTER SYSTEM RESET update_process_title;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "update_process_title"
+-- PGC_SUSET / GUC_RESOURCE_USAGE / RESOURCES_DISK
+SET temp_file_limit = 50;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "temp_file_limit"
+RESET temp_file_limit;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "temp_file_limit"
+ALTER SYSTEM SET temp_file_limit = 50;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "temp_file_limit"
+ALTER SYSTEM RESET temp_file_limit;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "temp_file_limit"
+-- PGC_SUSET / GUC_RESOURCE_USAGE / RESOURCES_MEM
+SET max_stack_depth = 3890;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "max_stack_depth"
+RESET max_stack_depth;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "max_stack_depth"
+ALTER SYSTEM SET max_stack_depth = 3890;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "max_stack_depth"
+ALTER SYSTEM RESET max_stack_depth;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "max_stack_depth"
+-- PGC_SUSET / GUC_SECURITY_SETTINGS / COMPAT_OPTIONS_PREVIOUS
+SET lo_compat_privileges = ON;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "lo_compat_privileges"
+RESET lo_compat_privileges;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "lo_compat_privileges"
+ALTER SYSTEM SET lo_compat_privileges = ON;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "lo_compat_privileges"
+ALTER SYSTEM RESET lo_compat_privileges;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "lo_compat_privileges"
+-- PGC_SUSET / GUC_STATS_SETTINGS / STATS_COLLECTOR
+SET track_activities = ON;  -- ok
+RESET track_activities;  -- ok
+ALTER SYSTEM SET track_activities = ON;  -- ok
+ALTER SYSTEM RESET track_activities;  -- ok
+SET track_counts = ON;  -- ok
+RESET track_counts;  -- ok
+ALTER SYSTEM SET track_counts = ON;  -- ok
+ALTER SYSTEM RESET track_counts;  -- ok
+SET track_functions = 'none';  -- ok
+RESET track_functions;  -- ok
+ALTER SYSTEM SET track_functions = 'none';  -- ok
+ALTER SYSTEM RESET track_functions;  -- ok
+SET track_io_timing = ON;  -- ok
+RESET track_io_timing;  -- ok
+ALTER SYSTEM SET track_io_timing = ON;  -- ok
+ALTER SYSTEM RESET track_io_timing;  -- ok
+SET track_wal_io_timing = ON;  -- ok
+RESET track_wal_io_timing;  -- ok
+ALTER SYSTEM SET track_wal_io_timing = ON;  -- ok
+ALTER SYSTEM RESET track_wal_io_timing;  -- ok
+-- PGC_SUSET / GUC_STATS_SETTINGS / STATS_MONITORING
+SET compute_query_id = ON;  -- ok
+RESET compute_query_id;  -- ok
+ALTER SYSTEM SET compute_query_id = ON;  -- ok
+ALTER SYSTEM RESET compute_query_id;  -- ok
+-- PGC_SUSET / GUC_STORAGE_SETTINGS / DEVELOPER_OPTIONS
+SET ignore_checksum_failure = ON;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "ignore_checksum_failure"
+RESET ignore_checksum_failure;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "ignore_checksum_failure"
+ALTER SYSTEM SET ignore_checksum_failure = ON;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "ignore_checksum_failure"
+ALTER SYSTEM RESET ignore_checksum_failure;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "ignore_checksum_failure"
+SET zero_damaged_pages = ON;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "zero_damaged_pages"
+RESET zero_damaged_pages;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "zero_damaged_pages"
+ALTER SYSTEM SET zero_damaged_pages = ON;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "zero_damaged_pages"
+ALTER SYSTEM RESET zero_damaged_pages;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "zero_damaged_pages"
+-- PGC_SUSET / GUC_WAL_SETTINGS / CLIENT_CONN_STATEMENT
+SET session_replication_role = 'origin';  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "session_replication_role"
+RESET session_replication_role;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "session_replication_role"
+ALTER SYSTEM SET session_replication_role = 'origin';  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "session_replication_role"
+ALTER SYSTEM RESET session_replication_role;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "session_replication_role"
+-- PGC_SUSET / GUC_WAL_SETTINGS / DEVELOPER_OPTIONS
+SET wal_consistency_checking = 'heap, heap2, btree, hash, gin, gist, sequence, spgist, brin, generic';  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "wal_consistency_checking"
+RESET wal_consistency_checking;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "wal_consistency_checking"
+ALTER SYSTEM SET wal_consistency_checking = 'heap, heap2, btree, hash, gin, gist, sequence, spgist, brin, generic';  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "wal_consistency_checking"
+ALTER SYSTEM RESET wal_consistency_checking;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "wal_consistency_checking"
+-- PGC_SUSET / GUC_WAL_SETTINGS / WAL_SETTINGS
+SET commit_delay = 50;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "commit_delay"
+RESET commit_delay;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "commit_delay"
+ALTER SYSTEM SET commit_delay = 50;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "commit_delay"
+ALTER SYSTEM RESET commit_delay;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "commit_delay"
+SET wal_compression = ON;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "wal_compression"
+RESET wal_compression;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "wal_compression"
+ALTER SYSTEM SET wal_compression = ON;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "wal_compression"
+ALTER SYSTEM RESET wal_compression;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "wal_compression"
+SET wal_init_zero = ON;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "wal_init_zero"
+RESET wal_init_zero;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "wal_init_zero"
+ALTER SYSTEM SET wal_init_zero = ON;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "wal_init_zero"
+ALTER SYSTEM RESET wal_init_zero;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "wal_init_zero"
+SET wal_recycle = ON;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "wal_recycle"
+RESET wal_recycle;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "wal_recycle"
+ALTER SYSTEM SET wal_recycle = ON;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "wal_recycle"
+ALTER SYSTEM RESET wal_recycle;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "wal_recycle"
+-- PGC_SU_BACKEND / GUC_FILESYSTEM_SECURITY | GUC_SECURITY_SETTINGS / DEVELOPER_OPTIONS
+SET jit_profiling_support = ON;  -- fail, cannot be set after connection start
+ERROR:  parameter "jit_profiling_support" cannot be set after connection start
+RESET jit_profiling_support;  -- fail, cannot be set after connection start
+ERROR:  parameter "jit_profiling_support" cannot be set after connection start
+ALTER SYSTEM SET jit_profiling_support = ON;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "jit_profiling_support"
+ALTER SYSTEM RESET jit_profiling_support;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "jit_profiling_support"
+-- PGC_SU_BACKEND / GUC_INTERNAL_SETTINGS | GUC_SECURITY_SETTINGS / DEVELOPER_OPTIONS
+SET jit_debugging_support = ON;  -- fail, cannot be set after connection start
+ERROR:  parameter "jit_debugging_support" cannot be set after connection start
+RESET jit_debugging_support;  -- fail, cannot be set after connection start
+ERROR:  parameter "jit_debugging_support" cannot be set after connection start
+ALTER SYSTEM SET jit_debugging_support = ON;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "jit_debugging_support"
+ALTER SYSTEM RESET jit_debugging_support;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "jit_debugging_support"
+-- PGC_SU_BACKEND / GUC_LOGGING_SETTINGS / LOGGING_WHAT
+SET log_connections = ON;  -- fail, cannot be set after connection start
+ERROR:  parameter "log_connections" cannot be set after connection start
+RESET log_connections;  -- fail, cannot be set after connection start
+ERROR:  parameter "log_connections" cannot be set after connection start
+ALTER SYSTEM SET log_connections = ON;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "log_connections"
+ALTER SYSTEM RESET log_connections;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "log_connections"
+SET log_disconnections = ON;  -- fail, cannot be set after connection start
+ERROR:  parameter "log_disconnections" cannot be set after connection start
+RESET log_disconnections;  -- fail, cannot be set after connection start
+ERROR:  parameter "log_disconnections" cannot be set after connection start
+ALTER SYSTEM SET log_disconnections = ON;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "log_disconnections"
+ALTER SYSTEM RESET log_disconnections;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "log_disconnections"
+-- PGC_USERSET / GUC_INTERNAL_SETTINGS / CLIENT_CONN_LOCALE
+SET DateStyle = 'ISO, MDY';  -- ok
+RESET DateStyle;  -- ok
+ALTER SYSTEM SET DateStyle = 'ISO, MDY';  -- ok
+ALTER SYSTEM RESET DateStyle;  -- ok
+SET IntervalStyle = 'postgres';  -- ok
+RESET IntervalStyle;  -- ok
+ALTER SYSTEM SET IntervalStyle = 'postgres';  -- ok
+ALTER SYSTEM RESET IntervalStyle;  -- ok
+SET TimeZone = 'Europe/Helsinki';  -- ok
+RESET TimeZone;  -- ok
+ALTER SYSTEM SET TimeZone = 'Europe/Helsinki';  -- ok
+ALTER SYSTEM RESET TimeZone;  -- ok
+SET client_encoding = 'UTF8';  -- ok
+RESET client_encoding;  -- ok
+ALTER SYSTEM SET client_encoding = 'UTF8';  -- ok
+ALTER SYSTEM RESET client_encoding;  -- ok
+SET default_text_search_config = 'pg_catalog.english';  -- ok
+RESET default_text_search_config;  -- ok
+ALTER SYSTEM SET default_text_search_config = 'pg_catalog.english';  -- ok
+ALTER SYSTEM RESET default_text_search_config;  -- ok
+SET extra_float_digits = -6;  -- ok
+RESET extra_float_digits;  -- ok
+ALTER SYSTEM SET extra_float_digits = -6;  -- ok
+ALTER SYSTEM RESET extra_float_digits;  -- ok
+SET lc_monetary = 'en_US.UTF-8';  -- ok
+RESET lc_monetary;  -- ok
+ALTER SYSTEM SET lc_monetary = 'en_US.UTF-8';  -- ok
+ALTER SYSTEM RESET lc_monetary;  -- ok
+SET lc_numeric = 'en_US.UTF-8';  -- ok
+RESET lc_numeric;  -- ok
+ALTER SYSTEM SET lc_numeric = 'en_US.UTF-8';  -- ok
+ALTER SYSTEM RESET lc_numeric;  -- ok
+SET lc_time = 'en_US.UTF-8';  -- ok
+RESET lc_time;  -- ok
+ALTER SYSTEM SET lc_time = 'en_US.UTF-8';  -- ok
+ALTER SYSTEM RESET lc_time;  -- ok
+SET timezone_abbreviations = 'Default';  -- ok
+RESET timezone_abbreviations;  -- ok
+ALTER SYSTEM SET timezone_abbreviations = 'Default';  -- ok
+ALTER SYSTEM RESET timezone_abbreviations;  -- ok
+-- PGC_USERSET / GUC_INTERNAL_SETTINGS / CLIENT_CONN_OTHER
+SET gin_fuzzy_search_limit = 50;  -- ok
+RESET gin_fuzzy_search_limit;  -- ok
+ALTER SYSTEM SET gin_fuzzy_search_limit = 50;  -- ok
+ALTER SYSTEM RESET gin_fuzzy_search_limit;  -- ok
+-- PGC_USERSET / GUC_INTERNAL_SETTINGS / CLIENT_CONN_PRELOAD
+SET local_preload_libraries = 'gssapi_krb5';  -- ok
+RESET local_preload_libraries;  -- ok
+ALTER SYSTEM SET local_preload_libraries = 'gssapi_krb5';  -- ok
+ALTER SYSTEM RESET local_preload_libraries;  -- ok
+-- PGC_USERSET / GUC_INTERNAL_SETTINGS / CLIENT_CONN_STATEMENT
+SET bytea_output = 'hex';  -- ok
+RESET bytea_output;  -- ok
+ALTER SYSTEM SET bytea_output = 'hex';  -- ok
+ALTER SYSTEM RESET bytea_output;  -- ok
+SET check_function_bodies = ON;  -- ok
+RESET check_function_bodies;  -- ok
+ALTER SYSTEM SET check_function_bodies = ON;  -- ok
+ALTER SYSTEM RESET check_function_bodies;  -- ok
+SET client_min_messages = 'notice';  -- ok
+RESET client_min_messages;  -- ok
+ALTER SYSTEM SET client_min_messages = 'notice';  -- ok
+ALTER SYSTEM RESET client_min_messages;  -- ok
+SET default_table_access_method = 'heap';  -- ok
+RESET default_table_access_method;  -- ok
+ALTER SYSTEM SET default_table_access_method = 'heap';  -- ok
+ALTER SYSTEM RESET default_table_access_method;  -- ok
+SET default_toast_compression = 'pglz';  -- ok
+RESET default_toast_compression;  -- ok
+ALTER SYSTEM SET default_toast_compression = 'pglz';  -- ok
+ALTER SYSTEM RESET default_toast_compression;  -- ok
+SET default_transaction_deferrable = ON;  -- ok
+RESET default_transaction_deferrable;  -- ok
+ALTER SYSTEM SET default_transaction_deferrable = ON;  -- ok
+ALTER SYSTEM RESET default_transaction_deferrable;  -- ok
+SET default_transaction_isolation = 'read committed';  -- ok
+RESET default_transaction_isolation;  -- ok
+ALTER SYSTEM SET default_transaction_isolation = 'read committed';  -- ok
+ALTER SYSTEM RESET default_transaction_isolation;  -- ok
+SET default_transaction_read_only = ON;  -- ok
+RESET default_transaction_read_only;  -- ok
+ALTER SYSTEM SET default_transaction_read_only = ON;  -- ok
+ALTER SYSTEM RESET default_transaction_read_only;  -- ok
+SET gin_pending_list_limit = 1073741855;  -- ok
+RESET gin_pending_list_limit;  -- ok
+ALTER SYSTEM SET gin_pending_list_limit = 1073741855;  -- ok
+ALTER SYSTEM RESET gin_pending_list_limit;  -- ok
+SET idle_in_transaction_session_timeout = 50;  -- ok
+RESET idle_in_transaction_session_timeout;  -- ok
+ALTER SYSTEM SET idle_in_transaction_session_timeout = 50;  -- ok
+ALTER SYSTEM RESET idle_in_transaction_session_timeout;  -- ok
+SET idle_session_timeout = 50;  -- ok
+RESET idle_session_timeout;  -- ok
+ALTER SYSTEM SET idle_session_timeout = 50;  -- ok
+ALTER SYSTEM RESET idle_session_timeout;  -- ok
+SET lock_timeout = 50;  -- ok
+RESET lock_timeout;  -- ok
+ALTER SYSTEM SET lock_timeout = 50;  -- ok
+ALTER SYSTEM RESET lock_timeout;  -- ok
+SET row_security = ON;  -- ok
+RESET row_security;  -- ok
+ALTER SYSTEM SET row_security = ON;  -- ok
+ALTER SYSTEM RESET row_security;  -- ok
+SET search_path = '"$user", public';  -- ok
+RESET search_path;  -- ok
+ALTER SYSTEM SET search_path = '"$user", public';  -- ok
+ALTER SYSTEM RESET search_path;  -- ok
+SET statement_timeout = 5250;  -- ok
+RESET statement_timeout;  -- ok
+ALTER SYSTEM SET statement_timeout = 5250;  -- ok
+ALTER SYSTEM RESET statement_timeout;  -- ok
+SET transaction_deferrable = ON;  -- ok
+RESET transaction_deferrable;  -- ok
+ALTER SYSTEM SET transaction_deferrable = ON;  -- fail, cannot be changed
+ERROR:  parameter "transaction_deferrable" cannot be changed
+ALTER SYSTEM RESET transaction_deferrable;  -- fail, cannot be changed
+ERROR:  parameter "transaction_deferrable" cannot be changed
+SET transaction_isolation = 'read committed';  -- ok
+RESET transaction_isolation;  -- ok
+WARNING:  RESET TRANSACTION can only be used in transaction blocks
+ALTER SYSTEM SET transaction_isolation = 'read committed';  -- fail, cannot be changed
+ERROR:  parameter "transaction_isolation" cannot be changed
+ALTER SYSTEM RESET transaction_isolation;  -- fail, cannot be changed
+ERROR:  parameter "transaction_isolation" cannot be changed
+SET transaction_read_only = ON;  -- ok
+RESET transaction_read_only;  -- ok
+ALTER SYSTEM SET transaction_read_only = ON;  -- fail, cannot be changed
+ERROR:  parameter "transaction_read_only" cannot be changed
+ALTER SYSTEM RESET transaction_read_only;  -- fail, cannot be changed
+ERROR:  parameter "transaction_read_only" cannot be changed
+SET vacuum_failsafe_age = 50;  -- ok
+RESET vacuum_failsafe_age;  -- ok
+ALTER SYSTEM SET vacuum_failsafe_age = 50;  -- ok
+ALTER SYSTEM RESET vacuum_failsafe_age;  -- ok
+SET vacuum_freeze_min_age = 50;  -- ok
+RESET vacuum_freeze_min_age;  -- ok
+ALTER SYSTEM SET vacuum_freeze_min_age = 50;  -- ok
+ALTER SYSTEM RESET vacuum_freeze_min_age;  -- ok
+SET vacuum_freeze_table_age = 50;  -- ok
+RESET vacuum_freeze_table_age;  -- ok
+ALTER SYSTEM SET vacuum_freeze_table_age = 50;  -- ok
+ALTER SYSTEM RESET vacuum_freeze_table_age;  -- ok
+SET vacuum_multixact_failsafe_age = 50;  -- ok
+RESET vacuum_multixact_failsafe_age;  -- ok
+ALTER SYSTEM SET vacuum_multixact_failsafe_age = 50;  -- ok
+ALTER SYSTEM RESET vacuum_multixact_failsafe_age;  -- ok
+SET vacuum_multixact_freeze_min_age = 50;  -- ok
+RESET vacuum_multixact_freeze_min_age;  -- ok
+ALTER SYSTEM SET vacuum_multixact_freeze_min_age = 50;  -- ok
+ALTER SYSTEM RESET vacuum_multixact_freeze_min_age;  -- ok
+SET vacuum_multixact_freeze_table_age = 50;  -- ok
+RESET vacuum_multixact_freeze_table_age;  -- ok
+ALTER SYSTEM SET vacuum_multixact_freeze_table_age = 50;  -- ok
+ALTER SYSTEM RESET vacuum_multixact_freeze_table_age;  -- ok
+SET xmlbinary = 'base64';  -- ok
+RESET xmlbinary;  -- ok
+ALTER SYSTEM SET xmlbinary = 'base64';  -- ok
+ALTER SYSTEM RESET xmlbinary;  -- ok
+SET xmloption = 'content';  -- ok
+RESET xmloption;  -- ok
+ALTER SYSTEM SET xmloption = 'content';  -- ok
+ALTER SYSTEM RESET xmloption;  -- ok
+-- PGC_USERSET / GUC_INTERNAL_SETTINGS / COMPAT_OPTIONS_PREVIOUS
+SET array_nulls = ON;  -- ok
+RESET array_nulls;  -- ok
+ALTER SYSTEM SET array_nulls = ON;  -- ok
+ALTER SYSTEM RESET array_nulls;  -- ok
+SET escape_string_warning = ON;  -- ok
+RESET escape_string_warning;  -- ok
+ALTER SYSTEM SET escape_string_warning = ON;  -- ok
+ALTER SYSTEM RESET escape_string_warning;  -- ok
+SET quote_all_identifiers = ON;  -- ok
+RESET quote_all_identifiers;  -- ok
+ALTER SYSTEM SET quote_all_identifiers = ON;  -- ok
+ALTER SYSTEM RESET quote_all_identifiers;  -- ok
+SET standard_conforming_strings = ON;  -- ok
+RESET standard_conforming_strings;  -- ok
+ALTER SYSTEM SET standard_conforming_strings = ON;  -- ok
+ALTER SYSTEM RESET standard_conforming_strings;  -- ok
+SET synchronize_seqscans = ON;  -- ok
+RESET synchronize_seqscans;  -- ok
+ALTER SYSTEM SET synchronize_seqscans = ON;  -- ok
+ALTER SYSTEM RESET synchronize_seqscans;  -- ok
+-- PGC_USERSET / GUC_INTERNAL_SETTINGS / CONN_AUTH_AUTH
+SET password_encryption = 'scram-sha-256';  -- ok
+RESET password_encryption;  -- ok
+ALTER SYSTEM SET password_encryption = 'scram-sha-256';  -- ok
+ALTER SYSTEM RESET password_encryption;  -- ok
+-- PGC_USERSET / GUC_INTERNAL_SETTINGS / CONN_AUTH_SETTINGS
+SET client_connection_check_interval = 0;  -- ok
+RESET client_connection_check_interval;  -- ok
+ALTER SYSTEM SET client_connection_check_interval = 0;  -- ok
+ALTER SYSTEM RESET client_connection_check_interval;  -- ok
+SET tcp_keepalives_count = 50;  -- ok
+RESET tcp_keepalives_count;  -- ok
+ALTER SYSTEM SET tcp_keepalives_count = 50;  -- ok
+ALTER SYSTEM RESET tcp_keepalives_count;  -- ok
+SET tcp_keepalives_idle = 50;  -- ok
+RESET tcp_keepalives_idle;  -- ok
+ALTER SYSTEM SET tcp_keepalives_idle = 50;  -- ok
+ALTER SYSTEM RESET tcp_keepalives_idle;  -- ok
+SET tcp_keepalives_interval = 50;  -- ok
+RESET tcp_keepalives_interval;  -- ok
+ALTER SYSTEM SET tcp_keepalives_interval = 50;  -- ok
+ALTER SYSTEM RESET tcp_keepalives_interval;  -- ok
+SET tcp_user_timeout = 50;  -- ok
+RESET tcp_user_timeout;  -- ok
+ALTER SYSTEM SET tcp_user_timeout = 50;  -- ok
+ALTER SYSTEM RESET tcp_user_timeout;  -- ok
+-- PGC_USERSET / GUC_INTERNAL_SETTINGS / CONN_AUTH_SSL
+SET ssl_renegotiation_limit = 0;  -- ok
+RESET ssl_renegotiation_limit;  -- ok
+ALTER SYSTEM SET ssl_renegotiation_limit = 0;  -- fail, cannot be changed
+ERROR:  parameter "ssl_renegotiation_limit" cannot be changed
+ALTER SYSTEM RESET ssl_renegotiation_limit;  -- fail, cannot be changed
+ERROR:  parameter "ssl_renegotiation_limit" cannot be changed
+-- PGC_USERSET / GUC_INTERNAL_SETTINGS / DEVELOPER_OPTIONS
+SET force_parallel_mode = 'off';  -- ok
+RESET force_parallel_mode;  -- ok
+ALTER SYSTEM SET force_parallel_mode = 'off';  -- ok
+ALTER SYSTEM RESET force_parallel_mode;  -- ok
+SET jit_expressions = ON;  -- ok
+RESET jit_expressions;  -- ok
+ALTER SYSTEM SET jit_expressions = ON;  -- ok
+ALTER SYSTEM RESET jit_expressions;  -- ok
+SET jit_tuple_deforming = ON;  -- ok
+RESET jit_tuple_deforming;  -- ok
+ALTER SYSTEM SET jit_tuple_deforming = ON;  -- ok
+ALTER SYSTEM RESET jit_tuple_deforming;  -- ok
+SET trace_notify = ON;  -- ok
+RESET trace_notify;  -- ok
+ALTER SYSTEM SET trace_notify = ON;  -- ok
+ALTER SYSTEM RESET trace_notify;  -- ok
+SET trace_sort = ON;  -- ok
+RESET trace_sort;  -- ok
+ALTER SYSTEM SET trace_sort = ON;  -- ok
+ALTER SYSTEM RESET trace_sort;  -- ok
+-- PGC_USERSET / GUC_INTERNAL_SETTINGS / ERROR_HANDLING_OPTIONS
+SET exit_on_error = ON;  -- ok
+RESET exit_on_error;  -- ok
+ALTER SYSTEM SET exit_on_error = ON;  -- ok
+ALTER SYSTEM RESET exit_on_error;  -- ok
+-- PGC_USERSET / GUC_INTERNAL_SETTINGS / LOGGING_WHAT
+SET application_name = 'psql';  -- ok
+RESET application_name;  -- ok
+ALTER SYSTEM SET application_name = 'psql';  -- ok
+ALTER SYSTEM RESET application_name;  -- ok
+SET debug_pretty_print = ON;  -- ok
+RESET debug_pretty_print;  -- ok
+ALTER SYSTEM SET debug_pretty_print = ON;  -- ok
+ALTER SYSTEM RESET debug_pretty_print;  -- ok
+SET debug_print_parse = ON;  -- ok
+RESET debug_print_parse;  -- ok
+ALTER SYSTEM SET debug_print_parse = ON;  -- ok
+ALTER SYSTEM RESET debug_print_parse;  -- ok
+SET debug_print_plan = ON;  -- ok
+RESET debug_print_plan;  -- ok
+ALTER SYSTEM SET debug_print_plan = ON;  -- ok
+ALTER SYSTEM RESET debug_print_plan;  -- ok
+SET debug_print_rewritten = ON;  -- ok
+RESET debug_print_rewritten;  -- ok
+ALTER SYSTEM SET debug_print_rewritten = ON;  -- ok
+ALTER SYSTEM RESET debug_print_rewritten;  -- ok
+SET log_parameter_max_length_on_error = 50;  -- ok
+RESET log_parameter_max_length_on_error;  -- ok
+ALTER SYSTEM SET log_parameter_max_length_on_error = 50;  -- ok
+ALTER SYSTEM RESET log_parameter_max_length_on_error;  -- ok
+-- PGC_USERSET / GUC_INTERNAL_SETTINGS / QUERY_TUNING_COST
+SET cpu_index_tuple_cost = 50;  -- ok
+RESET cpu_index_tuple_cost;  -- ok
+ALTER SYSTEM SET cpu_index_tuple_cost = 50;  -- ok
+ALTER SYSTEM RESET cpu_index_tuple_cost;  -- ok
+SET cpu_operator_cost = 50;  -- ok
+RESET cpu_operator_cost;  -- ok
+ALTER SYSTEM SET cpu_operator_cost = 50;  -- ok
+ALTER SYSTEM RESET cpu_operator_cost;  -- ok
+SET cpu_tuple_cost = 50;  -- ok
+RESET cpu_tuple_cost;  -- ok
+ALTER SYSTEM SET cpu_tuple_cost = 50;  -- ok
+ALTER SYSTEM RESET cpu_tuple_cost;  -- ok
+SET effective_cache_size = 1073741824;  -- ok
+RESET effective_cache_size;  -- ok
+ALTER SYSTEM SET effective_cache_size = 1073741824;  -- ok
+ALTER SYSTEM RESET effective_cache_size;  -- ok
+SET jit_above_cost = 50;  -- ok
+RESET jit_above_cost;  -- ok
+ALTER SYSTEM SET jit_above_cost = 50;  -- ok
+ALTER SYSTEM RESET jit_above_cost;  -- ok
+SET jit_inline_above_cost = 50;  -- ok
+RESET jit_inline_above_cost;  -- ok
+ALTER SYSTEM SET jit_inline_above_cost = 50;  -- ok
+ALTER SYSTEM RESET jit_inline_above_cost;  -- ok
+SET jit_optimize_above_cost = 50;  -- ok
+RESET jit_optimize_above_cost;  -- ok
+ALTER SYSTEM SET jit_optimize_above_cost = 50;  -- ok
+ALTER SYSTEM RESET jit_optimize_above_cost;  -- ok
+SET min_parallel_index_scan_size = 50;  -- ok
+RESET min_parallel_index_scan_size;  -- ok
+ALTER SYSTEM SET min_parallel_index_scan_size = 50;  -- ok
+ALTER SYSTEM RESET min_parallel_index_scan_size;  -- ok
+SET min_parallel_table_scan_size = 50;  -- ok
+RESET min_parallel_table_scan_size;  -- ok
+ALTER SYSTEM SET min_parallel_table_scan_size = 50;  -- ok
+ALTER SYSTEM RESET min_parallel_table_scan_size;  -- ok
+SET parallel_setup_cost = 50;  -- ok
+RESET parallel_setup_cost;  -- ok
+ALTER SYSTEM SET parallel_setup_cost = 50;  -- ok
+ALTER SYSTEM RESET parallel_setup_cost;  -- ok
+SET parallel_tuple_cost = 50;  -- ok
+RESET parallel_tuple_cost;  -- ok
+ALTER SYSTEM SET parallel_tuple_cost = 50;  -- ok
+ALTER SYSTEM RESET parallel_tuple_cost;  -- ok
+SET random_page_cost = 50;  -- ok
+RESET random_page_cost;  -- ok
+ALTER SYSTEM SET random_page_cost = 50;  -- ok
+ALTER SYSTEM RESET random_page_cost;  -- ok
+SET seq_page_cost = 50;  -- ok
+RESET seq_page_cost;  -- ok
+ALTER SYSTEM SET seq_page_cost = 50;  -- ok
+ALTER SYSTEM RESET seq_page_cost;  -- ok
+-- PGC_USERSET / GUC_INTERNAL_SETTINGS / QUERY_TUNING_GEQO
+SET geqo = ON;  -- ok
+RESET geqo;  -- ok
+ALTER SYSTEM SET geqo = ON;  -- ok
+ALTER SYSTEM RESET geqo;  -- ok
+SET geqo_effort = 5;  -- ok
+RESET geqo_effort;  -- ok
+ALTER SYSTEM SET geqo_effort = 5;  -- ok
+ALTER SYSTEM RESET geqo_effort;  -- ok
+SET geqo_generations = 50;  -- ok
+RESET geqo_generations;  -- ok
+ALTER SYSTEM SET geqo_generations = 50;  -- ok
+ALTER SYSTEM RESET geqo_generations;  -- ok
+SET geqo_pool_size = 50;  -- ok
+RESET geqo_pool_size;  -- ok
+ALTER SYSTEM SET geqo_pool_size = 50;  -- ok
+ALTER SYSTEM RESET geqo_pool_size;  -- ok
+SET geqo_seed = 0;  -- ok
+RESET geqo_seed;  -- ok
+ALTER SYSTEM SET geqo_seed = 0;  -- ok
+ALTER SYSTEM RESET geqo_seed;  -- ok
+SET geqo_selection_bias = 2;  -- ok
+RESET geqo_selection_bias;  -- ok
+ALTER SYSTEM SET geqo_selection_bias = 2;  -- ok
+ALTER SYSTEM RESET geqo_selection_bias;  -- ok
+SET geqo_threshold = 1073741824;  -- ok
+RESET geqo_threshold;  -- ok
+ALTER SYSTEM SET geqo_threshold = 1073741824;  -- ok
+ALTER SYSTEM RESET geqo_threshold;  -- ok
+-- PGC_USERSET / GUC_INTERNAL_SETTINGS / QUERY_TUNING_METHOD
+SET enable_async_append = ON;  -- ok
+RESET enable_async_append;  -- ok
+ALTER SYSTEM SET enable_async_append = ON;  -- ok
+ALTER SYSTEM RESET enable_async_append;  -- ok
+SET enable_bitmapscan = ON;  -- ok
+RESET enable_bitmapscan;  -- ok
+ALTER SYSTEM SET enable_bitmapscan = ON;  -- ok
+ALTER SYSTEM RESET enable_bitmapscan;  -- ok
+SET enable_gathermerge = ON;  -- ok
+RESET enable_gathermerge;  -- ok
+ALTER SYSTEM SET enable_gathermerge = ON;  -- ok
+ALTER SYSTEM RESET enable_gathermerge;  -- ok
+SET enable_hashagg = ON;  -- ok
+RESET enable_hashagg;  -- ok
+ALTER SYSTEM SET enable_hashagg = ON;  -- ok
+ALTER SYSTEM RESET enable_hashagg;  -- ok
+SET enable_hashjoin = ON;  -- ok
+RESET enable_hashjoin;  -- ok
+ALTER SYSTEM SET enable_hashjoin = ON;  -- ok
+ALTER SYSTEM RESET enable_hashjoin;  -- ok
+SET enable_incremental_sort = ON;  -- ok
+RESET enable_incremental_sort;  -- ok
+ALTER SYSTEM SET enable_incremental_sort = ON;  -- ok
+ALTER SYSTEM RESET enable_incremental_sort;  -- ok
+SET enable_indexonlyscan = ON;  -- ok
+RESET enable_indexonlyscan;  -- ok
+ALTER SYSTEM SET enable_indexonlyscan = ON;  -- ok
+ALTER SYSTEM RESET enable_indexonlyscan;  -- ok
+SET enable_indexscan = ON;  -- ok
+RESET enable_indexscan;  -- ok
+ALTER SYSTEM SET enable_indexscan = ON;  -- ok
+ALTER SYSTEM RESET enable_indexscan;  -- ok
+SET enable_material = ON;  -- ok
+RESET enable_material;  -- ok
+ALTER SYSTEM SET enable_material = ON;  -- ok
+ALTER SYSTEM RESET enable_material;  -- ok
+SET enable_mergejoin = ON;  -- ok
+RESET enable_mergejoin;  -- ok
+ALTER SYSTEM SET enable_mergejoin = ON;  -- ok
+ALTER SYSTEM RESET enable_mergejoin;  -- ok
+SET enable_nestloop = ON;  -- ok
+RESET enable_nestloop;  -- ok
+ALTER SYSTEM SET enable_nestloop = ON;  -- ok
+ALTER SYSTEM RESET enable_nestloop;  -- ok
+SET enable_parallel_append = ON;  -- ok
+RESET enable_parallel_append;  -- ok
+ALTER SYSTEM SET enable_parallel_append = ON;  -- ok
+ALTER SYSTEM RESET enable_parallel_append;  -- ok
+SET enable_parallel_hash = ON;  -- ok
+RESET enable_parallel_hash;  -- ok
+ALTER SYSTEM SET enable_parallel_hash = ON;  -- ok
+ALTER SYSTEM RESET enable_parallel_hash;  -- ok
+SET enable_partition_pruning = ON;  -- ok
+RESET enable_partition_pruning;  -- ok
+ALTER SYSTEM SET enable_partition_pruning = ON;  -- ok
+ALTER SYSTEM RESET enable_partition_pruning;  -- ok
+SET enable_partitionwise_aggregate = ON;  -- ok
+RESET enable_partitionwise_aggregate;  -- ok
+ALTER SYSTEM SET enable_partitionwise_aggregate = ON;  -- ok
+ALTER SYSTEM RESET enable_partitionwise_aggregate;  -- ok
+SET enable_partitionwise_join = ON;  -- ok
+RESET enable_partitionwise_join;  -- ok
+ALTER SYSTEM SET enable_partitionwise_join = ON;  -- ok
+ALTER SYSTEM RESET enable_partitionwise_join;  -- ok
+SET enable_resultcache = ON;  -- ok
+RESET enable_resultcache;  -- ok
+ALTER SYSTEM SET enable_resultcache = ON;  -- ok
+ALTER SYSTEM RESET enable_resultcache;  -- ok
+SET enable_seqscan = ON;  -- ok
+RESET enable_seqscan;  -- ok
+ALTER SYSTEM SET enable_seqscan = ON;  -- ok
+ALTER SYSTEM RESET enable_seqscan;  -- ok
+SET enable_sort = ON;  -- ok
+RESET enable_sort;  -- ok
+ALTER SYSTEM SET enable_sort = ON;  -- ok
+ALTER SYSTEM RESET enable_sort;  -- ok
+SET enable_tidscan = ON;  -- ok
+RESET enable_tidscan;  -- ok
+ALTER SYSTEM SET enable_tidscan = ON;  -- ok
+ALTER SYSTEM RESET enable_tidscan;  -- ok
+-- PGC_USERSET / GUC_INTERNAL_SETTINGS / QUERY_TUNING_OTHER
+SET constraint_exclusion = 'partition';  -- ok
+RESET constraint_exclusion;  -- ok
+ALTER SYSTEM SET constraint_exclusion = 'partition';  -- ok
+ALTER SYSTEM RESET constraint_exclusion;  -- ok
+SET cursor_tuple_fraction = 0;  -- ok
+RESET cursor_tuple_fraction;  -- ok
+ALTER SYSTEM SET cursor_tuple_fraction = 0;  -- ok
+ALTER SYSTEM RESET cursor_tuple_fraction;  -- ok
+SET default_statistics_target = 5000;  -- ok
+RESET default_statistics_target;  -- ok
+ALTER SYSTEM SET default_statistics_target = 5000;  -- ok
+ALTER SYSTEM RESET default_statistics_target;  -- ok
+SET from_collapse_limit = 1073741824;  -- ok
+RESET from_collapse_limit;  -- ok
+ALTER SYSTEM SET from_collapse_limit = 1073741824;  -- ok
+ALTER SYSTEM RESET from_collapse_limit;  -- ok
+SET jit = ON;  -- ok
+RESET jit;  -- ok
+ALTER SYSTEM SET jit = ON;  -- ok
+ALTER SYSTEM RESET jit;  -- ok
+SET join_collapse_limit = 1073741824;  -- ok
+RESET join_collapse_limit;  -- ok
+ALTER SYSTEM SET join_collapse_limit = 1073741824;  -- ok
+ALTER SYSTEM RESET join_collapse_limit;  -- ok
+SET plan_cache_mode = 'force_generic_plan';  -- ok
+RESET plan_cache_mode;  -- ok
+ALTER SYSTEM SET plan_cache_mode = 'force_generic_plan';  -- ok
+ALTER SYSTEM RESET plan_cache_mode;  -- ok
+-- PGC_USERSET / GUC_INTERNAL_SETTINGS / REPLICATION_SENDING
+SET wal_sender_timeout = 50;  -- ok
+RESET wal_sender_timeout;  -- ok
+ALTER SYSTEM SET wal_sender_timeout = 50;  -- ok
+ALTER SYSTEM RESET wal_sender_timeout;  -- ok
+-- PGC_USERSET / GUC_INTERNAL_SETTINGS / RESOURCES_ASYNCHRONOUS
+SET backend_flush_after = 128;  -- ok
+RESET backend_flush_after;  -- ok
+ALTER SYSTEM SET backend_flush_after = 128;  -- ok
+ALTER SYSTEM RESET backend_flush_after;  -- ok
+SET max_parallel_maintenance_workers = 50;  -- ok
+RESET max_parallel_maintenance_workers;  -- ok
+ALTER SYSTEM SET max_parallel_maintenance_workers = 50;  -- ok
+ALTER SYSTEM RESET max_parallel_maintenance_workers;  -- ok
+SET max_parallel_workers = 50;  -- ok
+RESET max_parallel_workers;  -- ok
+ALTER SYSTEM SET max_parallel_workers = 50;  -- ok
+ALTER SYSTEM RESET max_parallel_workers;  -- ok
+SET max_parallel_workers_per_gather = 50;  -- ok
+RESET max_parallel_workers_per_gather;  -- ok
+ALTER SYSTEM SET max_parallel_workers_per_gather = 50;  -- ok
+ALTER SYSTEM RESET max_parallel_workers_per_gather;  -- ok
+SET parallel_leader_participation = ON;  -- ok
+RESET parallel_leader_participation;  -- ok
+ALTER SYSTEM SET parallel_leader_participation = ON;  -- ok
+ALTER SYSTEM RESET parallel_leader_participation;  -- ok
+-- PGC_USERSET / GUC_INTERNAL_SETTINGS / RESOURCES_MEM
+SET hash_mem_multiplier = 500;  -- ok
+RESET hash_mem_multiplier;  -- ok
+ALTER SYSTEM SET hash_mem_multiplier = 500;  -- ok
+ALTER SYSTEM RESET hash_mem_multiplier;  -- ok
+SET logical_decoding_work_mem = 1073741855;  -- ok
+RESET logical_decoding_work_mem;  -- ok
+ALTER SYSTEM SET logical_decoding_work_mem = 1073741855;  -- ok
+ALTER SYSTEM RESET logical_decoding_work_mem;  -- ok
+SET maintenance_work_mem = 1073742335;  -- ok
+RESET maintenance_work_mem;  -- ok
+ALTER SYSTEM SET maintenance_work_mem = 1073742335;  -- ok
+ALTER SYSTEM RESET maintenance_work_mem;  -- ok
+SET temp_buffers = 536870961;  -- ok
+RESET temp_buffers;  -- ok
+ALTER SYSTEM SET temp_buffers = 536870961;  -- ok
+ALTER SYSTEM RESET temp_buffers;  -- ok
+SET work_mem = 1073741855;  -- ok
+RESET work_mem;  -- ok
+ALTER SYSTEM SET work_mem = 1073741855;  -- ok
+ALTER SYSTEM RESET work_mem;  -- ok
+-- PGC_USERSET / GUC_INTERNAL_SETTINGS / RESOURCES_VACUUM_DELAY
+SET vacuum_cost_delay = 50;  -- ok
+RESET vacuum_cost_delay;  -- ok
+ALTER SYSTEM SET vacuum_cost_delay = 50;  -- ok
+ALTER SYSTEM RESET vacuum_cost_delay;  -- ok
+SET vacuum_cost_limit = 5000;  -- ok
+RESET vacuum_cost_limit;  -- ok
+ALTER SYSTEM SET vacuum_cost_limit = 5000;  -- ok
+ALTER SYSTEM RESET vacuum_cost_limit;  -- ok
+SET vacuum_cost_page_dirty = 50;  -- ok
+RESET vacuum_cost_page_dirty;  -- ok
+ALTER SYSTEM SET vacuum_cost_page_dirty = 50;  -- ok
+ALTER SYSTEM RESET vacuum_cost_page_dirty;  -- ok
+SET vacuum_cost_page_hit = 50;  -- ok
+RESET vacuum_cost_page_hit;  -- ok
+ALTER SYSTEM SET vacuum_cost_page_hit = 50;  -- ok
+ALTER SYSTEM RESET vacuum_cost_page_hit;  -- ok
+SET vacuum_cost_page_miss = 50;  -- ok
+RESET vacuum_cost_page_miss;  -- ok
+ALTER SYSTEM SET vacuum_cost_page_miss = 50;  -- ok
+ALTER SYSTEM RESET vacuum_cost_page_miss;  -- ok
+-- PGC_USERSET / GUC_INTERNAL_SETTINGS / UNGROUPED
+SET seed = 0;  -- ok
+RESET seed;  -- ok
+ALTER SYSTEM SET seed = 0;  -- fail, cannot be changed
+ERROR:  parameter "seed" cannot be changed
+ALTER SYSTEM RESET seed;  -- fail, cannot be changed
+ERROR:  parameter "seed" cannot be changed
+-- PGC_USERSET / GUC_INTERNAL_SETTINGS / WAL_SETTINGS
+SET commit_siblings = 50;  -- ok
+RESET commit_siblings;  -- ok
+ALTER SYSTEM SET commit_siblings = 50;  -- ok
+ALTER SYSTEM RESET commit_siblings;  -- ok
+SET synchronous_commit = 'remote_write';  -- ok
+RESET synchronous_commit;  -- ok
+ALTER SYSTEM SET synchronous_commit = 'remote_write';  -- ok
+ALTER SYSTEM RESET synchronous_commit;  -- ok
+SET wal_skip_threshold = 50;  -- ok
+RESET wal_skip_threshold;  -- ok
+ALTER SYSTEM SET wal_skip_threshold = 50;  -- ok
+ALTER SYSTEM RESET wal_skip_threshold;  -- ok
+-- PGC_USERSET / GUC_RESOURCE_USAGE / RESOURCES_ASYNCHRONOUS
+SET effective_io_concurrency = 0;  -- ok
+RESET effective_io_concurrency;  -- ok
+ALTER SYSTEM SET effective_io_concurrency = 0;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "effective_io_concurrency"
+ALTER SYSTEM RESET effective_io_concurrency;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "effective_io_concurrency"
+SET maintenance_io_concurrency = 0;  -- ok
+RESET maintenance_io_concurrency;  -- ok
+ALTER SYSTEM SET maintenance_io_concurrency = 0;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "maintenance_io_concurrency"
+ALTER SYSTEM RESET maintenance_io_concurrency;  -- fail, tenant has insufficient privileges
+ERROR:  permission denied to set parameter "maintenance_io_concurrency"
+RESET statement_timeout;
+RESET SESSION AUTHORIZATION;
+DROP ROLE tenant;
diff --git a/src/test/regress/parallel_schedule b/src/test/regress/parallel_schedule
index 22b0d3584d..be21d96ff6 100644
--- a/src/test/regress/parallel_schedule
+++ b/src/test/regress/parallel_schedule
@@ -86,7 +86,7 @@ test: brin_bloom brin_multi
 # ----------
 # Another group of parallel tests
 # ----------
-test: create_table_like alter_generic alter_operator misc async dbsize misc_functions sysviews tsrf tid tidscan tidrangescan collate.icu.utf8 incremental_sort
+test: create_table_like alter_generic alter_operator misc async dbsize misc_functions sysviews tsrf tid tidscan tidrangescan collate.icu.utf8 incremental_sort guc_priv_tenant guc_priv_admin
 
 # rules cannot run concurrently with any test that creates
 # a view or rule in the public schema
diff --git a/src/test/regress/sql/guc_priv_admin.sql b/src/test/regress/sql/guc_priv_admin.sql
new file mode 100644
index 0000000000..078adadffb
--- /dev/null
+++ b/src/test/regress/sql/guc_priv_admin.sql
@@ -0,0 +1,1470 @@
+
+-- Role with all GUC permissions
+CREATE ROLE admin;
+GRANT pg_internal_settings TO admin;
+GRANT pg_stats_settings TO admin;
+GRANT pg_maintenance_settings TO admin;
+GRANT pg_storage_settings TO admin;
+GRANT pg_wal_settings TO admin;
+GRANT pg_logging_settings TO admin;
+GRANT pg_interface_settings TO admin;
+GRANT pg_resource_usage TO admin;
+GRANT pg_filesystem_security TO admin;
+GRANT pg_exec_command TO admin;
+GRANT pg_server_configuration TO admin;
+GRANT pg_security_settings TO admin;
+-- Perform all operations as user 'admin' --
+SET SESSION AUTHORIZATION admin;
+-- PGC_BACKEND / GUC_INTERFACE_SETTINGS / DEVELOPER_OPTIONS
+SET post_auth_delay = 50;  -- fail, cannot be set after connection start
+RESET post_auth_delay;  -- fail, cannot be set after connection start
+ALTER SYSTEM SET post_auth_delay = 50;  -- ok
+ALTER SYSTEM RESET post_auth_delay;  -- ok
+-- PGC_BACKEND / GUC_INTERNAL_SETTINGS / DEVELOPER_OPTIONS
+SET ignore_system_indexes = ON;  -- fail, cannot be set after connection start
+RESET ignore_system_indexes;  -- fail, cannot be set after connection start
+ALTER SYSTEM SET ignore_system_indexes = ON;  -- ok
+ALTER SYSTEM RESET ignore_system_indexes;  -- ok
+-- PGC_INTERNAL / GUC_INTERNAL_SETTINGS / PRESET_OPTIONS
+SET block_size = 50;  -- fail, cannot be changed
+RESET block_size;  -- fail, cannot be changed
+ALTER SYSTEM SET block_size = 50;  -- fail, cannot be changed
+ALTER SYSTEM RESET block_size;  -- fail, cannot be changed
+SET data_checksums = ON;  -- fail, cannot be changed
+RESET data_checksums;  -- fail, cannot be changed
+ALTER SYSTEM SET data_checksums = ON;  -- fail, cannot be changed
+ALTER SYSTEM RESET data_checksums;  -- fail, cannot be changed
+SET data_directory_mode = 50;  -- fail, cannot be changed
+RESET data_directory_mode;  -- fail, cannot be changed
+ALTER SYSTEM SET data_directory_mode = 50;  -- fail, cannot be changed
+ALTER SYSTEM RESET data_directory_mode;  -- fail, cannot be changed
+SET debug_assertions = ON;  -- fail, cannot be changed
+RESET debug_assertions;  -- fail, cannot be changed
+ALTER SYSTEM SET debug_assertions = ON;  -- fail, cannot be changed
+ALTER SYSTEM RESET debug_assertions;  -- fail, cannot be changed
+SET in_hot_standby = ON;  -- fail, cannot be changed
+RESET in_hot_standby;  -- fail, cannot be changed
+ALTER SYSTEM SET in_hot_standby = ON;  -- fail, cannot be changed
+ALTER SYSTEM RESET in_hot_standby;  -- fail, cannot be changed
+SET integer_datetimes = ON;  -- fail, cannot be changed
+RESET integer_datetimes;  -- fail, cannot be changed
+ALTER SYSTEM SET integer_datetimes = ON;  -- fail, cannot be changed
+ALTER SYSTEM RESET integer_datetimes;  -- fail, cannot be changed
+SET lc_collate = 'en_US.UTF-8';  -- fail, cannot be changed
+RESET lc_collate;  -- fail, cannot be changed
+ALTER SYSTEM SET lc_collate = 'en_US.UTF-8';  -- fail, cannot be changed
+ALTER SYSTEM RESET lc_collate;  -- fail, cannot be changed
+SET lc_ctype = 'en_US.UTF-8';  -- fail, cannot be changed
+RESET lc_ctype;  -- fail, cannot be changed
+ALTER SYSTEM SET lc_ctype = 'en_US.UTF-8';  -- fail, cannot be changed
+ALTER SYSTEM RESET lc_ctype;  -- fail, cannot be changed
+SET max_function_args = 50;  -- fail, cannot be changed
+RESET max_function_args;  -- fail, cannot be changed
+ALTER SYSTEM SET max_function_args = 50;  -- fail, cannot be changed
+ALTER SYSTEM RESET max_function_args;  -- fail, cannot be changed
+SET max_identifier_length = 50;  -- fail, cannot be changed
+RESET max_identifier_length;  -- fail, cannot be changed
+ALTER SYSTEM SET max_identifier_length = 50;  -- fail, cannot be changed
+ALTER SYSTEM RESET max_identifier_length;  -- fail, cannot be changed
+SET max_index_keys = 50;  -- fail, cannot be changed
+RESET max_index_keys;  -- fail, cannot be changed
+ALTER SYSTEM SET max_index_keys = 50;  -- fail, cannot be changed
+ALTER SYSTEM RESET max_index_keys;  -- fail, cannot be changed
+SET segment_size = 50;  -- fail, cannot be changed
+RESET segment_size;  -- fail, cannot be changed
+ALTER SYSTEM SET segment_size = 50;  -- fail, cannot be changed
+ALTER SYSTEM RESET segment_size;  -- fail, cannot be changed
+SET server_encoding = 'UTF8';  -- fail, cannot be changed
+RESET server_encoding;  -- fail, cannot be changed
+ALTER SYSTEM SET server_encoding = 'UTF8';  -- fail, cannot be changed
+ALTER SYSTEM RESET server_encoding;  -- fail, cannot be changed
+SET server_version = '9.1';  -- fail, cannot be changed
+RESET server_version;  -- fail, cannot be changed
+ALTER SYSTEM SET server_version = '9.1';  -- fail, cannot be changed
+ALTER SYSTEM RESET server_version;  -- fail, cannot be changed
+SET server_version_num = 50;  -- fail, cannot be changed
+RESET server_version_num;  -- fail, cannot be changed
+ALTER SYSTEM SET server_version_num = 50;  -- fail, cannot be changed
+ALTER SYSTEM RESET server_version_num;  -- fail, cannot be changed
+SET ssl_library = 'OpenSSL';  -- fail, cannot be changed
+RESET ssl_library;  -- fail, cannot be changed
+ALTER SYSTEM SET ssl_library = 'OpenSSL';  -- fail, cannot be changed
+ALTER SYSTEM RESET ssl_library;  -- fail, cannot be changed
+SET wal_block_size = 50;  -- fail, cannot be changed
+RESET wal_block_size;  -- fail, cannot be changed
+ALTER SYSTEM SET wal_block_size = 50;  -- fail, cannot be changed
+ALTER SYSTEM RESET wal_block_size;  -- fail, cannot be changed
+SET wal_segment_size = 50;  -- fail, cannot be changed
+RESET wal_segment_size;  -- fail, cannot be changed
+ALTER SYSTEM SET wal_segment_size = 50;  -- fail, cannot be changed
+ALTER SYSTEM RESET wal_segment_size;  -- fail, cannot be changed
+-- PGC_INTERNAL / GUC_INTERNAL_SETTINGS / UNGROUPED
+SET is_superuser = ON;  -- fail, cannot be changed
+RESET is_superuser;  -- fail, cannot be changed
+ALTER SYSTEM SET is_superuser = ON;  -- fail, cannot be changed
+ALTER SYSTEM RESET is_superuser;  -- fail, cannot be changed
+-- PGC_POSTMASTER / GUC_FILESYSTEM_SECURITY / CLIENT_CONN_PRELOAD
+SET shared_preload_libraries = 'iconv, pcre';  -- fail, requires restart
+RESET shared_preload_libraries;  -- fail, requires restart
+ALTER SYSTEM SET shared_preload_libraries = 'iconv, pcre';  -- ok
+ALTER SYSTEM RESET shared_preload_libraries;  -- ok
+-- PGC_POSTMASTER / GUC_FILESYSTEM_SECURITY / FILE_LOCATIONS
+SET config_file = '/usr/local/data/postgresql.conf';  -- fail, requires restart
+RESET config_file;  -- fail, requires restart
+ALTER SYSTEM SET config_file = '/usr/local/data/postgresql.conf';  -- fail, cannot be changed
+ALTER SYSTEM RESET config_file;  -- fail, cannot be changed
+SET data_directory = '/usr/local/data';  -- fail, requires restart
+RESET data_directory;  -- fail, requires restart
+ALTER SYSTEM SET data_directory = '/usr/local/data';  -- fail, cannot be changed
+ALTER SYSTEM RESET data_directory;  -- fail, cannot be changed
+SET external_pid_file = '/var/postgres/master.pid';  -- fail, requires restart
+RESET external_pid_file;  -- fail, requires restart
+ALTER SYSTEM SET external_pid_file = '/var/postgres/master.pid';  -- ok
+ALTER SYSTEM RESET external_pid_file;  -- ok
+-- PGC_POSTMASTER / GUC_FILESYSTEM_SECURITY | GUC_INTERFACE_SETTINGS / CONN_AUTH_SETTINGS
+SET unix_socket_directories = '/tmp';  -- fail, requires restart
+RESET unix_socket_directories;  -- fail, requires restart
+ALTER SYSTEM SET unix_socket_directories = '/tmp';  -- ok
+ALTER SYSTEM RESET unix_socket_directories;  -- ok
+SET unix_socket_group = 'tenant';  -- fail, requires restart
+RESET unix_socket_group;  -- fail, requires restart
+ALTER SYSTEM SET unix_socket_group = 'tenant';  -- ok
+ALTER SYSTEM RESET unix_socket_group;  -- ok
+-- PGC_POSTMASTER / GUC_FILESYSTEM_SECURITY | GUC_LOGGING_SETTINGS | GUC_RESOURCE_USAGE | GUC_SECURITY_SETTINGS / LOGGING_WHERE
+SET logging_collector = ON;  -- fail, requires restart
+RESET logging_collector;  -- fail, requires restart
+ALTER SYSTEM SET logging_collector = ON;  -- ok
+ALTER SYSTEM RESET logging_collector;  -- ok
+-- PGC_POSTMASTER / GUC_INTERFACE_SETTINGS / CONN_AUTH_SETTINGS
+SET bonjour = ON;  -- fail, requires restart
+RESET bonjour;  -- fail, requires restart
+ALTER SYSTEM SET bonjour = ON;  -- ok
+ALTER SYSTEM RESET bonjour;  -- ok
+SET bonjour_name = 'BonneNuit';  -- fail, requires restart
+RESET bonjour_name;  -- fail, requires restart
+ALTER SYSTEM SET bonjour_name = 'BonneNuit';  -- ok
+ALTER SYSTEM RESET bonjour_name;  -- ok
+SET listen_addresses = 'localhost';  -- fail, requires restart
+RESET listen_addresses;  -- fail, requires restart
+ALTER SYSTEM SET listen_addresses = 'localhost';  -- ok
+ALTER SYSTEM RESET listen_addresses;  -- ok
+SET max_connections = 50;  -- fail, requires restart
+RESET max_connections;  -- fail, requires restart
+ALTER SYSTEM SET max_connections = 50;  -- ok
+ALTER SYSTEM RESET max_connections;  -- ok
+SET port = 50;  -- fail, requires restart
+RESET port;  -- fail, requires restart
+ALTER SYSTEM SET port = 50;  -- ok
+ALTER SYSTEM RESET port;  -- ok
+SET superuser_reserved_connections = 50;  -- fail, requires restart
+RESET superuser_reserved_connections;  -- fail, requires restart
+ALTER SYSTEM SET superuser_reserved_connections = 50;  -- ok
+ALTER SYSTEM RESET superuser_reserved_connections;  -- ok
+SET unix_socket_permissions = 50;  -- fail, requires restart
+RESET unix_socket_permissions;  -- fail, requires restart
+ALTER SYSTEM SET unix_socket_permissions = 50;  -- ok
+ALTER SYSTEM RESET unix_socket_permissions;  -- ok
+-- PGC_POSTMASTER / GUC_INTERNAL_SETTINGS | GUC_RESOURCE_USAGE / RESOURCES_MEM
+SET huge_pages = 'try';  -- fail, requires restart
+RESET huge_pages;  -- fail, requires restart
+ALTER SYSTEM SET huge_pages = 'try';  -- ok
+ALTER SYSTEM RESET huge_pages;  -- ok
+-- PGC_POSTMASTER / GUC_INTERNAL_SETTINGS | GUC_SECURITY_SETTINGS / CLIENT_CONN_PRELOAD
+SET jit_provider = 'llvmjit';  -- fail, requires restart
+RESET jit_provider;  -- fail, requires restart
+ALTER SYSTEM SET jit_provider = 'llvmjit';  -- ok
+ALTER SYSTEM RESET jit_provider;  -- ok
+-- PGC_POSTMASTER / GUC_LOGGING_SETTINGS / PROCESS_TITLE
+SET cluster_name = 'BonCluster';  -- fail, requires restart
+RESET cluster_name;  -- fail, requires restart
+ALTER SYSTEM SET cluster_name = 'BonCluster';  -- ok
+ALTER SYSTEM RESET cluster_name;  -- ok
+-- PGC_POSTMASTER / GUC_LOGGING_SETTINGS | GUC_SECURITY_SETTINGS / LOGGING_WHERE
+SET event_source = 'PostgreSQL';  -- fail, requires restart
+RESET event_source;  -- fail, requires restart
+ALTER SYSTEM SET event_source = 'PostgreSQL';  -- ok
+ALTER SYSTEM RESET event_source;  -- ok
+-- PGC_POSTMASTER / GUC_MAINTENANCE_SETTINGS / AUTOVACUUM
+SET autovacuum_freeze_max_age = 1000050000;  -- fail, requires restart
+RESET autovacuum_freeze_max_age;  -- fail, requires restart
+ALTER SYSTEM SET autovacuum_freeze_max_age = 1000050000;  -- ok
+ALTER SYSTEM RESET autovacuum_freeze_max_age;  -- ok
+SET autovacuum_multixact_freeze_max_age = 1000005000;  -- fail, requires restart
+RESET autovacuum_multixact_freeze_max_age;  -- fail, requires restart
+ALTER SYSTEM SET autovacuum_multixact_freeze_max_age = 1000005000;  -- ok
+ALTER SYSTEM RESET autovacuum_multixact_freeze_max_age;  -- ok
+-- PGC_POSTMASTER / GUC_MAINTENANCE_SETTINGS | GUC_RESOURCE_USAGE / AUTOVACUUM
+SET autovacuum_max_workers = 50;  -- fail, requires restart
+RESET autovacuum_max_workers;  -- fail, requires restart
+ALTER SYSTEM SET autovacuum_max_workers = 50;  -- ok
+ALTER SYSTEM RESET autovacuum_max_workers;  -- ok
+-- PGC_POSTMASTER / GUC_RESOURCE_USAGE / LOCK_MANAGEMENT
+SET max_locks_per_transaction = 50;  -- fail, requires restart
+RESET max_locks_per_transaction;  -- fail, requires restart
+ALTER SYSTEM SET max_locks_per_transaction = 50;  -- ok
+ALTER SYSTEM RESET max_locks_per_transaction;  -- ok
+SET max_pred_locks_per_transaction = 50;  -- fail, requires restart
+RESET max_pred_locks_per_transaction;  -- fail, requires restart
+ALTER SYSTEM SET max_pred_locks_per_transaction = 50;  -- ok
+ALTER SYSTEM RESET max_pred_locks_per_transaction;  -- ok
+-- PGC_POSTMASTER / GUC_RESOURCE_USAGE / REPLICATION_SUBSCRIBERS
+SET max_logical_replication_workers = 50;  -- fail, requires restart
+RESET max_logical_replication_workers;  -- fail, requires restart
+ALTER SYSTEM SET max_logical_replication_workers = 50;  -- ok
+ALTER SYSTEM RESET max_logical_replication_workers;  -- ok
+-- PGC_POSTMASTER / GUC_RESOURCE_USAGE / RESOURCES_ASYNCHRONOUS
+SET max_worker_processes = 50;  -- fail, requires restart
+RESET max_worker_processes;  -- fail, requires restart
+ALTER SYSTEM SET max_worker_processes = 50;  -- ok
+ALTER SYSTEM RESET max_worker_processes;  -- ok
+SET old_snapshot_threshold = 50;  -- fail, requires restart
+RESET old_snapshot_threshold;  -- fail, requires restart
+ALTER SYSTEM SET old_snapshot_threshold = 50;  -- ok
+ALTER SYSTEM RESET old_snapshot_threshold;  -- ok
+-- PGC_POSTMASTER / GUC_RESOURCE_USAGE / RESOURCES_KERNEL
+SET max_files_per_process = 1073741855;  -- fail, requires restart
+RESET max_files_per_process;  -- fail, requires restart
+ALTER SYSTEM SET max_files_per_process = 1073741855;  -- ok
+ALTER SYSTEM RESET max_files_per_process;  -- ok
+-- PGC_POSTMASTER / GUC_RESOURCE_USAGE / RESOURCES_MEM
+SET max_prepared_transactions = 50;  -- fail, requires restart
+RESET max_prepared_transactions;  -- fail, requires restart
+ALTER SYSTEM SET max_prepared_transactions = 50;  -- ok
+ALTER SYSTEM RESET max_prepared_transactions;  -- ok
+SET min_dynamic_shared_memory = 50;  -- fail, requires restart
+RESET min_dynamic_shared_memory;  -- fail, requires restart
+ALTER SYSTEM SET min_dynamic_shared_memory = 50;  -- ok
+ALTER SYSTEM RESET min_dynamic_shared_memory;  -- ok
+SET shared_buffers = 50;  -- fail, requires restart
+RESET shared_buffers;  -- fail, requires restart
+ALTER SYSTEM SET shared_buffers = 50;  -- ok
+ALTER SYSTEM RESET shared_buffers;  -- ok
+-- PGC_POSTMASTER / GUC_RESOURCE_USAGE / STATS_COLLECTOR
+SET track_activity_query_size = 524338;  -- fail, requires restart
+RESET track_activity_query_size;  -- fail, requires restart
+ALTER SYSTEM SET track_activity_query_size = 524338;  -- ok
+ALTER SYSTEM RESET track_activity_query_size;  -- ok
+-- PGC_POSTMASTER / GUC_RESOURCE_USAGE | GUC_WAL_SETTINGS / REPLICATION_SENDING
+SET max_replication_slots = 50;  -- fail, requires restart
+RESET max_replication_slots;  -- fail, requires restart
+ALTER SYSTEM SET max_replication_slots = 50;  -- ok
+ALTER SYSTEM RESET max_replication_slots;  -- ok
+SET max_wal_senders = 50;  -- fail, requires restart
+RESET max_wal_senders;  -- fail, requires restart
+ALTER SYSTEM SET max_wal_senders = 50;  -- ok
+ALTER SYSTEM RESET max_wal_senders;  -- ok
+-- PGC_POSTMASTER / GUC_RESOURCE_USAGE | GUC_WAL_SETTINGS / WAL_SETTINGS
+SET wal_buffers = 50;  -- fail, requires restart
+RESET wal_buffers;  -- fail, requires restart
+ALTER SYSTEM SET wal_buffers = 50;  -- ok
+ALTER SYSTEM RESET wal_buffers;  -- ok
+-- PGC_POSTMASTER / GUC_SERVER_CONFIGURATION / RESOURCES_MEM
+SET dynamic_shared_memory_type = 'posix';  -- fail, requires restart
+RESET dynamic_shared_memory_type;  -- fail, requires restart
+ALTER SYSTEM SET dynamic_shared_memory_type = 'posix';  -- ok
+ALTER SYSTEM RESET dynamic_shared_memory_type;  -- ok
+SET shared_memory_type = 'mmap';  -- fail, requires restart
+RESET shared_memory_type;  -- fail, requires restart
+ALTER SYSTEM SET shared_memory_type = 'mmap';  -- ok
+ALTER SYSTEM RESET shared_memory_type;  -- ok
+-- PGC_POSTMASTER / GUC_STORAGE_SETTINGS / DEVELOPER_OPTIONS
+SET ignore_invalid_pages = ON;  -- fail, requires restart
+RESET ignore_invalid_pages;  -- fail, requires restart
+ALTER SYSTEM SET ignore_invalid_pages = ON;  -- ok
+ALTER SYSTEM RESET ignore_invalid_pages;  -- ok
+-- PGC_POSTMASTER / GUC_STORAGE_SETTINGS / ERROR_HANDLING_OPTIONS
+SET data_sync_retry = ON;  -- fail, requires restart
+RESET data_sync_retry;  -- fail, requires restart
+ALTER SYSTEM SET data_sync_retry = ON;  -- ok
+ALTER SYSTEM RESET data_sync_retry;  -- ok
+-- PGC_POSTMASTER / GUC_WAL_SETTINGS / ERROR_HANDLING_OPTIONS
+SET recovery_init_sync_method = 'fsync';  -- fail, requires restart
+RESET recovery_init_sync_method;  -- fail, requires restart
+ALTER SYSTEM SET recovery_init_sync_method = 'fsync';  -- ok
+ALTER SYSTEM RESET recovery_init_sync_method;  -- ok
+-- PGC_POSTMASTER / GUC_WAL_SETTINGS / REPLICATION_SENDING
+SET track_commit_timestamp = ON;  -- fail, requires restart
+RESET track_commit_timestamp;  -- fail, requires restart
+ALTER SYSTEM SET track_commit_timestamp = ON;  -- ok
+ALTER SYSTEM RESET track_commit_timestamp;  -- ok
+-- PGC_POSTMASTER / GUC_WAL_SETTINGS / REPLICATION_STANDBY
+SET hot_standby = ON;  -- fail, requires restart
+RESET hot_standby;  -- fail, requires restart
+ALTER SYSTEM SET hot_standby = ON;  -- ok
+ALTER SYSTEM RESET hot_standby;  -- ok
+-- PGC_POSTMASTER / GUC_WAL_SETTINGS / WAL_ARCHIVING
+SET archive_mode = 'off';  -- fail, requires restart
+RESET archive_mode;  -- fail, requires restart
+ALTER SYSTEM SET archive_mode = 'off';  -- ok
+ALTER SYSTEM RESET archive_mode;  -- ok
+-- PGC_POSTMASTER / GUC_WAL_SETTINGS / WAL_RECOVERY_TARGET
+SET recovery_target_action = 'pause';  -- fail, requires restart
+RESET recovery_target_action;  -- fail, requires restart
+ALTER SYSTEM SET recovery_target_action = 'pause';  -- ok
+ALTER SYSTEM RESET recovery_target_action;  -- ok
+SET recovery_target_inclusive = ON;  -- fail, requires restart
+RESET recovery_target_inclusive;  -- fail, requires restart
+ALTER SYSTEM SET recovery_target_inclusive = ON;  -- ok
+ALTER SYSTEM RESET recovery_target_inclusive;  -- ok
+SET recovery_target_lsn = '16/B374D848';  -- fail, requires restart
+RESET recovery_target_lsn;  -- fail, requires restart
+ALTER SYSTEM SET recovery_target_lsn = '16/B374D848';  -- ok
+ALTER SYSTEM RESET recovery_target_lsn;  -- ok
+SET recovery_target_name = 'BonPoint';  -- fail, requires restart
+RESET recovery_target_name;  -- fail, requires restart
+ALTER SYSTEM SET recovery_target_name = 'BonPoint';  -- ok
+ALTER SYSTEM RESET recovery_target_name;  -- ok
+SET recovery_target_time = '2001-02-03 04:05:06.789 Europe/Helsinki';  -- fail, requires restart
+RESET recovery_target_time;  -- fail, requires restart
+ALTER SYSTEM SET recovery_target_time = '2001-02-03 04:05:06.789 Europe/Helsinki';  -- ok
+ALTER SYSTEM RESET recovery_target_time;  -- ok
+SET recovery_target_timeline = 'latest';  -- fail, requires restart
+RESET recovery_target_timeline;  -- fail, requires restart
+ALTER SYSTEM SET recovery_target_timeline = 'latest';  -- ok
+ALTER SYSTEM RESET recovery_target_timeline;  -- ok
+SET recovery_target_xid = '12345678';  -- fail, requires restart
+RESET recovery_target_xid;  -- fail, requires restart
+ALTER SYSTEM SET recovery_target_xid = '12345678';  -- ok
+ALTER SYSTEM RESET recovery_target_xid;  -- ok
+-- PGC_POSTMASTER / GUC_WAL_SETTINGS / WAL_SETTINGS
+SET wal_level = 'replica';  -- fail, requires restart
+RESET wal_level;  -- fail, requires restart
+ALTER SYSTEM SET wal_level = 'replica';  -- ok
+ALTER SYSTEM RESET wal_level;  -- ok
+SET wal_log_hints = ON;  -- fail, requires restart
+RESET wal_log_hints;  -- fail, requires restart
+ALTER SYSTEM SET wal_log_hints = ON;  -- ok
+ALTER SYSTEM RESET wal_log_hints;  -- ok
+-- PGC_SIGHUP / GUC_EXEC_COMMAND / WAL_ARCHIVE_RECOVERY
+SET archive_cleanup_command = '/bin/cleanup my stuff';  -- fail, requires reload
+RESET archive_cleanup_command;  -- fail, requires reload
+ALTER SYSTEM SET archive_cleanup_command = '/bin/cleanup my stuff';  -- ok
+ALTER SYSTEM RESET archive_cleanup_command;  -- ok
+SET recovery_end_command = '/bin/recover my stuff';  -- fail, requires reload
+RESET recovery_end_command;  -- fail, requires reload
+ALTER SYSTEM SET recovery_end_command = '/bin/recover my stuff';  -- ok
+ALTER SYSTEM RESET recovery_end_command;  -- ok
+SET restore_command = '/bin/restore my stuff';  -- fail, requires reload
+RESET restore_command;  -- fail, requires reload
+ALTER SYSTEM SET restore_command = '/bin/restore my stuff';  -- ok
+ALTER SYSTEM RESET restore_command;  -- ok
+-- PGC_SIGHUP / GUC_EXEC_COMMAND / WAL_ARCHIVING
+SET archive_command = '/bin/archive my stuff';  -- fail, requires reload
+RESET archive_command;  -- fail, requires reload
+ALTER SYSTEM SET archive_command = '/bin/archive my stuff';  -- ok
+ALTER SYSTEM RESET archive_command;  -- ok
+-- PGC_SIGHUP / GUC_FILESYSTEM_SECURITY / CONN_AUTH_SSL
+SET ssl_ca_file = 'ca/server.ca';  -- fail, requires reload
+RESET ssl_ca_file;  -- fail, requires reload
+ALTER SYSTEM SET ssl_ca_file = 'ca/server.ca';  -- ok
+ALTER SYSTEM RESET ssl_ca_file;  -- ok
+SET ssl_cert_file = 'crt/server.crt';  -- fail, requires reload
+RESET ssl_cert_file;  -- fail, requires reload
+ALTER SYSTEM SET ssl_cert_file = 'crt/server.crt';  -- ok
+ALTER SYSTEM RESET ssl_cert_file;  -- ok
+SET ssl_crl_file = 'crl/server.crl';  -- fail, requires reload
+RESET ssl_crl_file;  -- fail, requires reload
+ALTER SYSTEM SET ssl_crl_file = 'crl/server.crl';  -- ok
+ALTER SYSTEM RESET ssl_crl_file;  -- ok
+SET ssl_key_file = 'crl/server.key';  -- fail, requires reload
+RESET ssl_key_file;  -- fail, requires reload
+ALTER SYSTEM SET ssl_key_file = 'crl/server.key';  -- ok
+ALTER SYSTEM RESET ssl_key_file;  -- ok
+-- PGC_SIGHUP / GUC_FILESYSTEM_SECURITY / STATS_COLLECTOR
+SET stats_temp_directory = 'pg_stat_tmp';  -- fail, requires reload
+RESET stats_temp_directory;  -- fail, requires reload
+ALTER SYSTEM SET stats_temp_directory = 'pg_stat_tmp';  -- ok
+ALTER SYSTEM RESET stats_temp_directory;  -- ok
+-- PGC_SIGHUP / GUC_FILESYSTEM_SECURITY | GUC_INTERFACE_SETTINGS / CONN_AUTH_AUTH
+SET krb_server_keyfile = 'krb/server.key';  -- fail, requires reload
+RESET krb_server_keyfile;  -- fail, requires reload
+ALTER SYSTEM SET krb_server_keyfile = 'krb/server.key';  -- ok
+ALTER SYSTEM RESET krb_server_keyfile;  -- ok
+-- PGC_SIGHUP / GUC_FILESYSTEM_SECURITY | GUC_LOGGING_SETTINGS / LOGGING_WHERE
+SET log_file_mode = 50;  -- fail, requires reload
+RESET log_file_mode;  -- fail, requires reload
+ALTER SYSTEM SET log_file_mode = 50;  -- ok
+ALTER SYSTEM RESET log_file_mode;  -- ok
+-- PGC_SIGHUP / GUC_FILESYSTEM_SECURITY | GUC_LOGGING_SETTINGS | GUC_RESOURCE_USAGE | GUC_SECURITY_SETTINGS / LOGGING_WHERE
+SET log_rotation_age = 50;  -- fail, requires reload
+RESET log_rotation_age;  -- fail, requires reload
+ALTER SYSTEM SET log_rotation_age = 50;  -- ok
+ALTER SYSTEM RESET log_rotation_age;  -- ok
+SET log_rotation_size = 50;  -- fail, requires reload
+RESET log_rotation_size;  -- fail, requires reload
+ALTER SYSTEM SET log_rotation_size = 50;  -- ok
+ALTER SYSTEM RESET log_rotation_size;  -- ok
+SET log_truncate_on_rotation = ON;  -- fail, requires reload
+RESET log_truncate_on_rotation;  -- fail, requires reload
+ALTER SYSTEM SET log_truncate_on_rotation = ON;  -- ok
+ALTER SYSTEM RESET log_truncate_on_rotation;  -- ok
+-- PGC_SIGHUP / GUC_FILESYSTEM_SECURITY | GUC_SECURITY_SETTINGS / CONN_AUTH_SSL
+SET ssl_crl_dir = 'crl/';  -- fail, requires reload
+RESET ssl_crl_dir;  -- fail, requires reload
+ALTER SYSTEM SET ssl_crl_dir = 'crl/';  -- ok
+ALTER SYSTEM RESET ssl_crl_dir;  -- ok
+-- PGC_SIGHUP / GUC_FILESYSTEM_SECURITY | GUC_SECURITY_SETTINGS / LOGGING_WHERE
+SET log_directory = 'log';  -- fail, requires reload
+RESET log_directory;  -- fail, requires reload
+ALTER SYSTEM SET log_directory = 'log';  -- ok
+ALTER SYSTEM RESET log_directory;  -- ok
+SET log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log';  -- fail, requires reload
+RESET log_filename;  -- fail, requires reload
+ALTER SYSTEM SET log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log';  -- ok
+ALTER SYSTEM RESET log_filename;  -- ok
+-- PGC_SIGHUP / GUC_INTERFACE_SETTINGS / CONN_AUTH_AUTH
+SET authentication_timeout = 50;  -- fail, requires reload
+RESET authentication_timeout;  -- fail, requires reload
+ALTER SYSTEM SET authentication_timeout = 50;  -- ok
+ALTER SYSTEM RESET authentication_timeout;  -- ok
+SET db_user_namespace = ON;  -- fail, requires reload
+RESET db_user_namespace;  -- fail, requires reload
+ALTER SYSTEM SET db_user_namespace = ON;  -- ok
+ALTER SYSTEM RESET db_user_namespace;  -- ok
+SET krb_caseins_users = ON;  -- fail, requires reload
+RESET krb_caseins_users;  -- fail, requires reload
+ALTER SYSTEM SET krb_caseins_users = ON;  -- ok
+ALTER SYSTEM RESET krb_caseins_users;  -- ok
+-- PGC_SIGHUP / GUC_INTERFACE_SETTINGS / CONN_AUTH_SSL
+SET ssl_ciphers = 'none';  -- fail, requires reload
+RESET ssl_ciphers;  -- fail, requires reload
+ALTER SYSTEM SET ssl_ciphers = 'none';  -- ok
+ALTER SYSTEM RESET ssl_ciphers;  -- ok
+SET ssl_dh_params_file = 'ssl/params';  -- fail, requires reload
+RESET ssl_dh_params_file;  -- fail, requires reload
+ALTER SYSTEM SET ssl_dh_params_file = 'ssl/params';  -- ok
+ALTER SYSTEM RESET ssl_dh_params_file;  -- ok
+SET ssl_ecdh_curve = 'none';  -- fail, requires reload
+RESET ssl_ecdh_curve;  -- fail, requires reload
+ALTER SYSTEM SET ssl_ecdh_curve = 'none';  -- ok
+ALTER SYSTEM RESET ssl_ecdh_curve;  -- ok
+SET ssl_min_protocol_version = 'TLSv1.2';  -- fail, requires reload
+RESET ssl_min_protocol_version;  -- fail, requires reload
+ALTER SYSTEM SET ssl_min_protocol_version = 'TLSv1.2';  -- ok
+ALTER SYSTEM RESET ssl_min_protocol_version;  -- ok
+SET ssl_passphrase_command = '/bin/passphrase';  -- fail, requires reload
+RESET ssl_passphrase_command;  -- fail, requires reload
+ALTER SYSTEM SET ssl_passphrase_command = '/bin/passphrase';  -- ok
+ALTER SYSTEM RESET ssl_passphrase_command;  -- ok
+SET ssl_passphrase_command_supports_reload = ON;  -- fail, requires reload
+RESET ssl_passphrase_command_supports_reload;  -- fail, requires reload
+ALTER SYSTEM SET ssl_passphrase_command_supports_reload = ON;  -- ok
+ALTER SYSTEM RESET ssl_passphrase_command_supports_reload;  -- ok
+SET ssl_prefer_server_ciphers = ON;  -- fail, requires reload
+RESET ssl_prefer_server_ciphers;  -- fail, requires reload
+ALTER SYSTEM SET ssl_prefer_server_ciphers = ON;  -- ok
+ALTER SYSTEM RESET ssl_prefer_server_ciphers;  -- ok
+-- PGC_SIGHUP / GUC_INTERFACE_SETTINGS / DEVELOPER_OPTIONS
+SET pre_auth_delay = 50;  -- fail, requires reload
+RESET pre_auth_delay;  -- fail, requires reload
+ALTER SYSTEM SET pre_auth_delay = 50;  -- ok
+ALTER SYSTEM RESET pre_auth_delay;  -- ok
+-- PGC_SIGHUP / GUC_INTERFACE_SETTINGS | GUC_LOGGING_SETTINGS / LOGGING_WHAT
+SET log_hostname = ON;  -- fail, requires reload
+RESET log_hostname;  -- fail, requires reload
+ALTER SYSTEM SET log_hostname = ON;  -- ok
+ALTER SYSTEM RESET log_hostname;  -- ok
+-- PGC_SIGHUP / GUC_LOGGING_SETTINGS / LOGGING_WHAT
+SET log_autovacuum_min_duration = 50;  -- fail, requires reload
+RESET log_autovacuum_min_duration;  -- fail, requires reload
+ALTER SYSTEM SET log_autovacuum_min_duration = 50;  -- ok
+ALTER SYSTEM RESET log_autovacuum_min_duration;  -- ok
+SET log_checkpoints = ON;  -- fail, requires reload
+RESET log_checkpoints;  -- fail, requires reload
+ALTER SYSTEM SET log_checkpoints = ON;  -- ok
+ALTER SYSTEM RESET log_checkpoints;  -- ok
+SET log_line_prefix = '%m [%p] ';  -- fail, requires reload
+RESET log_line_prefix;  -- fail, requires reload
+ALTER SYSTEM SET log_line_prefix = '%m [%p] ';  -- ok
+ALTER SYSTEM RESET log_line_prefix;  -- ok
+SET log_recovery_conflict_waits = ON;  -- fail, requires reload
+RESET log_recovery_conflict_waits;  -- fail, requires reload
+ALTER SYSTEM SET log_recovery_conflict_waits = ON;  -- ok
+ALTER SYSTEM RESET log_recovery_conflict_waits;  -- ok
+SET log_timezone = 'Europe/Helsinki';  -- fail, requires reload
+RESET log_timezone;  -- fail, requires reload
+ALTER SYSTEM SET log_timezone = 'Europe/Helsinki';  -- ok
+ALTER SYSTEM RESET log_timezone;  -- ok
+-- PGC_SIGHUP / GUC_LOGGING_SETTINGS | GUC_SECURITY_SETTINGS / LOGGING_WHERE
+SET syslog_ident = 'postgres';  -- fail, requires reload
+RESET syslog_ident;  -- fail, requires reload
+ALTER SYSTEM SET syslog_ident = 'postgres';  -- ok
+ALTER SYSTEM RESET syslog_ident;  -- ok
+SET syslog_sequence_numbers = ON;  -- fail, requires reload
+RESET syslog_sequence_numbers;  -- fail, requires reload
+ALTER SYSTEM SET syslog_sequence_numbers = ON;  -- ok
+ALTER SYSTEM RESET syslog_sequence_numbers;  -- ok
+SET syslog_split_messages = ON;  -- fail, requires reload
+RESET syslog_split_messages;  -- fail, requires reload
+ALTER SYSTEM SET syslog_split_messages = ON;  -- ok
+ALTER SYSTEM RESET syslog_split_messages;  -- ok
+-- PGC_SIGHUP / GUC_LOGGING_SETTINGS | GUC_WAL_SETTINGS / DEVELOPER_OPTIONS
+SET trace_recovery_messages = 'log';  -- fail, requires reload
+RESET trace_recovery_messages;  -- fail, requires reload
+ALTER SYSTEM SET trace_recovery_messages = 'log';  -- ok
+ALTER SYSTEM RESET trace_recovery_messages;  -- ok
+-- PGC_SIGHUP / GUC_LOGGING_SETTINGS | GUC_WAL_SETTINGS / WAL_CHECKPOINTS
+SET checkpoint_warning = 50;  -- fail, requires reload
+RESET checkpoint_warning;  -- fail, requires reload
+ALTER SYSTEM SET checkpoint_warning = 50;  -- ok
+ALTER SYSTEM RESET checkpoint_warning;  -- ok
+-- PGC_SIGHUP / GUC_MAINTENANCE_SETTINGS / AUTOVACUUM
+SET autovacuum_analyze_scale_factor = 50;  -- fail, requires reload
+RESET autovacuum_analyze_scale_factor;  -- fail, requires reload
+ALTER SYSTEM SET autovacuum_analyze_scale_factor = 50;  -- ok
+ALTER SYSTEM RESET autovacuum_analyze_scale_factor;  -- ok
+SET autovacuum_analyze_threshold = 50;  -- fail, requires reload
+RESET autovacuum_analyze_threshold;  -- fail, requires reload
+ALTER SYSTEM SET autovacuum_analyze_threshold = 50;  -- ok
+ALTER SYSTEM RESET autovacuum_analyze_threshold;  -- ok
+SET autovacuum_naptime = 50;  -- fail, requires reload
+RESET autovacuum_naptime;  -- fail, requires reload
+ALTER SYSTEM SET autovacuum_naptime = 50;  -- ok
+ALTER SYSTEM RESET autovacuum_naptime;  -- ok
+SET autovacuum_vacuum_cost_delay = 50;  -- fail, requires reload
+RESET autovacuum_vacuum_cost_delay;  -- fail, requires reload
+ALTER SYSTEM SET autovacuum_vacuum_cost_delay = 50;  -- ok
+ALTER SYSTEM RESET autovacuum_vacuum_cost_delay;  -- ok
+SET autovacuum_vacuum_cost_limit = 50;  -- fail, requires reload
+RESET autovacuum_vacuum_cost_limit;  -- fail, requires reload
+ALTER SYSTEM SET autovacuum_vacuum_cost_limit = 50;  -- ok
+ALTER SYSTEM RESET autovacuum_vacuum_cost_limit;  -- ok
+SET autovacuum_vacuum_insert_scale_factor = 50;  -- fail, requires reload
+RESET autovacuum_vacuum_insert_scale_factor;  -- fail, requires reload
+ALTER SYSTEM SET autovacuum_vacuum_insert_scale_factor = 50;  -- ok
+ALTER SYSTEM RESET autovacuum_vacuum_insert_scale_factor;  -- ok
+SET autovacuum_vacuum_insert_threshold = 50;  -- fail, requires reload
+RESET autovacuum_vacuum_insert_threshold;  -- fail, requires reload
+ALTER SYSTEM SET autovacuum_vacuum_insert_threshold = 50;  -- ok
+ALTER SYSTEM RESET autovacuum_vacuum_insert_threshold;  -- ok
+SET autovacuum_vacuum_scale_factor = 50;  -- fail, requires reload
+RESET autovacuum_vacuum_scale_factor;  -- fail, requires reload
+ALTER SYSTEM SET autovacuum_vacuum_scale_factor = 50;  -- ok
+ALTER SYSTEM RESET autovacuum_vacuum_scale_factor;  -- ok
+SET autovacuum_vacuum_threshold = 50;  -- fail, requires reload
+RESET autovacuum_vacuum_threshold;  -- fail, requires reload
+ALTER SYSTEM SET autovacuum_vacuum_threshold = 50;  -- ok
+ALTER SYSTEM RESET autovacuum_vacuum_threshold;  -- ok
+-- PGC_SIGHUP / GUC_MAINTENANCE_SETTINGS / REPLICATION_PRIMARY
+SET vacuum_defer_cleanup_age = 50;  -- fail, requires reload
+RESET vacuum_defer_cleanup_age;  -- fail, requires reload
+ALTER SYSTEM SET vacuum_defer_cleanup_age = 50;  -- ok
+ALTER SYSTEM RESET vacuum_defer_cleanup_age;  -- ok
+-- PGC_SIGHUP / GUC_MAINTENANCE_SETTINGS | GUC_RESOURCE_USAGE / AUTOVACUUM
+SET autovacuum = ON;  -- fail, requires reload
+RESET autovacuum;  -- fail, requires reload
+ALTER SYSTEM SET autovacuum = ON;  -- ok
+ALTER SYSTEM RESET autovacuum;  -- ok
+-- PGC_SIGHUP / GUC_MAINTENANCE_SETTINGS | GUC_RESOURCE_USAGE / RESOURCES_MEM
+SET autovacuum_work_mem = 50;  -- fail, requires reload
+RESET autovacuum_work_mem;  -- fail, requires reload
+ALTER SYSTEM SET autovacuum_work_mem = 50;  -- ok
+ALTER SYSTEM RESET autovacuum_work_mem;  -- ok
+-- PGC_SIGHUP / GUC_RESOURCE_USAGE / LOCK_MANAGEMENT
+SET max_pred_locks_per_page = 50;  -- fail, requires reload
+RESET max_pred_locks_per_page;  -- fail, requires reload
+ALTER SYSTEM SET max_pred_locks_per_page = 50;  -- ok
+ALTER SYSTEM RESET max_pred_locks_per_page;  -- ok
+SET max_pred_locks_per_relation = 50;  -- fail, requires reload
+RESET max_pred_locks_per_relation;  -- fail, requires reload
+ALTER SYSTEM SET max_pred_locks_per_relation = 50;  -- ok
+ALTER SYSTEM RESET max_pred_locks_per_relation;  -- ok
+-- PGC_SIGHUP / GUC_RESOURCE_USAGE / REPLICATION_SUBSCRIBERS
+SET max_sync_workers_per_subscription = 50;  -- fail, requires reload
+RESET max_sync_workers_per_subscription;  -- fail, requires reload
+ALTER SYSTEM SET max_sync_workers_per_subscription = 50;  -- ok
+ALTER SYSTEM RESET max_sync_workers_per_subscription;  -- ok
+-- PGC_SIGHUP / GUC_RESOURCE_USAGE / RESOURCES_BGWRITER
+SET bgwriter_delay = 50;  -- fail, requires reload
+RESET bgwriter_delay;  -- fail, requires reload
+ALTER SYSTEM SET bgwriter_delay = 50;  -- ok
+ALTER SYSTEM RESET bgwriter_delay;  -- ok
+SET bgwriter_flush_after = 50;  -- fail, requires reload
+RESET bgwriter_flush_after;  -- fail, requires reload
+ALTER SYSTEM SET bgwriter_flush_after = 50;  -- ok
+ALTER SYSTEM RESET bgwriter_flush_after;  -- ok
+SET bgwriter_lru_maxpages = 50;  -- fail, requires reload
+RESET bgwriter_lru_maxpages;  -- fail, requires reload
+ALTER SYSTEM SET bgwriter_lru_maxpages = 50;  -- ok
+ALTER SYSTEM RESET bgwriter_lru_maxpages;  -- ok
+SET bgwriter_lru_multiplier = 5;  -- fail, requires reload
+RESET bgwriter_lru_multiplier;  -- fail, requires reload
+ALTER SYSTEM SET bgwriter_lru_multiplier = 5;  -- ok
+ALTER SYSTEM RESET bgwriter_lru_multiplier;  -- ok
+-- PGC_SIGHUP / GUC_RESOURCE_USAGE | GUC_WAL_SETTINGS / REPLICATION_SENDING
+SET max_slot_wal_keep_size = 50;  -- fail, requires reload
+RESET max_slot_wal_keep_size;  -- fail, requires reload
+ALTER SYSTEM SET max_slot_wal_keep_size = 50;  -- ok
+ALTER SYSTEM RESET max_slot_wal_keep_size;  -- ok
+-- PGC_SIGHUP / GUC_WAL_SETTINGS / ERROR_HANDLING_OPTIONS
+SET remove_temp_files_after_crash = ON;  -- fail, requires reload
+RESET remove_temp_files_after_crash;  -- fail, requires reload
+ALTER SYSTEM SET remove_temp_files_after_crash = ON;  -- ok
+ALTER SYSTEM RESET remove_temp_files_after_crash;  -- ok
+SET restart_after_crash = ON;  -- fail, requires reload
+RESET restart_after_crash;  -- fail, requires reload
+ALTER SYSTEM SET restart_after_crash = ON;  -- ok
+ALTER SYSTEM RESET restart_after_crash;  -- ok
+-- PGC_SIGHUP / GUC_WAL_SETTINGS / REPLICATION_PRIMARY
+SET synchronous_standby_names = 'fee, fi, fo, fum';  -- fail, requires reload
+RESET synchronous_standby_names;  -- fail, requires reload
+ALTER SYSTEM SET synchronous_standby_names = 'fee, fi, fo, fum';  -- ok
+ALTER SYSTEM RESET synchronous_standby_names;  -- ok
+-- PGC_SIGHUP / GUC_WAL_SETTINGS / REPLICATION_SENDING
+SET wal_keep_size = 50;  -- fail, requires reload
+RESET wal_keep_size;  -- fail, requires reload
+ALTER SYSTEM SET wal_keep_size = 50;  -- ok
+ALTER SYSTEM RESET wal_keep_size;  -- ok
+-- PGC_SIGHUP / GUC_WAL_SETTINGS / REPLICATION_STANDBY
+SET hot_standby_feedback = ON;  -- fail, requires reload
+RESET hot_standby_feedback;  -- fail, requires reload
+ALTER SYSTEM SET hot_standby_feedback = ON;  -- ok
+ALTER SYSTEM RESET hot_standby_feedback;  -- ok
+SET max_standby_archive_delay = 50;  -- fail, requires reload
+RESET max_standby_archive_delay;  -- fail, requires reload
+ALTER SYSTEM SET max_standby_archive_delay = 50;  -- ok
+ALTER SYSTEM RESET max_standby_archive_delay;  -- ok
+SET max_standby_streaming_delay = 50;  -- fail, requires reload
+RESET max_standby_streaming_delay;  -- fail, requires reload
+ALTER SYSTEM SET max_standby_streaming_delay = 50;  -- ok
+ALTER SYSTEM RESET max_standby_streaming_delay;  -- ok
+SET primary_conninfo = 'postgresql://other@localhost/otherdb?connect_timeout=10&application_name=myapp';  -- fail, requires reload
+RESET primary_conninfo;  -- fail, requires reload
+ALTER SYSTEM SET primary_conninfo = 'postgresql://other@localhost/otherdb?connect_timeout=10&application_name=myapp';  -- ok
+ALTER SYSTEM RESET primary_conninfo;  -- ok
+SET primary_slot_name = 'bonne_fente';  -- fail, requires reload
+RESET primary_slot_name;  -- fail, requires reload
+ALTER SYSTEM SET primary_slot_name = 'bonne_fente';  -- ok
+ALTER SYSTEM RESET primary_slot_name;  -- ok
+SET promote_trigger_file = 'promote.trigger';  -- fail, requires reload
+RESET promote_trigger_file;  -- fail, requires reload
+ALTER SYSTEM SET promote_trigger_file = 'promote.trigger';  -- ok
+ALTER SYSTEM RESET promote_trigger_file;  -- ok
+SET recovery_min_apply_delay = 50;  -- fail, requires reload
+RESET recovery_min_apply_delay;  -- fail, requires reload
+ALTER SYSTEM SET recovery_min_apply_delay = 50;  -- ok
+ALTER SYSTEM RESET recovery_min_apply_delay;  -- ok
+SET wal_receiver_create_temp_slot = ON;  -- fail, requires reload
+RESET wal_receiver_create_temp_slot;  -- fail, requires reload
+ALTER SYSTEM SET wal_receiver_create_temp_slot = ON;  -- ok
+ALTER SYSTEM RESET wal_receiver_create_temp_slot;  -- ok
+SET wal_receiver_status_interval = 50;  -- fail, requires reload
+RESET wal_receiver_status_interval;  -- fail, requires reload
+ALTER SYSTEM SET wal_receiver_status_interval = 50;  -- ok
+ALTER SYSTEM RESET wal_receiver_status_interval;  -- ok
+SET wal_receiver_timeout = 50;  -- fail, requires reload
+RESET wal_receiver_timeout;  -- fail, requires reload
+ALTER SYSTEM SET wal_receiver_timeout = 50;  -- ok
+ALTER SYSTEM RESET wal_receiver_timeout;  -- ok
+SET wal_retrieve_retry_interval = 50;  -- fail, requires reload
+RESET wal_retrieve_retry_interval;  -- fail, requires reload
+ALTER SYSTEM SET wal_retrieve_retry_interval = 50;  -- ok
+ALTER SYSTEM RESET wal_retrieve_retry_interval;  -- ok
+-- PGC_SIGHUP / GUC_WAL_SETTINGS / WAL_ARCHIVING
+SET archive_timeout = 50;  -- fail, requires reload
+RESET archive_timeout;  -- fail, requires reload
+ALTER SYSTEM SET archive_timeout = 50;  -- ok
+ALTER SYSTEM RESET archive_timeout;  -- ok
+-- PGC_SIGHUP / GUC_WAL_SETTINGS / WAL_CHECKPOINTS
+SET checkpoint_completion_target = 0;  -- fail, requires reload
+RESET checkpoint_completion_target;  -- fail, requires reload
+ALTER SYSTEM SET checkpoint_completion_target = 0;  -- ok
+ALTER SYSTEM RESET checkpoint_completion_target;  -- ok
+SET checkpoint_flush_after = 50;  -- fail, requires reload
+RESET checkpoint_flush_after;  -- fail, requires reload
+ALTER SYSTEM SET checkpoint_flush_after = 50;  -- ok
+ALTER SYSTEM RESET checkpoint_flush_after;  -- ok
+SET checkpoint_timeout = 50;  -- fail, requires reload
+RESET checkpoint_timeout;  -- fail, requires reload
+ALTER SYSTEM SET checkpoint_timeout = 50;  -- ok
+ALTER SYSTEM RESET checkpoint_timeout;  -- ok
+SET max_wal_size = 50;  -- fail, requires reload
+RESET max_wal_size;  -- fail, requires reload
+ALTER SYSTEM SET max_wal_size = 50;  -- ok
+ALTER SYSTEM RESET max_wal_size;  -- ok
+SET min_wal_size = 50;  -- fail, requires reload
+RESET min_wal_size;  -- fail, requires reload
+ALTER SYSTEM SET min_wal_size = 50;  -- ok
+ALTER SYSTEM RESET min_wal_size;  -- ok
+-- PGC_SIGHUP / GUC_WAL_SETTINGS / WAL_SETTINGS
+SET fsync = ON;  -- fail, requires reload
+RESET fsync;  -- fail, requires reload
+ALTER SYSTEM SET fsync = ON;  -- ok
+ALTER SYSTEM RESET fsync;  -- ok
+SET full_page_writes = ON;  -- fail, requires reload
+RESET full_page_writes;  -- fail, requires reload
+ALTER SYSTEM SET full_page_writes = ON;  -- ok
+ALTER SYSTEM RESET full_page_writes;  -- ok
+SET wal_sync_method = 'open_datasync';  -- fail, requires reload
+RESET wal_sync_method;  -- fail, requires reload
+ALTER SYSTEM SET wal_sync_method = 'open_datasync';  -- ok
+ALTER SYSTEM RESET wal_sync_method;  -- ok
+SET wal_writer_delay = 50;  -- fail, requires reload
+RESET wal_writer_delay;  -- fail, requires reload
+ALTER SYSTEM SET wal_writer_delay = 50;  -- ok
+ALTER SYSTEM RESET wal_writer_delay;  -- ok
+SET wal_writer_flush_after = 50;  -- fail, requires reload
+RESET wal_writer_flush_after;  -- fail, requires reload
+ALTER SYSTEM SET wal_writer_flush_after = 50;  -- ok
+ALTER SYSTEM RESET wal_writer_flush_after;  -- ok
+-- PGC_SUSET / GUC_ALL_PRIVILEGES / DEVELOPER_OPTIONS
+SET allow_system_table_mods = ON;  -- ok
+RESET allow_system_table_mods;  -- ok
+ALTER SYSTEM SET allow_system_table_mods = ON;  -- ok
+ALTER SYSTEM RESET allow_system_table_mods;  -- ok
+-- PGC_SUSET / GUC_FILESYSTEM_SECURITY / CLIENT_CONN_OTHER
+SET dynamic_library_path = '$libdir';  -- ok
+RESET dynamic_library_path;  -- ok
+ALTER SYSTEM SET dynamic_library_path = '$libdir';  -- ok
+ALTER SYSTEM RESET dynamic_library_path;  -- ok
+-- PGC_SUSET / GUC_FILESYSTEM_SECURITY / CLIENT_CONN_PRELOAD
+SET session_preload_libraries = 'gssapi_krb5';  -- ok
+RESET session_preload_libraries;  -- ok
+ALTER SYSTEM SET session_preload_libraries = 'gssapi_krb5';  -- ok
+ALTER SYSTEM RESET session_preload_libraries;  -- ok
+-- PGC_SUSET / GUC_FILESYSTEM_SECURITY | GUC_SECURITY_SETTINGS / DEVELOPER_OPTIONS
+SET jit_dump_bitcode = ON;  -- ok
+RESET jit_dump_bitcode;  -- ok
+ALTER SYSTEM SET jit_dump_bitcode = ON;  -- ok
+ALTER SYSTEM RESET jit_dump_bitcode;  -- ok
+-- PGC_SUSET / GUC_INTERNAL_SETTINGS / CLIENT_CONN_LOCALE
+SET lc_messages = 'en_US.UTF-8';  -- ok
+RESET lc_messages;  -- ok
+ALTER SYSTEM SET lc_messages = 'en_US.UTF-8';  -- ok
+ALTER SYSTEM RESET lc_messages;  -- ok
+-- PGC_SUSET / GUC_INTERNAL_SETTINGS | GUC_RESOURCE_USAGE | GUC_SECURITY_SETTINGS / DEVELOPER_OPTIONS
+SET debug_invalidate_system_caches_always = 2;  -- ok
+RESET debug_invalidate_system_caches_always;  -- ok
+ALTER SYSTEM SET debug_invalidate_system_caches_always = 2;  -- ok
+ALTER SYSTEM RESET debug_invalidate_system_caches_always;  -- ok
+-- PGC_SUSET / GUC_INTERNAL_SETTINGS | GUC_SECURITY_SETTINGS / LOCK_MANAGEMENT
+SET deadlock_timeout = 1073741824;  -- ok
+RESET deadlock_timeout;  -- ok
+ALTER SYSTEM SET deadlock_timeout = 1073741824;  -- ok
+ALTER SYSTEM RESET deadlock_timeout;  -- ok
+-- PGC_SUSET / GUC_LOGGING_SETTINGS / DEVELOPER_OPTIONS
+SET backtrace_functions = 'partition_list_bsearch,partition_range_datum_bsearch,partition_hash_bsearch';  -- ok
+RESET backtrace_functions;  -- ok
+ALTER SYSTEM SET backtrace_functions = 'partition_list_bsearch,partition_range_datum_bsearch,partition_hash_bsearch';  -- ok
+ALTER SYSTEM RESET backtrace_functions;  -- ok
+-- PGC_SUSET / GUC_LOGGING_SETTINGS / LOGGING_WHAT
+SET log_duration = ON;  -- ok
+RESET log_duration;  -- ok
+ALTER SYSTEM SET log_duration = ON;  -- ok
+ALTER SYSTEM RESET log_duration;  -- ok
+SET log_error_verbosity = 'default';  -- ok
+RESET log_error_verbosity;  -- ok
+ALTER SYSTEM SET log_error_verbosity = 'default';  -- ok
+ALTER SYSTEM RESET log_error_verbosity;  -- ok
+SET log_lock_waits = ON;  -- ok
+RESET log_lock_waits;  -- ok
+ALTER SYSTEM SET log_lock_waits = ON;  -- ok
+ALTER SYSTEM RESET log_lock_waits;  -- ok
+SET log_parameter_max_length = 50;  -- ok
+RESET log_parameter_max_length;  -- ok
+ALTER SYSTEM SET log_parameter_max_length = 50;  -- ok
+ALTER SYSTEM RESET log_parameter_max_length;  -- ok
+SET log_replication_commands = ON;  -- ok
+RESET log_replication_commands;  -- ok
+ALTER SYSTEM SET log_replication_commands = ON;  -- ok
+ALTER SYSTEM RESET log_replication_commands;  -- ok
+SET log_statement = 'none';  -- ok
+RESET log_statement;  -- ok
+ALTER SYSTEM SET log_statement = 'none';  -- ok
+ALTER SYSTEM RESET log_statement;  -- ok
+SET log_temp_files = 50;  -- ok
+RESET log_temp_files;  -- ok
+ALTER SYSTEM SET log_temp_files = 50;  -- ok
+ALTER SYSTEM RESET log_temp_files;  -- ok
+-- PGC_SUSET / GUC_LOGGING_SETTINGS / LOGGING_WHEN
+SET log_min_duration_sample = 50;  -- ok
+RESET log_min_duration_sample;  -- ok
+ALTER SYSTEM SET log_min_duration_sample = 50;  -- ok
+ALTER SYSTEM RESET log_min_duration_sample;  -- ok
+SET log_min_duration_statement = 50;  -- ok
+RESET log_min_duration_statement;  -- ok
+ALTER SYSTEM SET log_min_duration_statement = 50;  -- ok
+ALTER SYSTEM RESET log_min_duration_statement;  -- ok
+SET log_min_error_statement = 'error';  -- ok
+RESET log_min_error_statement;  -- ok
+ALTER SYSTEM SET log_min_error_statement = 'error';  -- ok
+ALTER SYSTEM RESET log_min_error_statement;  -- ok
+SET log_min_messages = 'warning';  -- ok
+RESET log_min_messages;  -- ok
+ALTER SYSTEM SET log_min_messages = 'warning';  -- ok
+ALTER SYSTEM RESET log_min_messages;  -- ok
+SET log_statement_sample_rate = 0;  -- ok
+RESET log_statement_sample_rate;  -- ok
+ALTER SYSTEM SET log_statement_sample_rate = 0;  -- ok
+ALTER SYSTEM RESET log_statement_sample_rate;  -- ok
+SET log_transaction_sample_rate = 0;  -- ok
+RESET log_transaction_sample_rate;  -- ok
+ALTER SYSTEM SET log_transaction_sample_rate = 0;  -- ok
+ALTER SYSTEM RESET log_transaction_sample_rate;  -- ok
+-- PGC_SUSET / GUC_LOGGING_SETTINGS / STATS_MONITORING
+SET log_executor_stats = ON;  -- ok
+RESET log_executor_stats;  -- ok
+ALTER SYSTEM SET log_executor_stats = ON;  -- ok
+ALTER SYSTEM RESET log_executor_stats;  -- ok
+SET log_parser_stats = ON;  -- ok
+RESET log_parser_stats;  -- ok
+ALTER SYSTEM SET log_parser_stats = ON;  -- ok
+ALTER SYSTEM RESET log_parser_stats;  -- ok
+SET log_planner_stats = ON;  -- ok
+RESET log_planner_stats;  -- ok
+ALTER SYSTEM SET log_planner_stats = ON;  -- ok
+ALTER SYSTEM RESET log_planner_stats;  -- ok
+SET log_statement_stats = ON;  -- ok
+RESET log_statement_stats;  -- ok
+ALTER SYSTEM SET log_statement_stats = ON;  -- ok
+ALTER SYSTEM RESET log_statement_stats;  -- ok
+-- PGC_SUSET / GUC_LOGGING_SETTINGS | GUC_SECURITY_SETTINGS / PROCESS_TITLE
+SET update_process_title = ON;  -- ok
+RESET update_process_title;  -- ok
+ALTER SYSTEM SET update_process_title = ON;  -- ok
+ALTER SYSTEM RESET update_process_title;  -- ok
+-- PGC_SUSET / GUC_RESOURCE_USAGE / RESOURCES_DISK
+SET temp_file_limit = 50;  -- ok
+RESET temp_file_limit;  -- ok
+ALTER SYSTEM SET temp_file_limit = 50;  -- ok
+ALTER SYSTEM RESET temp_file_limit;  -- ok
+-- PGC_SUSET / GUC_RESOURCE_USAGE / RESOURCES_MEM
+SET max_stack_depth = 3890;  -- ok
+RESET max_stack_depth;  -- ok
+ALTER SYSTEM SET max_stack_depth = 3890;  -- ok
+ALTER SYSTEM RESET max_stack_depth;  -- ok
+-- PGC_SUSET / GUC_SECURITY_SETTINGS / COMPAT_OPTIONS_PREVIOUS
+SET lo_compat_privileges = ON;  -- ok
+RESET lo_compat_privileges;  -- ok
+ALTER SYSTEM SET lo_compat_privileges = ON;  -- ok
+ALTER SYSTEM RESET lo_compat_privileges;  -- ok
+-- PGC_SUSET / GUC_STATS_SETTINGS / STATS_COLLECTOR
+SET track_activities = ON;  -- ok
+RESET track_activities;  -- ok
+ALTER SYSTEM SET track_activities = ON;  -- ok
+ALTER SYSTEM RESET track_activities;  -- ok
+SET track_counts = ON;  -- ok
+RESET track_counts;  -- ok
+ALTER SYSTEM SET track_counts = ON;  -- ok
+ALTER SYSTEM RESET track_counts;  -- ok
+SET track_functions = 'none';  -- ok
+RESET track_functions;  -- ok
+ALTER SYSTEM SET track_functions = 'none';  -- ok
+ALTER SYSTEM RESET track_functions;  -- ok
+SET track_io_timing = ON;  -- ok
+RESET track_io_timing;  -- ok
+ALTER SYSTEM SET track_io_timing = ON;  -- ok
+ALTER SYSTEM RESET track_io_timing;  -- ok
+SET track_wal_io_timing = ON;  -- ok
+RESET track_wal_io_timing;  -- ok
+ALTER SYSTEM SET track_wal_io_timing = ON;  -- ok
+ALTER SYSTEM RESET track_wal_io_timing;  -- ok
+-- PGC_SUSET / GUC_STATS_SETTINGS / STATS_MONITORING
+SET compute_query_id = ON;  -- ok
+RESET compute_query_id;  -- ok
+ALTER SYSTEM SET compute_query_id = ON;  -- ok
+ALTER SYSTEM RESET compute_query_id;  -- ok
+-- PGC_SUSET / GUC_STORAGE_SETTINGS / DEVELOPER_OPTIONS
+SET ignore_checksum_failure = ON;  -- ok
+RESET ignore_checksum_failure;  -- ok
+ALTER SYSTEM SET ignore_checksum_failure = ON;  -- ok
+ALTER SYSTEM RESET ignore_checksum_failure;  -- ok
+SET zero_damaged_pages = ON;  -- ok
+RESET zero_damaged_pages;  -- ok
+ALTER SYSTEM SET zero_damaged_pages = ON;  -- ok
+ALTER SYSTEM RESET zero_damaged_pages;  -- ok
+-- PGC_SUSET / GUC_WAL_SETTINGS / CLIENT_CONN_STATEMENT
+SET session_replication_role = 'origin';  -- ok
+RESET session_replication_role;  -- ok
+ALTER SYSTEM SET session_replication_role = 'origin';  -- ok
+ALTER SYSTEM RESET session_replication_role;  -- ok
+-- PGC_SUSET / GUC_WAL_SETTINGS / DEVELOPER_OPTIONS
+SET wal_consistency_checking = 'heap, heap2, btree, hash, gin, gist, sequence, spgist, brin, generic';  -- ok
+RESET wal_consistency_checking;  -- ok
+ALTER SYSTEM SET wal_consistency_checking = 'heap, heap2, btree, hash, gin, gist, sequence, spgist, brin, generic';  -- ok
+ALTER SYSTEM RESET wal_consistency_checking;  -- ok
+-- PGC_SUSET / GUC_WAL_SETTINGS / WAL_SETTINGS
+SET commit_delay = 50;  -- ok
+RESET commit_delay;  -- ok
+ALTER SYSTEM SET commit_delay = 50;  -- ok
+ALTER SYSTEM RESET commit_delay;  -- ok
+SET wal_compression = ON;  -- ok
+RESET wal_compression;  -- ok
+ALTER SYSTEM SET wal_compression = ON;  -- ok
+ALTER SYSTEM RESET wal_compression;  -- ok
+SET wal_init_zero = ON;  -- ok
+RESET wal_init_zero;  -- ok
+ALTER SYSTEM SET wal_init_zero = ON;  -- ok
+ALTER SYSTEM RESET wal_init_zero;  -- ok
+SET wal_recycle = ON;  -- ok
+RESET wal_recycle;  -- ok
+ALTER SYSTEM SET wal_recycle = ON;  -- ok
+ALTER SYSTEM RESET wal_recycle;  -- ok
+-- PGC_SU_BACKEND / GUC_FILESYSTEM_SECURITY | GUC_SECURITY_SETTINGS / DEVELOPER_OPTIONS
+SET jit_profiling_support = ON;  -- fail, cannot be set after connection start
+RESET jit_profiling_support;  -- fail, cannot be set after connection start
+ALTER SYSTEM SET jit_profiling_support = ON;  -- ok
+ALTER SYSTEM RESET jit_profiling_support;  -- ok
+-- PGC_SU_BACKEND / GUC_INTERNAL_SETTINGS | GUC_SECURITY_SETTINGS / DEVELOPER_OPTIONS
+SET jit_debugging_support = ON;  -- fail, cannot be set after connection start
+RESET jit_debugging_support;  -- fail, cannot be set after connection start
+ALTER SYSTEM SET jit_debugging_support = ON;  -- ok
+ALTER SYSTEM RESET jit_debugging_support;  -- ok
+-- PGC_SU_BACKEND / GUC_LOGGING_SETTINGS / LOGGING_WHAT
+SET log_connections = ON;  -- fail, cannot be set after connection start
+RESET log_connections;  -- fail, cannot be set after connection start
+ALTER SYSTEM SET log_connections = ON;  -- ok
+ALTER SYSTEM RESET log_connections;  -- ok
+SET log_disconnections = ON;  -- fail, cannot be set after connection start
+RESET log_disconnections;  -- fail, cannot be set after connection start
+ALTER SYSTEM SET log_disconnections = ON;  -- ok
+ALTER SYSTEM RESET log_disconnections;  -- ok
+-- PGC_USERSET / GUC_INTERNAL_SETTINGS / CLIENT_CONN_LOCALE
+SET DateStyle = 'ISO, MDY';  -- ok
+RESET DateStyle;  -- ok
+ALTER SYSTEM SET DateStyle = 'ISO, MDY';  -- ok
+ALTER SYSTEM RESET DateStyle;  -- ok
+SET IntervalStyle = 'postgres';  -- ok
+RESET IntervalStyle;  -- ok
+ALTER SYSTEM SET IntervalStyle = 'postgres';  -- ok
+ALTER SYSTEM RESET IntervalStyle;  -- ok
+SET TimeZone = 'Europe/Helsinki';  -- ok
+RESET TimeZone;  -- ok
+ALTER SYSTEM SET TimeZone = 'Europe/Helsinki';  -- ok
+ALTER SYSTEM RESET TimeZone;  -- ok
+SET client_encoding = 'UTF8';  -- ok
+RESET client_encoding;  -- ok
+ALTER SYSTEM SET client_encoding = 'UTF8';  -- ok
+ALTER SYSTEM RESET client_encoding;  -- ok
+SET default_text_search_config = 'pg_catalog.english';  -- ok
+RESET default_text_search_config;  -- ok
+ALTER SYSTEM SET default_text_search_config = 'pg_catalog.english';  -- ok
+ALTER SYSTEM RESET default_text_search_config;  -- ok
+SET extra_float_digits = -6;  -- ok
+RESET extra_float_digits;  -- ok
+ALTER SYSTEM SET extra_float_digits = -6;  -- ok
+ALTER SYSTEM RESET extra_float_digits;  -- ok
+SET lc_monetary = 'en_US.UTF-8';  -- ok
+RESET lc_monetary;  -- ok
+ALTER SYSTEM SET lc_monetary = 'en_US.UTF-8';  -- ok
+ALTER SYSTEM RESET lc_monetary;  -- ok
+SET lc_numeric = 'en_US.UTF-8';  -- ok
+RESET lc_numeric;  -- ok
+ALTER SYSTEM SET lc_numeric = 'en_US.UTF-8';  -- ok
+ALTER SYSTEM RESET lc_numeric;  -- ok
+SET lc_time = 'en_US.UTF-8';  -- ok
+RESET lc_time;  -- ok
+ALTER SYSTEM SET lc_time = 'en_US.UTF-8';  -- ok
+ALTER SYSTEM RESET lc_time;  -- ok
+SET timezone_abbreviations = 'Default';  -- ok
+RESET timezone_abbreviations;  -- ok
+ALTER SYSTEM SET timezone_abbreviations = 'Default';  -- ok
+ALTER SYSTEM RESET timezone_abbreviations;  -- ok
+-- PGC_USERSET / GUC_INTERNAL_SETTINGS / CLIENT_CONN_OTHER
+SET gin_fuzzy_search_limit = 50;  -- ok
+RESET gin_fuzzy_search_limit;  -- ok
+ALTER SYSTEM SET gin_fuzzy_search_limit = 50;  -- ok
+ALTER SYSTEM RESET gin_fuzzy_search_limit;  -- ok
+-- PGC_USERSET / GUC_INTERNAL_SETTINGS / CLIENT_CONN_PRELOAD
+SET local_preload_libraries = 'gssapi_krb5';  -- ok
+RESET local_preload_libraries;  -- ok
+ALTER SYSTEM SET local_preload_libraries = 'gssapi_krb5';  -- ok
+ALTER SYSTEM RESET local_preload_libraries;  -- ok
+-- PGC_USERSET / GUC_INTERNAL_SETTINGS / CLIENT_CONN_STATEMENT
+SET bytea_output = 'hex';  -- ok
+RESET bytea_output;  -- ok
+ALTER SYSTEM SET bytea_output = 'hex';  -- ok
+ALTER SYSTEM RESET bytea_output;  -- ok
+SET check_function_bodies = ON;  -- ok
+RESET check_function_bodies;  -- ok
+ALTER SYSTEM SET check_function_bodies = ON;  -- ok
+ALTER SYSTEM RESET check_function_bodies;  -- ok
+SET client_min_messages = 'notice';  -- ok
+RESET client_min_messages;  -- ok
+ALTER SYSTEM SET client_min_messages = 'notice';  -- ok
+ALTER SYSTEM RESET client_min_messages;  -- ok
+SET default_table_access_method = 'heap';  -- ok
+RESET default_table_access_method;  -- ok
+ALTER SYSTEM SET default_table_access_method = 'heap';  -- ok
+ALTER SYSTEM RESET default_table_access_method;  -- ok
+SET default_toast_compression = 'pglz';  -- ok
+RESET default_toast_compression;  -- ok
+ALTER SYSTEM SET default_toast_compression = 'pglz';  -- ok
+ALTER SYSTEM RESET default_toast_compression;  -- ok
+SET default_transaction_deferrable = ON;  -- ok
+RESET default_transaction_deferrable;  -- ok
+ALTER SYSTEM SET default_transaction_deferrable = ON;  -- ok
+ALTER SYSTEM RESET default_transaction_deferrable;  -- ok
+SET default_transaction_isolation = 'read committed';  -- ok
+RESET default_transaction_isolation;  -- ok
+ALTER SYSTEM SET default_transaction_isolation = 'read committed';  -- ok
+ALTER SYSTEM RESET default_transaction_isolation;  -- ok
+SET default_transaction_read_only = ON;  -- ok
+RESET default_transaction_read_only;  -- ok
+ALTER SYSTEM SET default_transaction_read_only = ON;  -- ok
+ALTER SYSTEM RESET default_transaction_read_only;  -- ok
+SET gin_pending_list_limit = 1073741855;  -- ok
+RESET gin_pending_list_limit;  -- ok
+ALTER SYSTEM SET gin_pending_list_limit = 1073741855;  -- ok
+ALTER SYSTEM RESET gin_pending_list_limit;  -- ok
+SET idle_in_transaction_session_timeout = 50;  -- ok
+RESET idle_in_transaction_session_timeout;  -- ok
+ALTER SYSTEM SET idle_in_transaction_session_timeout = 50;  -- ok
+ALTER SYSTEM RESET idle_in_transaction_session_timeout;  -- ok
+SET idle_session_timeout = 50;  -- ok
+RESET idle_session_timeout;  -- ok
+ALTER SYSTEM SET idle_session_timeout = 50;  -- ok
+ALTER SYSTEM RESET idle_session_timeout;  -- ok
+SET lock_timeout = 50;  -- ok
+RESET lock_timeout;  -- ok
+ALTER SYSTEM SET lock_timeout = 50;  -- ok
+ALTER SYSTEM RESET lock_timeout;  -- ok
+SET row_security = ON;  -- ok
+RESET row_security;  -- ok
+ALTER SYSTEM SET row_security = ON;  -- ok
+ALTER SYSTEM RESET row_security;  -- ok
+SET search_path = '"$user", public';  -- ok
+RESET search_path;  -- ok
+ALTER SYSTEM SET search_path = '"$user", public';  -- ok
+ALTER SYSTEM RESET search_path;  -- ok
+SET statement_timeout = 5250;  -- ok
+RESET statement_timeout;  -- ok
+ALTER SYSTEM SET statement_timeout = 5250;  -- ok
+ALTER SYSTEM RESET statement_timeout;  -- ok
+SET transaction_deferrable = ON;  -- ok
+RESET transaction_deferrable;  -- ok
+ALTER SYSTEM SET transaction_deferrable = ON;  -- fail, cannot be changed
+ALTER SYSTEM RESET transaction_deferrable;  -- fail, cannot be changed
+SET transaction_isolation = 'read committed';  -- ok
+RESET transaction_isolation;  -- ok
+ALTER SYSTEM SET transaction_isolation = 'read committed';  -- fail, cannot be changed
+ALTER SYSTEM RESET transaction_isolation;  -- fail, cannot be changed
+SET transaction_read_only = ON;  -- ok
+RESET transaction_read_only;  -- ok
+ALTER SYSTEM SET transaction_read_only = ON;  -- fail, cannot be changed
+ALTER SYSTEM RESET transaction_read_only;  -- fail, cannot be changed
+SET vacuum_failsafe_age = 50;  -- ok
+RESET vacuum_failsafe_age;  -- ok
+ALTER SYSTEM SET vacuum_failsafe_age = 50;  -- ok
+ALTER SYSTEM RESET vacuum_failsafe_age;  -- ok
+SET vacuum_freeze_min_age = 50;  -- ok
+RESET vacuum_freeze_min_age;  -- ok
+ALTER SYSTEM SET vacuum_freeze_min_age = 50;  -- ok
+ALTER SYSTEM RESET vacuum_freeze_min_age;  -- ok
+SET vacuum_freeze_table_age = 50;  -- ok
+RESET vacuum_freeze_table_age;  -- ok
+ALTER SYSTEM SET vacuum_freeze_table_age = 50;  -- ok
+ALTER SYSTEM RESET vacuum_freeze_table_age;  -- ok
+SET vacuum_multixact_failsafe_age = 50;  -- ok
+RESET vacuum_multixact_failsafe_age;  -- ok
+ALTER SYSTEM SET vacuum_multixact_failsafe_age = 50;  -- ok
+ALTER SYSTEM RESET vacuum_multixact_failsafe_age;  -- ok
+SET vacuum_multixact_freeze_min_age = 50;  -- ok
+RESET vacuum_multixact_freeze_min_age;  -- ok
+ALTER SYSTEM SET vacuum_multixact_freeze_min_age = 50;  -- ok
+ALTER SYSTEM RESET vacuum_multixact_freeze_min_age;  -- ok
+SET vacuum_multixact_freeze_table_age = 50;  -- ok
+RESET vacuum_multixact_freeze_table_age;  -- ok
+ALTER SYSTEM SET vacuum_multixact_freeze_table_age = 50;  -- ok
+ALTER SYSTEM RESET vacuum_multixact_freeze_table_age;  -- ok
+SET xmlbinary = 'base64';  -- ok
+RESET xmlbinary;  -- ok
+ALTER SYSTEM SET xmlbinary = 'base64';  -- ok
+ALTER SYSTEM RESET xmlbinary;  -- ok
+SET xmloption = 'content';  -- ok
+RESET xmloption;  -- ok
+ALTER SYSTEM SET xmloption = 'content';  -- ok
+ALTER SYSTEM RESET xmloption;  -- ok
+-- PGC_USERSET / GUC_INTERNAL_SETTINGS / COMPAT_OPTIONS_PREVIOUS
+SET array_nulls = ON;  -- ok
+RESET array_nulls;  -- ok
+ALTER SYSTEM SET array_nulls = ON;  -- ok
+ALTER SYSTEM RESET array_nulls;  -- ok
+SET escape_string_warning = ON;  -- ok
+RESET escape_string_warning;  -- ok
+ALTER SYSTEM SET escape_string_warning = ON;  -- ok
+ALTER SYSTEM RESET escape_string_warning;  -- ok
+SET quote_all_identifiers = ON;  -- ok
+RESET quote_all_identifiers;  -- ok
+ALTER SYSTEM SET quote_all_identifiers = ON;  -- ok
+ALTER SYSTEM RESET quote_all_identifiers;  -- ok
+SET standard_conforming_strings = ON;  -- ok
+RESET standard_conforming_strings;  -- ok
+ALTER SYSTEM SET standard_conforming_strings = ON;  -- ok
+ALTER SYSTEM RESET standard_conforming_strings;  -- ok
+SET synchronize_seqscans = ON;  -- ok
+RESET synchronize_seqscans;  -- ok
+ALTER SYSTEM SET synchronize_seqscans = ON;  -- ok
+ALTER SYSTEM RESET synchronize_seqscans;  -- ok
+-- PGC_USERSET / GUC_INTERNAL_SETTINGS / CONN_AUTH_AUTH
+SET password_encryption = 'scram-sha-256';  -- ok
+RESET password_encryption;  -- ok
+ALTER SYSTEM SET password_encryption = 'scram-sha-256';  -- ok
+ALTER SYSTEM RESET password_encryption;  -- ok
+-- PGC_USERSET / GUC_INTERNAL_SETTINGS / CONN_AUTH_SETTINGS
+SET client_connection_check_interval = 0;  -- ok
+RESET client_connection_check_interval;  -- ok
+ALTER SYSTEM SET client_connection_check_interval = 0;  -- ok
+ALTER SYSTEM RESET client_connection_check_interval;  -- ok
+SET tcp_keepalives_count = 50;  -- ok
+RESET tcp_keepalives_count;  -- ok
+ALTER SYSTEM SET tcp_keepalives_count = 50;  -- ok
+ALTER SYSTEM RESET tcp_keepalives_count;  -- ok
+SET tcp_keepalives_idle = 50;  -- ok
+RESET tcp_keepalives_idle;  -- ok
+ALTER SYSTEM SET tcp_keepalives_idle = 50;  -- ok
+ALTER SYSTEM RESET tcp_keepalives_idle;  -- ok
+SET tcp_keepalives_interval = 50;  -- ok
+RESET tcp_keepalives_interval;  -- ok
+ALTER SYSTEM SET tcp_keepalives_interval = 50;  -- ok
+ALTER SYSTEM RESET tcp_keepalives_interval;  -- ok
+SET tcp_user_timeout = 50;  -- ok
+RESET tcp_user_timeout;  -- ok
+ALTER SYSTEM SET tcp_user_timeout = 50;  -- ok
+ALTER SYSTEM RESET tcp_user_timeout;  -- ok
+-- PGC_USERSET / GUC_INTERNAL_SETTINGS / CONN_AUTH_SSL
+SET ssl_renegotiation_limit = 0;  -- ok
+RESET ssl_renegotiation_limit;  -- ok
+ALTER SYSTEM SET ssl_renegotiation_limit = 0;  -- fail, cannot be changed
+ALTER SYSTEM RESET ssl_renegotiation_limit;  -- fail, cannot be changed
+-- PGC_USERSET / GUC_INTERNAL_SETTINGS / DEVELOPER_OPTIONS
+SET force_parallel_mode = 'off';  -- ok
+RESET force_parallel_mode;  -- ok
+ALTER SYSTEM SET force_parallel_mode = 'off';  -- ok
+ALTER SYSTEM RESET force_parallel_mode;  -- ok
+SET jit_expressions = ON;  -- ok
+RESET jit_expressions;  -- ok
+ALTER SYSTEM SET jit_expressions = ON;  -- ok
+ALTER SYSTEM RESET jit_expressions;  -- ok
+SET jit_tuple_deforming = ON;  -- ok
+RESET jit_tuple_deforming;  -- ok
+ALTER SYSTEM SET jit_tuple_deforming = ON;  -- ok
+ALTER SYSTEM RESET jit_tuple_deforming;  -- ok
+SET trace_notify = ON;  -- ok
+RESET trace_notify;  -- ok
+ALTER SYSTEM SET trace_notify = ON;  -- ok
+ALTER SYSTEM RESET trace_notify;  -- ok
+SET trace_sort = ON;  -- ok
+RESET trace_sort;  -- ok
+ALTER SYSTEM SET trace_sort = ON;  -- ok
+ALTER SYSTEM RESET trace_sort;  -- ok
+-- PGC_USERSET / GUC_INTERNAL_SETTINGS / ERROR_HANDLING_OPTIONS
+SET exit_on_error = ON;  -- ok
+RESET exit_on_error;  -- ok
+ALTER SYSTEM SET exit_on_error = ON;  -- ok
+ALTER SYSTEM RESET exit_on_error;  -- ok
+-- PGC_USERSET / GUC_INTERNAL_SETTINGS / LOGGING_WHAT
+SET application_name = 'psql';  -- ok
+RESET application_name;  -- ok
+ALTER SYSTEM SET application_name = 'psql';  -- ok
+ALTER SYSTEM RESET application_name;  -- ok
+SET debug_pretty_print = ON;  -- ok
+RESET debug_pretty_print;  -- ok
+ALTER SYSTEM SET debug_pretty_print = ON;  -- ok
+ALTER SYSTEM RESET debug_pretty_print;  -- ok
+SET debug_print_parse = ON;  -- ok
+RESET debug_print_parse;  -- ok
+ALTER SYSTEM SET debug_print_parse = ON;  -- ok
+ALTER SYSTEM RESET debug_print_parse;  -- ok
+SET debug_print_plan = ON;  -- ok
+RESET debug_print_plan;  -- ok
+ALTER SYSTEM SET debug_print_plan = ON;  -- ok
+ALTER SYSTEM RESET debug_print_plan;  -- ok
+SET debug_print_rewritten = ON;  -- ok
+RESET debug_print_rewritten;  -- ok
+ALTER SYSTEM SET debug_print_rewritten = ON;  -- ok
+ALTER SYSTEM RESET debug_print_rewritten;  -- ok
+SET log_parameter_max_length_on_error = 50;  -- ok
+RESET log_parameter_max_length_on_error;  -- ok
+ALTER SYSTEM SET log_parameter_max_length_on_error = 50;  -- ok
+ALTER SYSTEM RESET log_parameter_max_length_on_error;  -- ok
+-- PGC_USERSET / GUC_INTERNAL_SETTINGS / QUERY_TUNING_COST
+SET cpu_index_tuple_cost = 50;  -- ok
+RESET cpu_index_tuple_cost;  -- ok
+ALTER SYSTEM SET cpu_index_tuple_cost = 50;  -- ok
+ALTER SYSTEM RESET cpu_index_tuple_cost;  -- ok
+SET cpu_operator_cost = 50;  -- ok
+RESET cpu_operator_cost;  -- ok
+ALTER SYSTEM SET cpu_operator_cost = 50;  -- ok
+ALTER SYSTEM RESET cpu_operator_cost;  -- ok
+SET cpu_tuple_cost = 50;  -- ok
+RESET cpu_tuple_cost;  -- ok
+ALTER SYSTEM SET cpu_tuple_cost = 50;  -- ok
+ALTER SYSTEM RESET cpu_tuple_cost;  -- ok
+SET effective_cache_size = 1073741824;  -- ok
+RESET effective_cache_size;  -- ok
+ALTER SYSTEM SET effective_cache_size = 1073741824;  -- ok
+ALTER SYSTEM RESET effective_cache_size;  -- ok
+SET jit_above_cost = 50;  -- ok
+RESET jit_above_cost;  -- ok
+ALTER SYSTEM SET jit_above_cost = 50;  -- ok
+ALTER SYSTEM RESET jit_above_cost;  -- ok
+SET jit_inline_above_cost = 50;  -- ok
+RESET jit_inline_above_cost;  -- ok
+ALTER SYSTEM SET jit_inline_above_cost = 50;  -- ok
+ALTER SYSTEM RESET jit_inline_above_cost;  -- ok
+SET jit_optimize_above_cost = 50;  -- ok
+RESET jit_optimize_above_cost;  -- ok
+ALTER SYSTEM SET jit_optimize_above_cost = 50;  -- ok
+ALTER SYSTEM RESET jit_optimize_above_cost;  -- ok
+SET min_parallel_index_scan_size = 50;  -- ok
+RESET min_parallel_index_scan_size;  -- ok
+ALTER SYSTEM SET min_parallel_index_scan_size = 50;  -- ok
+ALTER SYSTEM RESET min_parallel_index_scan_size;  -- ok
+SET min_parallel_table_scan_size = 50;  -- ok
+RESET min_parallel_table_scan_size;  -- ok
+ALTER SYSTEM SET min_parallel_table_scan_size = 50;  -- ok
+ALTER SYSTEM RESET min_parallel_table_scan_size;  -- ok
+SET parallel_setup_cost = 50;  -- ok
+RESET parallel_setup_cost;  -- ok
+ALTER SYSTEM SET parallel_setup_cost = 50;  -- ok
+ALTER SYSTEM RESET parallel_setup_cost;  -- ok
+SET parallel_tuple_cost = 50;  -- ok
+RESET parallel_tuple_cost;  -- ok
+ALTER SYSTEM SET parallel_tuple_cost = 50;  -- ok
+ALTER SYSTEM RESET parallel_tuple_cost;  -- ok
+SET random_page_cost = 50;  -- ok
+RESET random_page_cost;  -- ok
+ALTER SYSTEM SET random_page_cost = 50;  -- ok
+ALTER SYSTEM RESET random_page_cost;  -- ok
+SET seq_page_cost = 50;  -- ok
+RESET seq_page_cost;  -- ok
+ALTER SYSTEM SET seq_page_cost = 50;  -- ok
+ALTER SYSTEM RESET seq_page_cost;  -- ok
+-- PGC_USERSET / GUC_INTERNAL_SETTINGS / QUERY_TUNING_GEQO
+SET geqo = ON;  -- ok
+RESET geqo;  -- ok
+ALTER SYSTEM SET geqo = ON;  -- ok
+ALTER SYSTEM RESET geqo;  -- ok
+SET geqo_effort = 5;  -- ok
+RESET geqo_effort;  -- ok
+ALTER SYSTEM SET geqo_effort = 5;  -- ok
+ALTER SYSTEM RESET geqo_effort;  -- ok
+SET geqo_generations = 50;  -- ok
+RESET geqo_generations;  -- ok
+ALTER SYSTEM SET geqo_generations = 50;  -- ok
+ALTER SYSTEM RESET geqo_generations;  -- ok
+SET geqo_pool_size = 50;  -- ok
+RESET geqo_pool_size;  -- ok
+ALTER SYSTEM SET geqo_pool_size = 50;  -- ok
+ALTER SYSTEM RESET geqo_pool_size;  -- ok
+SET geqo_seed = 0;  -- ok
+RESET geqo_seed;  -- ok
+ALTER SYSTEM SET geqo_seed = 0;  -- ok
+ALTER SYSTEM RESET geqo_seed;  -- ok
+SET geqo_selection_bias = 2;  -- ok
+RESET geqo_selection_bias;  -- ok
+ALTER SYSTEM SET geqo_selection_bias = 2;  -- ok
+ALTER SYSTEM RESET geqo_selection_bias;  -- ok
+SET geqo_threshold = 1073741824;  -- ok
+RESET geqo_threshold;  -- ok
+ALTER SYSTEM SET geqo_threshold = 1073741824;  -- ok
+ALTER SYSTEM RESET geqo_threshold;  -- ok
+-- PGC_USERSET / GUC_INTERNAL_SETTINGS / QUERY_TUNING_METHOD
+SET enable_async_append = ON;  -- ok
+RESET enable_async_append;  -- ok
+ALTER SYSTEM SET enable_async_append = ON;  -- ok
+ALTER SYSTEM RESET enable_async_append;  -- ok
+SET enable_bitmapscan = ON;  -- ok
+RESET enable_bitmapscan;  -- ok
+ALTER SYSTEM SET enable_bitmapscan = ON;  -- ok
+ALTER SYSTEM RESET enable_bitmapscan;  -- ok
+SET enable_gathermerge = ON;  -- ok
+RESET enable_gathermerge;  -- ok
+ALTER SYSTEM SET enable_gathermerge = ON;  -- ok
+ALTER SYSTEM RESET enable_gathermerge;  -- ok
+SET enable_hashagg = ON;  -- ok
+RESET enable_hashagg;  -- ok
+ALTER SYSTEM SET enable_hashagg = ON;  -- ok
+ALTER SYSTEM RESET enable_hashagg;  -- ok
+SET enable_hashjoin = ON;  -- ok
+RESET enable_hashjoin;  -- ok
+ALTER SYSTEM SET enable_hashjoin = ON;  -- ok
+ALTER SYSTEM RESET enable_hashjoin;  -- ok
+SET enable_incremental_sort = ON;  -- ok
+RESET enable_incremental_sort;  -- ok
+ALTER SYSTEM SET enable_incremental_sort = ON;  -- ok
+ALTER SYSTEM RESET enable_incremental_sort;  -- ok
+SET enable_indexonlyscan = ON;  -- ok
+RESET enable_indexonlyscan;  -- ok
+ALTER SYSTEM SET enable_indexonlyscan = ON;  -- ok
+ALTER SYSTEM RESET enable_indexonlyscan;  -- ok
+SET enable_indexscan = ON;  -- ok
+RESET enable_indexscan;  -- ok
+ALTER SYSTEM SET enable_indexscan = ON;  -- ok
+ALTER SYSTEM RESET enable_indexscan;  -- ok
+SET enable_material = ON;  -- ok
+RESET enable_material;  -- ok
+ALTER SYSTEM SET enable_material = ON;  -- ok
+ALTER SYSTEM RESET enable_material;  -- ok
+SET enable_mergejoin = ON;  -- ok
+RESET enable_mergejoin;  -- ok
+ALTER SYSTEM SET enable_mergejoin = ON;  -- ok
+ALTER SYSTEM RESET enable_mergejoin;  -- ok
+SET enable_nestloop = ON;  -- ok
+RESET enable_nestloop;  -- ok
+ALTER SYSTEM SET enable_nestloop = ON;  -- ok
+ALTER SYSTEM RESET enable_nestloop;  -- ok
+SET enable_parallel_append = ON;  -- ok
+RESET enable_parallel_append;  -- ok
+ALTER SYSTEM SET enable_parallel_append = ON;  -- ok
+ALTER SYSTEM RESET enable_parallel_append;  -- ok
+SET enable_parallel_hash = ON;  -- ok
+RESET enable_parallel_hash;  -- ok
+ALTER SYSTEM SET enable_parallel_hash = ON;  -- ok
+ALTER SYSTEM RESET enable_parallel_hash;  -- ok
+SET enable_partition_pruning = ON;  -- ok
+RESET enable_partition_pruning;  -- ok
+ALTER SYSTEM SET enable_partition_pruning = ON;  -- ok
+ALTER SYSTEM RESET enable_partition_pruning;  -- ok
+SET enable_partitionwise_aggregate = ON;  -- ok
+RESET enable_partitionwise_aggregate;  -- ok
+ALTER SYSTEM SET enable_partitionwise_aggregate = ON;  -- ok
+ALTER SYSTEM RESET enable_partitionwise_aggregate;  -- ok
+SET enable_partitionwise_join = ON;  -- ok
+RESET enable_partitionwise_join;  -- ok
+ALTER SYSTEM SET enable_partitionwise_join = ON;  -- ok
+ALTER SYSTEM RESET enable_partitionwise_join;  -- ok
+SET enable_resultcache = ON;  -- ok
+RESET enable_resultcache;  -- ok
+ALTER SYSTEM SET enable_resultcache = ON;  -- ok
+ALTER SYSTEM RESET enable_resultcache;  -- ok
+SET enable_seqscan = ON;  -- ok
+RESET enable_seqscan;  -- ok
+ALTER SYSTEM SET enable_seqscan = ON;  -- ok
+ALTER SYSTEM RESET enable_seqscan;  -- ok
+SET enable_sort = ON;  -- ok
+RESET enable_sort;  -- ok
+ALTER SYSTEM SET enable_sort = ON;  -- ok
+ALTER SYSTEM RESET enable_sort;  -- ok
+SET enable_tidscan = ON;  -- ok
+RESET enable_tidscan;  -- ok
+ALTER SYSTEM SET enable_tidscan = ON;  -- ok
+ALTER SYSTEM RESET enable_tidscan;  -- ok
+-- PGC_USERSET / GUC_INTERNAL_SETTINGS / QUERY_TUNING_OTHER
+SET constraint_exclusion = 'partition';  -- ok
+RESET constraint_exclusion;  -- ok
+ALTER SYSTEM SET constraint_exclusion = 'partition';  -- ok
+ALTER SYSTEM RESET constraint_exclusion;  -- ok
+SET cursor_tuple_fraction = 0;  -- ok
+RESET cursor_tuple_fraction;  -- ok
+ALTER SYSTEM SET cursor_tuple_fraction = 0;  -- ok
+ALTER SYSTEM RESET cursor_tuple_fraction;  -- ok
+SET default_statistics_target = 5000;  -- ok
+RESET default_statistics_target;  -- ok
+ALTER SYSTEM SET default_statistics_target = 5000;  -- ok
+ALTER SYSTEM RESET default_statistics_target;  -- ok
+SET from_collapse_limit = 1073741824;  -- ok
+RESET from_collapse_limit;  -- ok
+ALTER SYSTEM SET from_collapse_limit = 1073741824;  -- ok
+ALTER SYSTEM RESET from_collapse_limit;  -- ok
+SET jit = ON;  -- ok
+RESET jit;  -- ok
+ALTER SYSTEM SET jit = ON;  -- ok
+ALTER SYSTEM RESET jit;  -- ok
+SET join_collapse_limit = 1073741824;  -- ok
+RESET join_collapse_limit;  -- ok
+ALTER SYSTEM SET join_collapse_limit = 1073741824;  -- ok
+ALTER SYSTEM RESET join_collapse_limit;  -- ok
+SET plan_cache_mode = 'force_generic_plan';  -- ok
+RESET plan_cache_mode;  -- ok
+ALTER SYSTEM SET plan_cache_mode = 'force_generic_plan';  -- ok
+ALTER SYSTEM RESET plan_cache_mode;  -- ok
+-- PGC_USERSET / GUC_INTERNAL_SETTINGS / REPLICATION_SENDING
+SET wal_sender_timeout = 50;  -- ok
+RESET wal_sender_timeout;  -- ok
+ALTER SYSTEM SET wal_sender_timeout = 50;  -- ok
+ALTER SYSTEM RESET wal_sender_timeout;  -- ok
+-- PGC_USERSET / GUC_INTERNAL_SETTINGS / RESOURCES_ASYNCHRONOUS
+SET backend_flush_after = 128;  -- ok
+RESET backend_flush_after;  -- ok
+ALTER SYSTEM SET backend_flush_after = 128;  -- ok
+ALTER SYSTEM RESET backend_flush_after;  -- ok
+SET max_parallel_maintenance_workers = 50;  -- ok
+RESET max_parallel_maintenance_workers;  -- ok
+ALTER SYSTEM SET max_parallel_maintenance_workers = 50;  -- ok
+ALTER SYSTEM RESET max_parallel_maintenance_workers;  -- ok
+SET max_parallel_workers = 50;  -- ok
+RESET max_parallel_workers;  -- ok
+ALTER SYSTEM SET max_parallel_workers = 50;  -- ok
+ALTER SYSTEM RESET max_parallel_workers;  -- ok
+SET max_parallel_workers_per_gather = 50;  -- ok
+RESET max_parallel_workers_per_gather;  -- ok
+ALTER SYSTEM SET max_parallel_workers_per_gather = 50;  -- ok
+ALTER SYSTEM RESET max_parallel_workers_per_gather;  -- ok
+SET parallel_leader_participation = ON;  -- ok
+RESET parallel_leader_participation;  -- ok
+ALTER SYSTEM SET parallel_leader_participation = ON;  -- ok
+ALTER SYSTEM RESET parallel_leader_participation;  -- ok
+-- PGC_USERSET / GUC_INTERNAL_SETTINGS / RESOURCES_MEM
+SET hash_mem_multiplier = 500;  -- ok
+RESET hash_mem_multiplier;  -- ok
+ALTER SYSTEM SET hash_mem_multiplier = 500;  -- ok
+ALTER SYSTEM RESET hash_mem_multiplier;  -- ok
+SET logical_decoding_work_mem = 1073741855;  -- ok
+RESET logical_decoding_work_mem;  -- ok
+ALTER SYSTEM SET logical_decoding_work_mem = 1073741855;  -- ok
+ALTER SYSTEM RESET logical_decoding_work_mem;  -- ok
+SET maintenance_work_mem = 1073742335;  -- ok
+RESET maintenance_work_mem;  -- ok
+ALTER SYSTEM SET maintenance_work_mem = 1073742335;  -- ok
+ALTER SYSTEM RESET maintenance_work_mem;  -- ok
+SET temp_buffers = 536870961;  -- ok
+RESET temp_buffers;  -- ok
+ALTER SYSTEM SET temp_buffers = 536870961;  -- ok
+ALTER SYSTEM RESET temp_buffers;  -- ok
+SET work_mem = 1073741855;  -- ok
+RESET work_mem;  -- ok
+ALTER SYSTEM SET work_mem = 1073741855;  -- ok
+ALTER SYSTEM RESET work_mem;  -- ok
+-- PGC_USERSET / GUC_INTERNAL_SETTINGS / RESOURCES_VACUUM_DELAY
+SET vacuum_cost_delay = 50;  -- ok
+RESET vacuum_cost_delay;  -- ok
+ALTER SYSTEM SET vacuum_cost_delay = 50;  -- ok
+ALTER SYSTEM RESET vacuum_cost_delay;  -- ok
+SET vacuum_cost_limit = 5000;  -- ok
+RESET vacuum_cost_limit;  -- ok
+ALTER SYSTEM SET vacuum_cost_limit = 5000;  -- ok
+ALTER SYSTEM RESET vacuum_cost_limit;  -- ok
+SET vacuum_cost_page_dirty = 50;  -- ok
+RESET vacuum_cost_page_dirty;  -- ok
+ALTER SYSTEM SET vacuum_cost_page_dirty = 50;  -- ok
+ALTER SYSTEM RESET vacuum_cost_page_dirty;  -- ok
+SET vacuum_cost_page_hit = 50;  -- ok
+RESET vacuum_cost_page_hit;  -- ok
+ALTER SYSTEM SET vacuum_cost_page_hit = 50;  -- ok
+ALTER SYSTEM RESET vacuum_cost_page_hit;  -- ok
+SET vacuum_cost_page_miss = 50;  -- ok
+RESET vacuum_cost_page_miss;  -- ok
+ALTER SYSTEM SET vacuum_cost_page_miss = 50;  -- ok
+ALTER SYSTEM RESET vacuum_cost_page_miss;  -- ok
+-- PGC_USERSET / GUC_INTERNAL_SETTINGS / UNGROUPED
+SET seed = 0;  -- ok
+RESET seed;  -- ok
+ALTER SYSTEM SET seed = 0;  -- fail, cannot be changed
+ALTER SYSTEM RESET seed;  -- fail, cannot be changed
+-- PGC_USERSET / GUC_INTERNAL_SETTINGS / WAL_SETTINGS
+SET commit_siblings = 50;  -- ok
+RESET commit_siblings;  -- ok
+ALTER SYSTEM SET commit_siblings = 50;  -- ok
+ALTER SYSTEM RESET commit_siblings;  -- ok
+SET synchronous_commit = 'remote_write';  -- ok
+RESET synchronous_commit;  -- ok
+ALTER SYSTEM SET synchronous_commit = 'remote_write';  -- ok
+ALTER SYSTEM RESET synchronous_commit;  -- ok
+SET wal_skip_threshold = 50;  -- ok
+RESET wal_skip_threshold;  -- ok
+ALTER SYSTEM SET wal_skip_threshold = 50;  -- ok
+ALTER SYSTEM RESET wal_skip_threshold;  -- ok
+-- PGC_USERSET / GUC_RESOURCE_USAGE / RESOURCES_ASYNCHRONOUS
+SET effective_io_concurrency = 0;  -- ok
+RESET effective_io_concurrency;  -- ok
+ALTER SYSTEM SET effective_io_concurrency = 0;  -- ok
+ALTER SYSTEM RESET effective_io_concurrency;  -- ok
+SET maintenance_io_concurrency = 0;  -- ok
+RESET maintenance_io_concurrency;  -- ok
+ALTER SYSTEM SET maintenance_io_concurrency = 0;  -- ok
+ALTER SYSTEM RESET maintenance_io_concurrency;  -- ok
+RESET statement_timeout;
+RESET SESSION AUTHORIZATION;
+DROP ROLE admin;
diff --git a/src/test/regress/sql/guc_priv_tenant.sql b/src/test/regress/sql/guc_priv_tenant.sql
new file mode 100644
index 0000000000..b4d2c23a2f
--- /dev/null
+++ b/src/test/regress/sql/guc_priv_tenant.sql
@@ -0,0 +1,1461 @@
+
+-- Role operating exclusively within the sandbox
+CREATE ROLE tenant;
+GRANT pg_internal_settings TO tenant;
+GRANT pg_stats_settings TO tenant;
+GRANT pg_maintenance_settings TO tenant;
+-- Perform all operations as user 'tenant' --
+SET SESSION AUTHORIZATION tenant;
+-- PGC_BACKEND / GUC_INTERFACE_SETTINGS / DEVELOPER_OPTIONS
+SET post_auth_delay = 50;  -- fail, cannot be set after connection start
+RESET post_auth_delay;  -- fail, cannot be set after connection start
+ALTER SYSTEM SET post_auth_delay = 50;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET post_auth_delay;  -- fail, tenant has insufficient privileges
+-- PGC_BACKEND / GUC_INTERNAL_SETTINGS / DEVELOPER_OPTIONS
+SET ignore_system_indexes = ON;  -- fail, cannot be set after connection start
+RESET ignore_system_indexes;  -- fail, cannot be set after connection start
+ALTER SYSTEM SET ignore_system_indexes = ON;  -- ok
+ALTER SYSTEM RESET ignore_system_indexes;  -- ok
+-- PGC_INTERNAL / GUC_INTERNAL_SETTINGS / PRESET_OPTIONS
+SET block_size = 50;  -- fail, cannot be changed
+RESET block_size;  -- fail, cannot be changed
+ALTER SYSTEM SET block_size = 50;  -- fail, cannot be changed
+ALTER SYSTEM RESET block_size;  -- fail, cannot be changed
+SET data_checksums = ON;  -- fail, cannot be changed
+RESET data_checksums;  -- fail, cannot be changed
+ALTER SYSTEM SET data_checksums = ON;  -- fail, cannot be changed
+ALTER SYSTEM RESET data_checksums;  -- fail, cannot be changed
+SET data_directory_mode = 50;  -- fail, cannot be changed
+RESET data_directory_mode;  -- fail, cannot be changed
+ALTER SYSTEM SET data_directory_mode = 50;  -- fail, cannot be changed
+ALTER SYSTEM RESET data_directory_mode;  -- fail, cannot be changed
+SET debug_assertions = ON;  -- fail, cannot be changed
+RESET debug_assertions;  -- fail, cannot be changed
+ALTER SYSTEM SET debug_assertions = ON;  -- fail, cannot be changed
+ALTER SYSTEM RESET debug_assertions;  -- fail, cannot be changed
+SET in_hot_standby = ON;  -- fail, cannot be changed
+RESET in_hot_standby;  -- fail, cannot be changed
+ALTER SYSTEM SET in_hot_standby = ON;  -- fail, cannot be changed
+ALTER SYSTEM RESET in_hot_standby;  -- fail, cannot be changed
+SET integer_datetimes = ON;  -- fail, cannot be changed
+RESET integer_datetimes;  -- fail, cannot be changed
+ALTER SYSTEM SET integer_datetimes = ON;  -- fail, cannot be changed
+ALTER SYSTEM RESET integer_datetimes;  -- fail, cannot be changed
+SET lc_collate = 'en_US.UTF-8';  -- fail, cannot be changed
+RESET lc_collate;  -- fail, cannot be changed
+ALTER SYSTEM SET lc_collate = 'en_US.UTF-8';  -- fail, cannot be changed
+ALTER SYSTEM RESET lc_collate;  -- fail, cannot be changed
+SET lc_ctype = 'en_US.UTF-8';  -- fail, cannot be changed
+RESET lc_ctype;  -- fail, cannot be changed
+ALTER SYSTEM SET lc_ctype = 'en_US.UTF-8';  -- fail, cannot be changed
+ALTER SYSTEM RESET lc_ctype;  -- fail, cannot be changed
+SET max_function_args = 50;  -- fail, cannot be changed
+RESET max_function_args;  -- fail, cannot be changed
+ALTER SYSTEM SET max_function_args = 50;  -- fail, cannot be changed
+ALTER SYSTEM RESET max_function_args;  -- fail, cannot be changed
+SET max_identifier_length = 50;  -- fail, cannot be changed
+RESET max_identifier_length;  -- fail, cannot be changed
+ALTER SYSTEM SET max_identifier_length = 50;  -- fail, cannot be changed
+ALTER SYSTEM RESET max_identifier_length;  -- fail, cannot be changed
+SET max_index_keys = 50;  -- fail, cannot be changed
+RESET max_index_keys;  -- fail, cannot be changed
+ALTER SYSTEM SET max_index_keys = 50;  -- fail, cannot be changed
+ALTER SYSTEM RESET max_index_keys;  -- fail, cannot be changed
+SET segment_size = 50;  -- fail, cannot be changed
+RESET segment_size;  -- fail, cannot be changed
+ALTER SYSTEM SET segment_size = 50;  -- fail, cannot be changed
+ALTER SYSTEM RESET segment_size;  -- fail, cannot be changed
+SET server_encoding = 'UTF8';  -- fail, cannot be changed
+RESET server_encoding;  -- fail, cannot be changed
+ALTER SYSTEM SET server_encoding = 'UTF8';  -- fail, cannot be changed
+ALTER SYSTEM RESET server_encoding;  -- fail, cannot be changed
+SET server_version = '9.1';  -- fail, cannot be changed
+RESET server_version;  -- fail, cannot be changed
+ALTER SYSTEM SET server_version = '9.1';  -- fail, cannot be changed
+ALTER SYSTEM RESET server_version;  -- fail, cannot be changed
+SET server_version_num = 50;  -- fail, cannot be changed
+RESET server_version_num;  -- fail, cannot be changed
+ALTER SYSTEM SET server_version_num = 50;  -- fail, cannot be changed
+ALTER SYSTEM RESET server_version_num;  -- fail, cannot be changed
+SET ssl_library = 'OpenSSL';  -- fail, cannot be changed
+RESET ssl_library;  -- fail, cannot be changed
+ALTER SYSTEM SET ssl_library = 'OpenSSL';  -- fail, cannot be changed
+ALTER SYSTEM RESET ssl_library;  -- fail, cannot be changed
+SET wal_block_size = 50;  -- fail, cannot be changed
+RESET wal_block_size;  -- fail, cannot be changed
+ALTER SYSTEM SET wal_block_size = 50;  -- fail, cannot be changed
+ALTER SYSTEM RESET wal_block_size;  -- fail, cannot be changed
+SET wal_segment_size = 50;  -- fail, cannot be changed
+RESET wal_segment_size;  -- fail, cannot be changed
+ALTER SYSTEM SET wal_segment_size = 50;  -- fail, cannot be changed
+ALTER SYSTEM RESET wal_segment_size;  -- fail, cannot be changed
+-- PGC_INTERNAL / GUC_INTERNAL_SETTINGS / UNGROUPED
+SET is_superuser = ON;  -- fail, cannot be changed
+RESET is_superuser;  -- fail, cannot be changed
+ALTER SYSTEM SET is_superuser = ON;  -- fail, cannot be changed
+ALTER SYSTEM RESET is_superuser;  -- fail, cannot be changed
+-- PGC_POSTMASTER / GUC_FILESYSTEM_SECURITY / CLIENT_CONN_PRELOAD
+SET shared_preload_libraries = 'iconv, pcre';  -- fail, requires restart
+RESET shared_preload_libraries;  -- fail, requires restart
+ALTER SYSTEM SET shared_preload_libraries = 'iconv, pcre';  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET shared_preload_libraries;  -- fail, tenant has insufficient privileges
+-- PGC_POSTMASTER / GUC_FILESYSTEM_SECURITY / FILE_LOCATIONS
+SET config_file = '/usr/local/data/postgresql.conf';  -- fail, requires restart
+RESET config_file;  -- fail, requires restart
+ALTER SYSTEM SET config_file = '/usr/local/data/postgresql.conf';  -- fail, cannot be changed
+ALTER SYSTEM RESET config_file;  -- fail, cannot be changed
+SET data_directory = '/usr/local/data';  -- fail, requires restart
+RESET data_directory;  -- fail, requires restart
+ALTER SYSTEM SET data_directory = '/usr/local/data';  -- fail, cannot be changed
+ALTER SYSTEM RESET data_directory;  -- fail, cannot be changed
+SET external_pid_file = '/var/postgres/master.pid';  -- fail, requires restart
+RESET external_pid_file;  -- fail, requires restart
+ALTER SYSTEM SET external_pid_file = '/var/postgres/master.pid';  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET external_pid_file;  -- fail, tenant has insufficient privileges
+-- PGC_POSTMASTER / GUC_FILESYSTEM_SECURITY | GUC_INTERFACE_SETTINGS / CONN_AUTH_SETTINGS
+SET unix_socket_directories = '/tmp';  -- fail, requires restart
+RESET unix_socket_directories;  -- fail, requires restart
+ALTER SYSTEM SET unix_socket_directories = '/tmp';  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET unix_socket_directories;  -- fail, tenant has insufficient privileges
+SET unix_socket_group = 'tenant';  -- fail, requires restart
+RESET unix_socket_group;  -- fail, requires restart
+ALTER SYSTEM SET unix_socket_group = 'tenant';  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET unix_socket_group;  -- fail, tenant has insufficient privileges
+-- PGC_POSTMASTER / GUC_FILESYSTEM_SECURITY | GUC_LOGGING_SETTINGS | GUC_RESOURCE_USAGE | GUC_SECURITY_SETTINGS / LOGGING_WHERE
+SET logging_collector = ON;  -- fail, requires restart
+RESET logging_collector;  -- fail, requires restart
+ALTER SYSTEM SET logging_collector = ON;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET logging_collector;  -- fail, tenant has insufficient privileges
+-- PGC_POSTMASTER / GUC_INTERFACE_SETTINGS / CONN_AUTH_SETTINGS
+SET bonjour = ON;  -- fail, requires restart
+RESET bonjour;  -- fail, requires restart
+ALTER SYSTEM SET bonjour = ON;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET bonjour;  -- fail, tenant has insufficient privileges
+SET bonjour_name = 'BonneNuit';  -- fail, requires restart
+RESET bonjour_name;  -- fail, requires restart
+ALTER SYSTEM SET bonjour_name = 'BonneNuit';  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET bonjour_name;  -- fail, tenant has insufficient privileges
+SET listen_addresses = 'localhost';  -- fail, requires restart
+RESET listen_addresses;  -- fail, requires restart
+ALTER SYSTEM SET listen_addresses = 'localhost';  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET listen_addresses;  -- fail, tenant has insufficient privileges
+SET max_connections = 50;  -- fail, requires restart
+RESET max_connections;  -- fail, requires restart
+ALTER SYSTEM SET max_connections = 50;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET max_connections;  -- fail, tenant has insufficient privileges
+SET port = 50;  -- fail, requires restart
+RESET port;  -- fail, requires restart
+ALTER SYSTEM SET port = 50;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET port;  -- fail, tenant has insufficient privileges
+SET superuser_reserved_connections = 50;  -- fail, requires restart
+RESET superuser_reserved_connections;  -- fail, requires restart
+ALTER SYSTEM SET superuser_reserved_connections = 50;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET superuser_reserved_connections;  -- fail, tenant has insufficient privileges
+SET unix_socket_permissions = 50;  -- fail, requires restart
+RESET unix_socket_permissions;  -- fail, requires restart
+ALTER SYSTEM SET unix_socket_permissions = 50;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET unix_socket_permissions;  -- fail, tenant has insufficient privileges
+-- PGC_POSTMASTER / GUC_INTERNAL_SETTINGS | GUC_RESOURCE_USAGE / RESOURCES_MEM
+SET huge_pages = 'try';  -- fail, requires restart
+RESET huge_pages;  -- fail, requires restart
+ALTER SYSTEM SET huge_pages = 'try';  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET huge_pages;  -- fail, tenant has insufficient privileges
+-- PGC_POSTMASTER / GUC_INTERNAL_SETTINGS | GUC_SECURITY_SETTINGS / CLIENT_CONN_PRELOAD
+SET jit_provider = 'llvmjit';  -- fail, requires restart
+RESET jit_provider;  -- fail, requires restart
+ALTER SYSTEM SET jit_provider = 'llvmjit';  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET jit_provider;  -- fail, tenant has insufficient privileges
+-- PGC_POSTMASTER / GUC_LOGGING_SETTINGS / PROCESS_TITLE
+SET cluster_name = 'BonCluster';  -- fail, requires restart
+RESET cluster_name;  -- fail, requires restart
+ALTER SYSTEM SET cluster_name = 'BonCluster';  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET cluster_name;  -- fail, tenant has insufficient privileges
+-- PGC_POSTMASTER / GUC_LOGGING_SETTINGS | GUC_SECURITY_SETTINGS / LOGGING_WHERE
+SET event_source = 'PostgreSQL';  -- fail, requires restart
+RESET event_source;  -- fail, requires restart
+ALTER SYSTEM SET event_source = 'PostgreSQL';  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET event_source;  -- fail, tenant has insufficient privileges
+-- PGC_POSTMASTER / GUC_MAINTENANCE_SETTINGS / AUTOVACUUM
+SET autovacuum_freeze_max_age = 1000050000;  -- fail, requires restart
+RESET autovacuum_freeze_max_age;  -- fail, requires restart
+ALTER SYSTEM SET autovacuum_freeze_max_age = 1000050000;  -- ok
+ALTER SYSTEM RESET autovacuum_freeze_max_age;  -- ok
+SET autovacuum_multixact_freeze_max_age = 1000005000;  -- fail, requires restart
+RESET autovacuum_multixact_freeze_max_age;  -- fail, requires restart
+ALTER SYSTEM SET autovacuum_multixact_freeze_max_age = 1000005000;  -- ok
+ALTER SYSTEM RESET autovacuum_multixact_freeze_max_age;  -- ok
+-- PGC_POSTMASTER / GUC_MAINTENANCE_SETTINGS | GUC_RESOURCE_USAGE / AUTOVACUUM
+SET autovacuum_max_workers = 50;  -- fail, requires restart
+RESET autovacuum_max_workers;  -- fail, requires restart
+ALTER SYSTEM SET autovacuum_max_workers = 50;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET autovacuum_max_workers;  -- fail, tenant has insufficient privileges
+-- PGC_POSTMASTER / GUC_RESOURCE_USAGE / LOCK_MANAGEMENT
+SET max_locks_per_transaction = 50;  -- fail, requires restart
+RESET max_locks_per_transaction;  -- fail, requires restart
+ALTER SYSTEM SET max_locks_per_transaction = 50;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET max_locks_per_transaction;  -- fail, tenant has insufficient privileges
+SET max_pred_locks_per_transaction = 50;  -- fail, requires restart
+RESET max_pred_locks_per_transaction;  -- fail, requires restart
+ALTER SYSTEM SET max_pred_locks_per_transaction = 50;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET max_pred_locks_per_transaction;  -- fail, tenant has insufficient privileges
+-- PGC_POSTMASTER / GUC_RESOURCE_USAGE / REPLICATION_SUBSCRIBERS
+SET max_logical_replication_workers = 50;  -- fail, requires restart
+RESET max_logical_replication_workers;  -- fail, requires restart
+ALTER SYSTEM SET max_logical_replication_workers = 50;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET max_logical_replication_workers;  -- fail, tenant has insufficient privileges
+-- PGC_POSTMASTER / GUC_RESOURCE_USAGE / RESOURCES_ASYNCHRONOUS
+SET max_worker_processes = 50;  -- fail, requires restart
+RESET max_worker_processes;  -- fail, requires restart
+ALTER SYSTEM SET max_worker_processes = 50;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET max_worker_processes;  -- fail, tenant has insufficient privileges
+SET old_snapshot_threshold = 50;  -- fail, requires restart
+RESET old_snapshot_threshold;  -- fail, requires restart
+ALTER SYSTEM SET old_snapshot_threshold = 50;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET old_snapshot_threshold;  -- fail, tenant has insufficient privileges
+-- PGC_POSTMASTER / GUC_RESOURCE_USAGE / RESOURCES_KERNEL
+SET max_files_per_process = 1073741855;  -- fail, requires restart
+RESET max_files_per_process;  -- fail, requires restart
+ALTER SYSTEM SET max_files_per_process = 1073741855;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET max_files_per_process;  -- fail, tenant has insufficient privileges
+-- PGC_POSTMASTER / GUC_RESOURCE_USAGE / RESOURCES_MEM
+SET max_prepared_transactions = 50;  -- fail, requires restart
+RESET max_prepared_transactions;  -- fail, requires restart
+ALTER SYSTEM SET max_prepared_transactions = 50;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET max_prepared_transactions;  -- fail, tenant has insufficient privileges
+SET min_dynamic_shared_memory = 50;  -- fail, requires restart
+RESET min_dynamic_shared_memory;  -- fail, requires restart
+ALTER SYSTEM SET min_dynamic_shared_memory = 50;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET min_dynamic_shared_memory;  -- fail, tenant has insufficient privileges
+SET shared_buffers = 50;  -- fail, requires restart
+RESET shared_buffers;  -- fail, requires restart
+ALTER SYSTEM SET shared_buffers = 50;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET shared_buffers;  -- fail, tenant has insufficient privileges
+-- PGC_POSTMASTER / GUC_RESOURCE_USAGE / STATS_COLLECTOR
+SET track_activity_query_size = 524338;  -- fail, requires restart
+RESET track_activity_query_size;  -- fail, requires restart
+ALTER SYSTEM SET track_activity_query_size = 524338;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET track_activity_query_size;  -- fail, tenant has insufficient privileges
+-- PGC_POSTMASTER / GUC_RESOURCE_USAGE | GUC_WAL_SETTINGS / REPLICATION_SENDING
+SET max_replication_slots = 50;  -- fail, requires restart
+RESET max_replication_slots;  -- fail, requires restart
+ALTER SYSTEM SET max_replication_slots = 50;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET max_replication_slots;  -- fail, tenant has insufficient privileges
+SET max_wal_senders = 50;  -- fail, requires restart
+RESET max_wal_senders;  -- fail, requires restart
+ALTER SYSTEM SET max_wal_senders = 50;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET max_wal_senders;  -- fail, tenant has insufficient privileges
+-- PGC_POSTMASTER / GUC_RESOURCE_USAGE | GUC_WAL_SETTINGS / WAL_SETTINGS
+SET wal_buffers = 50;  -- fail, requires restart
+RESET wal_buffers;  -- fail, requires restart
+ALTER SYSTEM SET wal_buffers = 50;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET wal_buffers;  -- fail, tenant has insufficient privileges
+-- PGC_POSTMASTER / GUC_SERVER_CONFIGURATION / RESOURCES_MEM
+SET dynamic_shared_memory_type = 'posix';  -- fail, requires restart
+RESET dynamic_shared_memory_type;  -- fail, requires restart
+ALTER SYSTEM SET dynamic_shared_memory_type = 'posix';  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET dynamic_shared_memory_type;  -- fail, tenant has insufficient privileges
+SET shared_memory_type = 'mmap';  -- fail, requires restart
+RESET shared_memory_type;  -- fail, requires restart
+ALTER SYSTEM SET shared_memory_type = 'mmap';  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET shared_memory_type;  -- fail, tenant has insufficient privileges
+-- PGC_POSTMASTER / GUC_STORAGE_SETTINGS / DEVELOPER_OPTIONS
+SET ignore_invalid_pages = ON;  -- fail, requires restart
+RESET ignore_invalid_pages;  -- fail, requires restart
+ALTER SYSTEM SET ignore_invalid_pages = ON;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET ignore_invalid_pages;  -- fail, tenant has insufficient privileges
+-- PGC_POSTMASTER / GUC_STORAGE_SETTINGS / ERROR_HANDLING_OPTIONS
+SET data_sync_retry = ON;  -- fail, requires restart
+RESET data_sync_retry;  -- fail, requires restart
+ALTER SYSTEM SET data_sync_retry = ON;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET data_sync_retry;  -- fail, tenant has insufficient privileges
+-- PGC_POSTMASTER / GUC_WAL_SETTINGS / ERROR_HANDLING_OPTIONS
+SET recovery_init_sync_method = 'fsync';  -- fail, requires restart
+RESET recovery_init_sync_method;  -- fail, requires restart
+ALTER SYSTEM SET recovery_init_sync_method = 'fsync';  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET recovery_init_sync_method;  -- fail, tenant has insufficient privileges
+-- PGC_POSTMASTER / GUC_WAL_SETTINGS / REPLICATION_SENDING
+SET track_commit_timestamp = ON;  -- fail, requires restart
+RESET track_commit_timestamp;  -- fail, requires restart
+ALTER SYSTEM SET track_commit_timestamp = ON;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET track_commit_timestamp;  -- fail, tenant has insufficient privileges
+-- PGC_POSTMASTER / GUC_WAL_SETTINGS / REPLICATION_STANDBY
+SET hot_standby = ON;  -- fail, requires restart
+RESET hot_standby;  -- fail, requires restart
+ALTER SYSTEM SET hot_standby = ON;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET hot_standby;  -- fail, tenant has insufficient privileges
+-- PGC_POSTMASTER / GUC_WAL_SETTINGS / WAL_ARCHIVING
+SET archive_mode = 'off';  -- fail, requires restart
+RESET archive_mode;  -- fail, requires restart
+ALTER SYSTEM SET archive_mode = 'off';  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET archive_mode;  -- fail, tenant has insufficient privileges
+-- PGC_POSTMASTER / GUC_WAL_SETTINGS / WAL_RECOVERY_TARGET
+SET recovery_target_action = 'pause';  -- fail, requires restart
+RESET recovery_target_action;  -- fail, requires restart
+ALTER SYSTEM SET recovery_target_action = 'pause';  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET recovery_target_action;  -- fail, tenant has insufficient privileges
+SET recovery_target_inclusive = ON;  -- fail, requires restart
+RESET recovery_target_inclusive;  -- fail, requires restart
+ALTER SYSTEM SET recovery_target_inclusive = ON;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET recovery_target_inclusive;  -- fail, tenant has insufficient privileges
+SET recovery_target_lsn = '16/B374D848';  -- fail, requires restart
+RESET recovery_target_lsn;  -- fail, requires restart
+ALTER SYSTEM SET recovery_target_lsn = '16/B374D848';  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET recovery_target_lsn;  -- fail, tenant has insufficient privileges
+SET recovery_target_name = 'BonPoint';  -- fail, requires restart
+RESET recovery_target_name;  -- fail, requires restart
+ALTER SYSTEM SET recovery_target_name = 'BonPoint';  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET recovery_target_name;  -- fail, tenant has insufficient privileges
+SET recovery_target_time = '2001-02-03 04:05:06.789 Europe/Helsinki';  -- fail, requires restart
+RESET recovery_target_time;  -- fail, requires restart
+ALTER SYSTEM SET recovery_target_time = '2001-02-03 04:05:06.789 Europe/Helsinki';  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET recovery_target_time;  -- fail, tenant has insufficient privileges
+SET recovery_target_timeline = 'latest';  -- fail, requires restart
+RESET recovery_target_timeline;  -- fail, requires restart
+ALTER SYSTEM SET recovery_target_timeline = 'latest';  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET recovery_target_timeline;  -- fail, tenant has insufficient privileges
+SET recovery_target_xid = '12345678';  -- fail, requires restart
+RESET recovery_target_xid;  -- fail, requires restart
+ALTER SYSTEM SET recovery_target_xid = '12345678';  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET recovery_target_xid;  -- fail, tenant has insufficient privileges
+-- PGC_POSTMASTER / GUC_WAL_SETTINGS / WAL_SETTINGS
+SET wal_level = 'replica';  -- fail, requires restart
+RESET wal_level;  -- fail, requires restart
+ALTER SYSTEM SET wal_level = 'replica';  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET wal_level;  -- fail, tenant has insufficient privileges
+SET wal_log_hints = ON;  -- fail, requires restart
+RESET wal_log_hints;  -- fail, requires restart
+ALTER SYSTEM SET wal_log_hints = ON;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET wal_log_hints;  -- fail, tenant has insufficient privileges
+-- PGC_SIGHUP / GUC_EXEC_COMMAND / WAL_ARCHIVE_RECOVERY
+SET archive_cleanup_command = '/bin/cleanup my stuff';  -- fail, requires reload
+RESET archive_cleanup_command;  -- fail, requires reload
+ALTER SYSTEM SET archive_cleanup_command = '/bin/cleanup my stuff';  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET archive_cleanup_command;  -- fail, tenant has insufficient privileges
+SET recovery_end_command = '/bin/recover my stuff';  -- fail, requires reload
+RESET recovery_end_command;  -- fail, requires reload
+ALTER SYSTEM SET recovery_end_command = '/bin/recover my stuff';  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET recovery_end_command;  -- fail, tenant has insufficient privileges
+SET restore_command = '/bin/restore my stuff';  -- fail, requires reload
+RESET restore_command;  -- fail, requires reload
+ALTER SYSTEM SET restore_command = '/bin/restore my stuff';  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET restore_command;  -- fail, tenant has insufficient privileges
+-- PGC_SIGHUP / GUC_EXEC_COMMAND / WAL_ARCHIVING
+SET archive_command = '/bin/archive my stuff';  -- fail, requires reload
+RESET archive_command;  -- fail, requires reload
+ALTER SYSTEM SET archive_command = '/bin/archive my stuff';  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET archive_command;  -- fail, tenant has insufficient privileges
+-- PGC_SIGHUP / GUC_FILESYSTEM_SECURITY / CONN_AUTH_SSL
+SET ssl_ca_file = 'ca/server.ca';  -- fail, requires reload
+RESET ssl_ca_file;  -- fail, requires reload
+ALTER SYSTEM SET ssl_ca_file = 'ca/server.ca';  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET ssl_ca_file;  -- fail, tenant has insufficient privileges
+SET ssl_cert_file = 'crt/server.crt';  -- fail, requires reload
+RESET ssl_cert_file;  -- fail, requires reload
+ALTER SYSTEM SET ssl_cert_file = 'crt/server.crt';  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET ssl_cert_file;  -- fail, tenant has insufficient privileges
+SET ssl_crl_file = 'crl/server.crl';  -- fail, requires reload
+RESET ssl_crl_file;  -- fail, requires reload
+ALTER SYSTEM SET ssl_crl_file = 'crl/server.crl';  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET ssl_crl_file;  -- fail, tenant has insufficient privileges
+SET ssl_key_file = 'crl/server.key';  -- fail, requires reload
+RESET ssl_key_file;  -- fail, requires reload
+ALTER SYSTEM SET ssl_key_file = 'crl/server.key';  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET ssl_key_file;  -- fail, tenant has insufficient privileges
+-- PGC_SIGHUP / GUC_FILESYSTEM_SECURITY / STATS_COLLECTOR
+SET stats_temp_directory = 'pg_stat_tmp';  -- fail, requires reload
+RESET stats_temp_directory;  -- fail, requires reload
+ALTER SYSTEM SET stats_temp_directory = 'pg_stat_tmp';  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET stats_temp_directory;  -- fail, tenant has insufficient privileges
+-- PGC_SIGHUP / GUC_FILESYSTEM_SECURITY | GUC_INTERFACE_SETTINGS / CONN_AUTH_AUTH
+SET krb_server_keyfile = 'krb/server.key';  -- fail, requires reload
+RESET krb_server_keyfile;  -- fail, requires reload
+ALTER SYSTEM SET krb_server_keyfile = 'krb/server.key';  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET krb_server_keyfile;  -- fail, tenant has insufficient privileges
+-- PGC_SIGHUP / GUC_FILESYSTEM_SECURITY | GUC_LOGGING_SETTINGS / LOGGING_WHERE
+SET log_file_mode = 50;  -- fail, requires reload
+RESET log_file_mode;  -- fail, requires reload
+ALTER SYSTEM SET log_file_mode = 50;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET log_file_mode;  -- fail, tenant has insufficient privileges
+-- PGC_SIGHUP / GUC_FILESYSTEM_SECURITY | GUC_LOGGING_SETTINGS | GUC_RESOURCE_USAGE | GUC_SECURITY_SETTINGS / LOGGING_WHERE
+SET log_rotation_age = 50;  -- fail, requires reload
+RESET log_rotation_age;  -- fail, requires reload
+ALTER SYSTEM SET log_rotation_age = 50;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET log_rotation_age;  -- fail, tenant has insufficient privileges
+SET log_rotation_size = 50;  -- fail, requires reload
+RESET log_rotation_size;  -- fail, requires reload
+ALTER SYSTEM SET log_rotation_size = 50;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET log_rotation_size;  -- fail, tenant has insufficient privileges
+SET log_truncate_on_rotation = ON;  -- fail, requires reload
+RESET log_truncate_on_rotation;  -- fail, requires reload
+ALTER SYSTEM SET log_truncate_on_rotation = ON;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET log_truncate_on_rotation;  -- fail, tenant has insufficient privileges
+-- PGC_SIGHUP / GUC_FILESYSTEM_SECURITY | GUC_SECURITY_SETTINGS / CONN_AUTH_SSL
+SET ssl_crl_dir = 'crl/';  -- fail, requires reload
+RESET ssl_crl_dir;  -- fail, requires reload
+ALTER SYSTEM SET ssl_crl_dir = 'crl/';  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET ssl_crl_dir;  -- fail, tenant has insufficient privileges
+-- PGC_SIGHUP / GUC_FILESYSTEM_SECURITY | GUC_SECURITY_SETTINGS / LOGGING_WHERE
+SET log_directory = 'log';  -- fail, requires reload
+RESET log_directory;  -- fail, requires reload
+ALTER SYSTEM SET log_directory = 'log';  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET log_directory;  -- fail, tenant has insufficient privileges
+SET log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log';  -- fail, requires reload
+RESET log_filename;  -- fail, requires reload
+ALTER SYSTEM SET log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log';  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET log_filename;  -- fail, tenant has insufficient privileges
+-- PGC_SIGHUP / GUC_INTERFACE_SETTINGS / CONN_AUTH_AUTH
+SET authentication_timeout = 50;  -- fail, requires reload
+RESET authentication_timeout;  -- fail, requires reload
+ALTER SYSTEM SET authentication_timeout = 50;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET authentication_timeout;  -- fail, tenant has insufficient privileges
+SET db_user_namespace = ON;  -- fail, requires reload
+RESET db_user_namespace;  -- fail, requires reload
+ALTER SYSTEM SET db_user_namespace = ON;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET db_user_namespace;  -- fail, tenant has insufficient privileges
+SET krb_caseins_users = ON;  -- fail, requires reload
+RESET krb_caseins_users;  -- fail, requires reload
+ALTER SYSTEM SET krb_caseins_users = ON;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET krb_caseins_users;  -- fail, tenant has insufficient privileges
+-- PGC_SIGHUP / GUC_INTERFACE_SETTINGS / CONN_AUTH_SSL
+SET ssl_ciphers = 'none';  -- fail, requires reload
+RESET ssl_ciphers;  -- fail, requires reload
+ALTER SYSTEM SET ssl_ciphers = 'none';  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET ssl_ciphers;  -- fail, tenant has insufficient privileges
+SET ssl_dh_params_file = 'ssl/params';  -- fail, requires reload
+RESET ssl_dh_params_file;  -- fail, requires reload
+ALTER SYSTEM SET ssl_dh_params_file = 'ssl/params';  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET ssl_dh_params_file;  -- fail, tenant has insufficient privileges
+SET ssl_ecdh_curve = 'none';  -- fail, requires reload
+RESET ssl_ecdh_curve;  -- fail, requires reload
+ALTER SYSTEM SET ssl_ecdh_curve = 'none';  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET ssl_ecdh_curve;  -- fail, tenant has insufficient privileges
+SET ssl_min_protocol_version = 'TLSv1.2';  -- fail, requires reload
+RESET ssl_min_protocol_version;  -- fail, requires reload
+ALTER SYSTEM SET ssl_min_protocol_version = 'TLSv1.2';  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET ssl_min_protocol_version;  -- fail, tenant has insufficient privileges
+SET ssl_passphrase_command = '/bin/passphrase';  -- fail, requires reload
+RESET ssl_passphrase_command;  -- fail, requires reload
+ALTER SYSTEM SET ssl_passphrase_command = '/bin/passphrase';  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET ssl_passphrase_command;  -- fail, tenant has insufficient privileges
+SET ssl_passphrase_command_supports_reload = ON;  -- fail, requires reload
+RESET ssl_passphrase_command_supports_reload;  -- fail, requires reload
+ALTER SYSTEM SET ssl_passphrase_command_supports_reload = ON;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET ssl_passphrase_command_supports_reload;  -- fail, tenant has insufficient privileges
+SET ssl_prefer_server_ciphers = ON;  -- fail, requires reload
+RESET ssl_prefer_server_ciphers;  -- fail, requires reload
+ALTER SYSTEM SET ssl_prefer_server_ciphers = ON;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET ssl_prefer_server_ciphers;  -- fail, tenant has insufficient privileges
+-- PGC_SIGHUP / GUC_INTERFACE_SETTINGS / DEVELOPER_OPTIONS
+SET pre_auth_delay = 50;  -- fail, requires reload
+RESET pre_auth_delay;  -- fail, requires reload
+ALTER SYSTEM SET pre_auth_delay = 50;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET pre_auth_delay;  -- fail, tenant has insufficient privileges
+-- PGC_SIGHUP / GUC_INTERFACE_SETTINGS | GUC_LOGGING_SETTINGS / LOGGING_WHAT
+SET log_hostname = ON;  -- fail, requires reload
+RESET log_hostname;  -- fail, requires reload
+ALTER SYSTEM SET log_hostname = ON;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET log_hostname;  -- fail, tenant has insufficient privileges
+-- PGC_SIGHUP / GUC_LOGGING_SETTINGS / LOGGING_WHAT
+SET log_autovacuum_min_duration = 50;  -- fail, requires reload
+RESET log_autovacuum_min_duration;  -- fail, requires reload
+ALTER SYSTEM SET log_autovacuum_min_duration = 50;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET log_autovacuum_min_duration;  -- fail, tenant has insufficient privileges
+SET log_checkpoints = ON;  -- fail, requires reload
+RESET log_checkpoints;  -- fail, requires reload
+ALTER SYSTEM SET log_checkpoints = ON;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET log_checkpoints;  -- fail, tenant has insufficient privileges
+SET log_line_prefix = '%m [%p] ';  -- fail, requires reload
+RESET log_line_prefix;  -- fail, requires reload
+ALTER SYSTEM SET log_line_prefix = '%m [%p] ';  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET log_line_prefix;  -- fail, tenant has insufficient privileges
+SET log_recovery_conflict_waits = ON;  -- fail, requires reload
+RESET log_recovery_conflict_waits;  -- fail, requires reload
+ALTER SYSTEM SET log_recovery_conflict_waits = ON;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET log_recovery_conflict_waits;  -- fail, tenant has insufficient privileges
+SET log_timezone = 'Europe/Helsinki';  -- fail, requires reload
+RESET log_timezone;  -- fail, requires reload
+ALTER SYSTEM SET log_timezone = 'Europe/Helsinki';  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET log_timezone;  -- fail, tenant has insufficient privileges
+-- PGC_SIGHUP / GUC_LOGGING_SETTINGS | GUC_SECURITY_SETTINGS / LOGGING_WHERE
+SET syslog_ident = 'postgres';  -- fail, requires reload
+RESET syslog_ident;  -- fail, requires reload
+ALTER SYSTEM SET syslog_ident = 'postgres';  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET syslog_ident;  -- fail, tenant has insufficient privileges
+SET syslog_sequence_numbers = ON;  -- fail, requires reload
+RESET syslog_sequence_numbers;  -- fail, requires reload
+ALTER SYSTEM SET syslog_sequence_numbers = ON;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET syslog_sequence_numbers;  -- fail, tenant has insufficient privileges
+SET syslog_split_messages = ON;  -- fail, requires reload
+RESET syslog_split_messages;  -- fail, requires reload
+ALTER SYSTEM SET syslog_split_messages = ON;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET syslog_split_messages;  -- fail, tenant has insufficient privileges
+-- PGC_SIGHUP / GUC_LOGGING_SETTINGS | GUC_WAL_SETTINGS / DEVELOPER_OPTIONS
+SET trace_recovery_messages = 'log';  -- fail, requires reload
+RESET trace_recovery_messages;  -- fail, requires reload
+ALTER SYSTEM SET trace_recovery_messages = 'log';  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET trace_recovery_messages;  -- fail, tenant has insufficient privileges
+-- PGC_SIGHUP / GUC_LOGGING_SETTINGS | GUC_WAL_SETTINGS / WAL_CHECKPOINTS
+SET checkpoint_warning = 50;  -- fail, requires reload
+RESET checkpoint_warning;  -- fail, requires reload
+ALTER SYSTEM SET checkpoint_warning = 50;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET checkpoint_warning;  -- fail, tenant has insufficient privileges
+-- PGC_SIGHUP / GUC_MAINTENANCE_SETTINGS / AUTOVACUUM
+SET autovacuum_analyze_scale_factor = 50;  -- fail, requires reload
+RESET autovacuum_analyze_scale_factor;  -- fail, requires reload
+ALTER SYSTEM SET autovacuum_analyze_scale_factor = 50;  -- ok
+ALTER SYSTEM RESET autovacuum_analyze_scale_factor;  -- ok
+SET autovacuum_analyze_threshold = 50;  -- fail, requires reload
+RESET autovacuum_analyze_threshold;  -- fail, requires reload
+ALTER SYSTEM SET autovacuum_analyze_threshold = 50;  -- ok
+ALTER SYSTEM RESET autovacuum_analyze_threshold;  -- ok
+SET autovacuum_naptime = 50;  -- fail, requires reload
+RESET autovacuum_naptime;  -- fail, requires reload
+ALTER SYSTEM SET autovacuum_naptime = 50;  -- ok
+ALTER SYSTEM RESET autovacuum_naptime;  -- ok
+SET autovacuum_vacuum_cost_delay = 50;  -- fail, requires reload
+RESET autovacuum_vacuum_cost_delay;  -- fail, requires reload
+ALTER SYSTEM SET autovacuum_vacuum_cost_delay = 50;  -- ok
+ALTER SYSTEM RESET autovacuum_vacuum_cost_delay;  -- ok
+SET autovacuum_vacuum_cost_limit = 50;  -- fail, requires reload
+RESET autovacuum_vacuum_cost_limit;  -- fail, requires reload
+ALTER SYSTEM SET autovacuum_vacuum_cost_limit = 50;  -- ok
+ALTER SYSTEM RESET autovacuum_vacuum_cost_limit;  -- ok
+SET autovacuum_vacuum_insert_scale_factor = 50;  -- fail, requires reload
+RESET autovacuum_vacuum_insert_scale_factor;  -- fail, requires reload
+ALTER SYSTEM SET autovacuum_vacuum_insert_scale_factor = 50;  -- ok
+ALTER SYSTEM RESET autovacuum_vacuum_insert_scale_factor;  -- ok
+SET autovacuum_vacuum_insert_threshold = 50;  -- fail, requires reload
+RESET autovacuum_vacuum_insert_threshold;  -- fail, requires reload
+ALTER SYSTEM SET autovacuum_vacuum_insert_threshold = 50;  -- ok
+ALTER SYSTEM RESET autovacuum_vacuum_insert_threshold;  -- ok
+SET autovacuum_vacuum_scale_factor = 50;  -- fail, requires reload
+RESET autovacuum_vacuum_scale_factor;  -- fail, requires reload
+ALTER SYSTEM SET autovacuum_vacuum_scale_factor = 50;  -- ok
+ALTER SYSTEM RESET autovacuum_vacuum_scale_factor;  -- ok
+SET autovacuum_vacuum_threshold = 50;  -- fail, requires reload
+RESET autovacuum_vacuum_threshold;  -- fail, requires reload
+ALTER SYSTEM SET autovacuum_vacuum_threshold = 50;  -- ok
+ALTER SYSTEM RESET autovacuum_vacuum_threshold;  -- ok
+-- PGC_SIGHUP / GUC_MAINTENANCE_SETTINGS / REPLICATION_PRIMARY
+SET vacuum_defer_cleanup_age = 50;  -- fail, requires reload
+RESET vacuum_defer_cleanup_age;  -- fail, requires reload
+ALTER SYSTEM SET vacuum_defer_cleanup_age = 50;  -- ok
+ALTER SYSTEM RESET vacuum_defer_cleanup_age;  -- ok
+-- PGC_SIGHUP / GUC_MAINTENANCE_SETTINGS | GUC_RESOURCE_USAGE / AUTOVACUUM
+SET autovacuum = ON;  -- fail, requires reload
+RESET autovacuum;  -- fail, requires reload
+ALTER SYSTEM SET autovacuum = ON;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET autovacuum;  -- fail, tenant has insufficient privileges
+-- PGC_SIGHUP / GUC_MAINTENANCE_SETTINGS | GUC_RESOURCE_USAGE / RESOURCES_MEM
+SET autovacuum_work_mem = 50;  -- fail, requires reload
+RESET autovacuum_work_mem;  -- fail, requires reload
+ALTER SYSTEM SET autovacuum_work_mem = 50;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET autovacuum_work_mem;  -- fail, tenant has insufficient privileges
+-- PGC_SIGHUP / GUC_RESOURCE_USAGE / LOCK_MANAGEMENT
+SET max_pred_locks_per_page = 50;  -- fail, requires reload
+RESET max_pred_locks_per_page;  -- fail, requires reload
+ALTER SYSTEM SET max_pred_locks_per_page = 50;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET max_pred_locks_per_page;  -- fail, tenant has insufficient privileges
+SET max_pred_locks_per_relation = 50;  -- fail, requires reload
+RESET max_pred_locks_per_relation;  -- fail, requires reload
+ALTER SYSTEM SET max_pred_locks_per_relation = 50;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET max_pred_locks_per_relation;  -- fail, tenant has insufficient privileges
+-- PGC_SIGHUP / GUC_RESOURCE_USAGE / REPLICATION_SUBSCRIBERS
+SET max_sync_workers_per_subscription = 50;  -- fail, requires reload
+RESET max_sync_workers_per_subscription;  -- fail, requires reload
+ALTER SYSTEM SET max_sync_workers_per_subscription = 50;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET max_sync_workers_per_subscription;  -- fail, tenant has insufficient privileges
+-- PGC_SIGHUP / GUC_RESOURCE_USAGE / RESOURCES_BGWRITER
+SET bgwriter_delay = 50;  -- fail, requires reload
+RESET bgwriter_delay;  -- fail, requires reload
+ALTER SYSTEM SET bgwriter_delay = 50;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET bgwriter_delay;  -- fail, tenant has insufficient privileges
+SET bgwriter_flush_after = 50;  -- fail, requires reload
+RESET bgwriter_flush_after;  -- fail, requires reload
+ALTER SYSTEM SET bgwriter_flush_after = 50;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET bgwriter_flush_after;  -- fail, tenant has insufficient privileges
+SET bgwriter_lru_maxpages = 50;  -- fail, requires reload
+RESET bgwriter_lru_maxpages;  -- fail, requires reload
+ALTER SYSTEM SET bgwriter_lru_maxpages = 50;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET bgwriter_lru_maxpages;  -- fail, tenant has insufficient privileges
+SET bgwriter_lru_multiplier = 5;  -- fail, requires reload
+RESET bgwriter_lru_multiplier;  -- fail, requires reload
+ALTER SYSTEM SET bgwriter_lru_multiplier = 5;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET bgwriter_lru_multiplier;  -- fail, tenant has insufficient privileges
+-- PGC_SIGHUP / GUC_RESOURCE_USAGE | GUC_WAL_SETTINGS / REPLICATION_SENDING
+SET max_slot_wal_keep_size = 50;  -- fail, requires reload
+RESET max_slot_wal_keep_size;  -- fail, requires reload
+ALTER SYSTEM SET max_slot_wal_keep_size = 50;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET max_slot_wal_keep_size;  -- fail, tenant has insufficient privileges
+-- PGC_SIGHUP / GUC_WAL_SETTINGS / ERROR_HANDLING_OPTIONS
+SET remove_temp_files_after_crash = ON;  -- fail, requires reload
+RESET remove_temp_files_after_crash;  -- fail, requires reload
+ALTER SYSTEM SET remove_temp_files_after_crash = ON;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET remove_temp_files_after_crash;  -- fail, tenant has insufficient privileges
+SET restart_after_crash = ON;  -- fail, requires reload
+RESET restart_after_crash;  -- fail, requires reload
+ALTER SYSTEM SET restart_after_crash = ON;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET restart_after_crash;  -- fail, tenant has insufficient privileges
+-- PGC_SIGHUP / GUC_WAL_SETTINGS / REPLICATION_PRIMARY
+SET synchronous_standby_names = 'fee, fi, fo, fum';  -- fail, requires reload
+RESET synchronous_standby_names;  -- fail, requires reload
+ALTER SYSTEM SET synchronous_standby_names = 'fee, fi, fo, fum';  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET synchronous_standby_names;  -- fail, tenant has insufficient privileges
+-- PGC_SIGHUP / GUC_WAL_SETTINGS / REPLICATION_SENDING
+SET wal_keep_size = 50;  -- fail, requires reload
+RESET wal_keep_size;  -- fail, requires reload
+ALTER SYSTEM SET wal_keep_size = 50;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET wal_keep_size;  -- fail, tenant has insufficient privileges
+-- PGC_SIGHUP / GUC_WAL_SETTINGS / REPLICATION_STANDBY
+SET hot_standby_feedback = ON;  -- fail, requires reload
+RESET hot_standby_feedback;  -- fail, requires reload
+ALTER SYSTEM SET hot_standby_feedback = ON;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET hot_standby_feedback;  -- fail, tenant has insufficient privileges
+SET max_standby_archive_delay = 50;  -- fail, requires reload
+RESET max_standby_archive_delay;  -- fail, requires reload
+ALTER SYSTEM SET max_standby_archive_delay = 50;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET max_standby_archive_delay;  -- fail, tenant has insufficient privileges
+SET max_standby_streaming_delay = 50;  -- fail, requires reload
+RESET max_standby_streaming_delay;  -- fail, requires reload
+ALTER SYSTEM SET max_standby_streaming_delay = 50;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET max_standby_streaming_delay;  -- fail, tenant has insufficient privileges
+SET primary_conninfo = 'postgresql://other@localhost/otherdb?connect_timeout=10&application_name=myapp';  -- fail, requires reload
+RESET primary_conninfo;  -- fail, requires reload
+ALTER SYSTEM SET primary_conninfo = 'postgresql://other@localhost/otherdb?connect_timeout=10&application_name=myapp';  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET primary_conninfo;  -- fail, tenant has insufficient privileges
+SET primary_slot_name = 'bonne_fente';  -- fail, requires reload
+RESET primary_slot_name;  -- fail, requires reload
+ALTER SYSTEM SET primary_slot_name = 'bonne_fente';  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET primary_slot_name;  -- fail, tenant has insufficient privileges
+SET promote_trigger_file = 'promote.trigger';  -- fail, requires reload
+RESET promote_trigger_file;  -- fail, requires reload
+ALTER SYSTEM SET promote_trigger_file = 'promote.trigger';  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET promote_trigger_file;  -- fail, tenant has insufficient privileges
+SET recovery_min_apply_delay = 50;  -- fail, requires reload
+RESET recovery_min_apply_delay;  -- fail, requires reload
+ALTER SYSTEM SET recovery_min_apply_delay = 50;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET recovery_min_apply_delay;  -- fail, tenant has insufficient privileges
+SET wal_receiver_create_temp_slot = ON;  -- fail, requires reload
+RESET wal_receiver_create_temp_slot;  -- fail, requires reload
+ALTER SYSTEM SET wal_receiver_create_temp_slot = ON;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET wal_receiver_create_temp_slot;  -- fail, tenant has insufficient privileges
+SET wal_receiver_status_interval = 50;  -- fail, requires reload
+RESET wal_receiver_status_interval;  -- fail, requires reload
+ALTER SYSTEM SET wal_receiver_status_interval = 50;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET wal_receiver_status_interval;  -- fail, tenant has insufficient privileges
+SET wal_receiver_timeout = 50;  -- fail, requires reload
+RESET wal_receiver_timeout;  -- fail, requires reload
+ALTER SYSTEM SET wal_receiver_timeout = 50;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET wal_receiver_timeout;  -- fail, tenant has insufficient privileges
+SET wal_retrieve_retry_interval = 50;  -- fail, requires reload
+RESET wal_retrieve_retry_interval;  -- fail, requires reload
+ALTER SYSTEM SET wal_retrieve_retry_interval = 50;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET wal_retrieve_retry_interval;  -- fail, tenant has insufficient privileges
+-- PGC_SIGHUP / GUC_WAL_SETTINGS / WAL_ARCHIVING
+SET archive_timeout = 50;  -- fail, requires reload
+RESET archive_timeout;  -- fail, requires reload
+ALTER SYSTEM SET archive_timeout = 50;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET archive_timeout;  -- fail, tenant has insufficient privileges
+-- PGC_SIGHUP / GUC_WAL_SETTINGS / WAL_CHECKPOINTS
+SET checkpoint_completion_target = 0;  -- fail, requires reload
+RESET checkpoint_completion_target;  -- fail, requires reload
+ALTER SYSTEM SET checkpoint_completion_target = 0;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET checkpoint_completion_target;  -- fail, tenant has insufficient privileges
+SET checkpoint_flush_after = 50;  -- fail, requires reload
+RESET checkpoint_flush_after;  -- fail, requires reload
+ALTER SYSTEM SET checkpoint_flush_after = 50;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET checkpoint_flush_after;  -- fail, tenant has insufficient privileges
+SET checkpoint_timeout = 50;  -- fail, requires reload
+RESET checkpoint_timeout;  -- fail, requires reload
+ALTER SYSTEM SET checkpoint_timeout = 50;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET checkpoint_timeout;  -- fail, tenant has insufficient privileges
+SET max_wal_size = 50;  -- fail, requires reload
+RESET max_wal_size;  -- fail, requires reload
+ALTER SYSTEM SET max_wal_size = 50;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET max_wal_size;  -- fail, tenant has insufficient privileges
+SET min_wal_size = 50;  -- fail, requires reload
+RESET min_wal_size;  -- fail, requires reload
+ALTER SYSTEM SET min_wal_size = 50;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET min_wal_size;  -- fail, tenant has insufficient privileges
+-- PGC_SIGHUP / GUC_WAL_SETTINGS / WAL_SETTINGS
+SET fsync = ON;  -- fail, requires reload
+RESET fsync;  -- fail, requires reload
+ALTER SYSTEM SET fsync = ON;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET fsync;  -- fail, tenant has insufficient privileges
+SET full_page_writes = ON;  -- fail, requires reload
+RESET full_page_writes;  -- fail, requires reload
+ALTER SYSTEM SET full_page_writes = ON;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET full_page_writes;  -- fail, tenant has insufficient privileges
+SET wal_sync_method = 'open_datasync';  -- fail, requires reload
+RESET wal_sync_method;  -- fail, requires reload
+ALTER SYSTEM SET wal_sync_method = 'open_datasync';  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET wal_sync_method;  -- fail, tenant has insufficient privileges
+SET wal_writer_delay = 50;  -- fail, requires reload
+RESET wal_writer_delay;  -- fail, requires reload
+ALTER SYSTEM SET wal_writer_delay = 50;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET wal_writer_delay;  -- fail, tenant has insufficient privileges
+SET wal_writer_flush_after = 50;  -- fail, requires reload
+RESET wal_writer_flush_after;  -- fail, requires reload
+ALTER SYSTEM SET wal_writer_flush_after = 50;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET wal_writer_flush_after;  -- fail, tenant has insufficient privileges
+-- PGC_SUSET / GUC_ALL_PRIVILEGES / DEVELOPER_OPTIONS
+SET allow_system_table_mods = ON;  -- fail, tenant has insufficient privileges
+RESET allow_system_table_mods;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM SET allow_system_table_mods = ON;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET allow_system_table_mods;  -- fail, tenant has insufficient privileges
+-- PGC_SUSET / GUC_FILESYSTEM_SECURITY / CLIENT_CONN_OTHER
+SET dynamic_library_path = '$libdir';  -- fail, tenant has insufficient privileges
+RESET dynamic_library_path;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM SET dynamic_library_path = '$libdir';  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET dynamic_library_path;  -- fail, tenant has insufficient privileges
+-- PGC_SUSET / GUC_FILESYSTEM_SECURITY / CLIENT_CONN_PRELOAD
+SET session_preload_libraries = 'gssapi_krb5';  -- fail, tenant has insufficient privileges
+RESET session_preload_libraries;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM SET session_preload_libraries = 'gssapi_krb5';  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET session_preload_libraries;  -- fail, tenant has insufficient privileges
+-- PGC_SUSET / GUC_FILESYSTEM_SECURITY | GUC_SECURITY_SETTINGS / DEVELOPER_OPTIONS
+SET jit_dump_bitcode = ON;  -- fail, tenant has insufficient privileges
+RESET jit_dump_bitcode;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM SET jit_dump_bitcode = ON;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET jit_dump_bitcode;  -- fail, tenant has insufficient privileges
+-- PGC_SUSET / GUC_INTERNAL_SETTINGS / CLIENT_CONN_LOCALE
+SET lc_messages = 'en_US.UTF-8';  -- ok
+RESET lc_messages;  -- ok
+ALTER SYSTEM SET lc_messages = 'en_US.UTF-8';  -- ok
+ALTER SYSTEM RESET lc_messages;  -- ok
+-- PGC_SUSET / GUC_INTERNAL_SETTINGS | GUC_RESOURCE_USAGE | GUC_SECURITY_SETTINGS / DEVELOPER_OPTIONS
+SET debug_invalidate_system_caches_always = 2;  -- fail, tenant has insufficient privileges
+RESET debug_invalidate_system_caches_always;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM SET debug_invalidate_system_caches_always = 2;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET debug_invalidate_system_caches_always;  -- fail, tenant has insufficient privileges
+-- PGC_SUSET / GUC_INTERNAL_SETTINGS | GUC_SECURITY_SETTINGS / LOCK_MANAGEMENT
+SET deadlock_timeout = 1073741824;  -- fail, tenant has insufficient privileges
+RESET deadlock_timeout;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM SET deadlock_timeout = 1073741824;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET deadlock_timeout;  -- fail, tenant has insufficient privileges
+-- PGC_SUSET / GUC_LOGGING_SETTINGS / DEVELOPER_OPTIONS
+SET backtrace_functions = 'partition_list_bsearch,partition_range_datum_bsearch,partition_hash_bsearch';  -- fail, tenant has insufficient privileges
+RESET backtrace_functions;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM SET backtrace_functions = 'partition_list_bsearch,partition_range_datum_bsearch,partition_hash_bsearch';  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET backtrace_functions;  -- fail, tenant has insufficient privileges
+-- PGC_SUSET / GUC_LOGGING_SETTINGS / LOGGING_WHAT
+SET log_duration = ON;  -- fail, tenant has insufficient privileges
+RESET log_duration;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM SET log_duration = ON;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET log_duration;  -- fail, tenant has insufficient privileges
+SET log_error_verbosity = 'default';  -- fail, tenant has insufficient privileges
+RESET log_error_verbosity;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM SET log_error_verbosity = 'default';  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET log_error_verbosity;  -- fail, tenant has insufficient privileges
+SET log_lock_waits = ON;  -- fail, tenant has insufficient privileges
+RESET log_lock_waits;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM SET log_lock_waits = ON;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET log_lock_waits;  -- fail, tenant has insufficient privileges
+SET log_parameter_max_length = 50;  -- fail, tenant has insufficient privileges
+RESET log_parameter_max_length;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM SET log_parameter_max_length = 50;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET log_parameter_max_length;  -- fail, tenant has insufficient privileges
+SET log_replication_commands = ON;  -- fail, tenant has insufficient privileges
+RESET log_replication_commands;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM SET log_replication_commands = ON;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET log_replication_commands;  -- fail, tenant has insufficient privileges
+SET log_statement = 'none';  -- fail, tenant has insufficient privileges
+RESET log_statement;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM SET log_statement = 'none';  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET log_statement;  -- fail, tenant has insufficient privileges
+SET log_temp_files = 50;  -- fail, tenant has insufficient privileges
+RESET log_temp_files;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM SET log_temp_files = 50;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET log_temp_files;  -- fail, tenant has insufficient privileges
+-- PGC_SUSET / GUC_LOGGING_SETTINGS / LOGGING_WHEN
+SET log_min_duration_sample = 50;  -- fail, tenant has insufficient privileges
+RESET log_min_duration_sample;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM SET log_min_duration_sample = 50;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET log_min_duration_sample;  -- fail, tenant has insufficient privileges
+SET log_min_duration_statement = 50;  -- fail, tenant has insufficient privileges
+RESET log_min_duration_statement;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM SET log_min_duration_statement = 50;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET log_min_duration_statement;  -- fail, tenant has insufficient privileges
+SET log_min_error_statement = 'error';  -- fail, tenant has insufficient privileges
+RESET log_min_error_statement;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM SET log_min_error_statement = 'error';  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET log_min_error_statement;  -- fail, tenant has insufficient privileges
+SET log_min_messages = 'warning';  -- fail, tenant has insufficient privileges
+RESET log_min_messages;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM SET log_min_messages = 'warning';  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET log_min_messages;  -- fail, tenant has insufficient privileges
+SET log_statement_sample_rate = 0;  -- fail, tenant has insufficient privileges
+RESET log_statement_sample_rate;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM SET log_statement_sample_rate = 0;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET log_statement_sample_rate;  -- fail, tenant has insufficient privileges
+SET log_transaction_sample_rate = 0;  -- fail, tenant has insufficient privileges
+RESET log_transaction_sample_rate;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM SET log_transaction_sample_rate = 0;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET log_transaction_sample_rate;  -- fail, tenant has insufficient privileges
+-- PGC_SUSET / GUC_LOGGING_SETTINGS / STATS_MONITORING
+SET log_executor_stats = ON;  -- fail, tenant has insufficient privileges
+RESET log_executor_stats;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM SET log_executor_stats = ON;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET log_executor_stats;  -- fail, tenant has insufficient privileges
+SET log_parser_stats = ON;  -- fail, tenant has insufficient privileges
+RESET log_parser_stats;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM SET log_parser_stats = ON;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET log_parser_stats;  -- fail, tenant has insufficient privileges
+SET log_planner_stats = ON;  -- fail, tenant has insufficient privileges
+RESET log_planner_stats;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM SET log_planner_stats = ON;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET log_planner_stats;  -- fail, tenant has insufficient privileges
+SET log_statement_stats = ON;  -- fail, tenant has insufficient privileges
+RESET log_statement_stats;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM SET log_statement_stats = ON;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET log_statement_stats;  -- fail, tenant has insufficient privileges
+-- PGC_SUSET / GUC_LOGGING_SETTINGS | GUC_SECURITY_SETTINGS / PROCESS_TITLE
+SET update_process_title = ON;  -- fail, tenant has insufficient privileges
+RESET update_process_title;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM SET update_process_title = ON;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET update_process_title;  -- fail, tenant has insufficient privileges
+-- PGC_SUSET / GUC_RESOURCE_USAGE / RESOURCES_DISK
+SET temp_file_limit = 50;  -- fail, tenant has insufficient privileges
+RESET temp_file_limit;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM SET temp_file_limit = 50;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET temp_file_limit;  -- fail, tenant has insufficient privileges
+-- PGC_SUSET / GUC_RESOURCE_USAGE / RESOURCES_MEM
+SET max_stack_depth = 3890;  -- fail, tenant has insufficient privileges
+RESET max_stack_depth;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM SET max_stack_depth = 3890;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET max_stack_depth;  -- fail, tenant has insufficient privileges
+-- PGC_SUSET / GUC_SECURITY_SETTINGS / COMPAT_OPTIONS_PREVIOUS
+SET lo_compat_privileges = ON;  -- fail, tenant has insufficient privileges
+RESET lo_compat_privileges;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM SET lo_compat_privileges = ON;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET lo_compat_privileges;  -- fail, tenant has insufficient privileges
+-- PGC_SUSET / GUC_STATS_SETTINGS / STATS_COLLECTOR
+SET track_activities = ON;  -- ok
+RESET track_activities;  -- ok
+ALTER SYSTEM SET track_activities = ON;  -- ok
+ALTER SYSTEM RESET track_activities;  -- ok
+SET track_counts = ON;  -- ok
+RESET track_counts;  -- ok
+ALTER SYSTEM SET track_counts = ON;  -- ok
+ALTER SYSTEM RESET track_counts;  -- ok
+SET track_functions = 'none';  -- ok
+RESET track_functions;  -- ok
+ALTER SYSTEM SET track_functions = 'none';  -- ok
+ALTER SYSTEM RESET track_functions;  -- ok
+SET track_io_timing = ON;  -- ok
+RESET track_io_timing;  -- ok
+ALTER SYSTEM SET track_io_timing = ON;  -- ok
+ALTER SYSTEM RESET track_io_timing;  -- ok
+SET track_wal_io_timing = ON;  -- ok
+RESET track_wal_io_timing;  -- ok
+ALTER SYSTEM SET track_wal_io_timing = ON;  -- ok
+ALTER SYSTEM RESET track_wal_io_timing;  -- ok
+-- PGC_SUSET / GUC_STATS_SETTINGS / STATS_MONITORING
+SET compute_query_id = ON;  -- ok
+RESET compute_query_id;  -- ok
+ALTER SYSTEM SET compute_query_id = ON;  -- ok
+ALTER SYSTEM RESET compute_query_id;  -- ok
+-- PGC_SUSET / GUC_STORAGE_SETTINGS / DEVELOPER_OPTIONS
+SET ignore_checksum_failure = ON;  -- fail, tenant has insufficient privileges
+RESET ignore_checksum_failure;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM SET ignore_checksum_failure = ON;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET ignore_checksum_failure;  -- fail, tenant has insufficient privileges
+SET zero_damaged_pages = ON;  -- fail, tenant has insufficient privileges
+RESET zero_damaged_pages;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM SET zero_damaged_pages = ON;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET zero_damaged_pages;  -- fail, tenant has insufficient privileges
+-- PGC_SUSET / GUC_WAL_SETTINGS / CLIENT_CONN_STATEMENT
+SET session_replication_role = 'origin';  -- fail, tenant has insufficient privileges
+RESET session_replication_role;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM SET session_replication_role = 'origin';  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET session_replication_role;  -- fail, tenant has insufficient privileges
+-- PGC_SUSET / GUC_WAL_SETTINGS / DEVELOPER_OPTIONS
+SET wal_consistency_checking = 'heap, heap2, btree, hash, gin, gist, sequence, spgist, brin, generic';  -- fail, tenant has insufficient privileges
+RESET wal_consistency_checking;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM SET wal_consistency_checking = 'heap, heap2, btree, hash, gin, gist, sequence, spgist, brin, generic';  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET wal_consistency_checking;  -- fail, tenant has insufficient privileges
+-- PGC_SUSET / GUC_WAL_SETTINGS / WAL_SETTINGS
+SET commit_delay = 50;  -- fail, tenant has insufficient privileges
+RESET commit_delay;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM SET commit_delay = 50;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET commit_delay;  -- fail, tenant has insufficient privileges
+SET wal_compression = ON;  -- fail, tenant has insufficient privileges
+RESET wal_compression;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM SET wal_compression = ON;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET wal_compression;  -- fail, tenant has insufficient privileges
+SET wal_init_zero = ON;  -- fail, tenant has insufficient privileges
+RESET wal_init_zero;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM SET wal_init_zero = ON;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET wal_init_zero;  -- fail, tenant has insufficient privileges
+SET wal_recycle = ON;  -- fail, tenant has insufficient privileges
+RESET wal_recycle;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM SET wal_recycle = ON;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET wal_recycle;  -- fail, tenant has insufficient privileges
+-- PGC_SU_BACKEND / GUC_FILESYSTEM_SECURITY | GUC_SECURITY_SETTINGS / DEVELOPER_OPTIONS
+SET jit_profiling_support = ON;  -- fail, cannot be set after connection start
+RESET jit_profiling_support;  -- fail, cannot be set after connection start
+ALTER SYSTEM SET jit_profiling_support = ON;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET jit_profiling_support;  -- fail, tenant has insufficient privileges
+-- PGC_SU_BACKEND / GUC_INTERNAL_SETTINGS | GUC_SECURITY_SETTINGS / DEVELOPER_OPTIONS
+SET jit_debugging_support = ON;  -- fail, cannot be set after connection start
+RESET jit_debugging_support;  -- fail, cannot be set after connection start
+ALTER SYSTEM SET jit_debugging_support = ON;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET jit_debugging_support;  -- fail, tenant has insufficient privileges
+-- PGC_SU_BACKEND / GUC_LOGGING_SETTINGS / LOGGING_WHAT
+SET log_connections = ON;  -- fail, cannot be set after connection start
+RESET log_connections;  -- fail, cannot be set after connection start
+ALTER SYSTEM SET log_connections = ON;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET log_connections;  -- fail, tenant has insufficient privileges
+SET log_disconnections = ON;  -- fail, cannot be set after connection start
+RESET log_disconnections;  -- fail, cannot be set after connection start
+ALTER SYSTEM SET log_disconnections = ON;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET log_disconnections;  -- fail, tenant has insufficient privileges
+-- PGC_USERSET / GUC_INTERNAL_SETTINGS / CLIENT_CONN_LOCALE
+SET DateStyle = 'ISO, MDY';  -- ok
+RESET DateStyle;  -- ok
+ALTER SYSTEM SET DateStyle = 'ISO, MDY';  -- ok
+ALTER SYSTEM RESET DateStyle;  -- ok
+SET IntervalStyle = 'postgres';  -- ok
+RESET IntervalStyle;  -- ok
+ALTER SYSTEM SET IntervalStyle = 'postgres';  -- ok
+ALTER SYSTEM RESET IntervalStyle;  -- ok
+SET TimeZone = 'Europe/Helsinki';  -- ok
+RESET TimeZone;  -- ok
+ALTER SYSTEM SET TimeZone = 'Europe/Helsinki';  -- ok
+ALTER SYSTEM RESET TimeZone;  -- ok
+SET client_encoding = 'UTF8';  -- ok
+RESET client_encoding;  -- ok
+ALTER SYSTEM SET client_encoding = 'UTF8';  -- ok
+ALTER SYSTEM RESET client_encoding;  -- ok
+SET default_text_search_config = 'pg_catalog.english';  -- ok
+RESET default_text_search_config;  -- ok
+ALTER SYSTEM SET default_text_search_config = 'pg_catalog.english';  -- ok
+ALTER SYSTEM RESET default_text_search_config;  -- ok
+SET extra_float_digits = -6;  -- ok
+RESET extra_float_digits;  -- ok
+ALTER SYSTEM SET extra_float_digits = -6;  -- ok
+ALTER SYSTEM RESET extra_float_digits;  -- ok
+SET lc_monetary = 'en_US.UTF-8';  -- ok
+RESET lc_monetary;  -- ok
+ALTER SYSTEM SET lc_monetary = 'en_US.UTF-8';  -- ok
+ALTER SYSTEM RESET lc_monetary;  -- ok
+SET lc_numeric = 'en_US.UTF-8';  -- ok
+RESET lc_numeric;  -- ok
+ALTER SYSTEM SET lc_numeric = 'en_US.UTF-8';  -- ok
+ALTER SYSTEM RESET lc_numeric;  -- ok
+SET lc_time = 'en_US.UTF-8';  -- ok
+RESET lc_time;  -- ok
+ALTER SYSTEM SET lc_time = 'en_US.UTF-8';  -- ok
+ALTER SYSTEM RESET lc_time;  -- ok
+SET timezone_abbreviations = 'Default';  -- ok
+RESET timezone_abbreviations;  -- ok
+ALTER SYSTEM SET timezone_abbreviations = 'Default';  -- ok
+ALTER SYSTEM RESET timezone_abbreviations;  -- ok
+-- PGC_USERSET / GUC_INTERNAL_SETTINGS / CLIENT_CONN_OTHER
+SET gin_fuzzy_search_limit = 50;  -- ok
+RESET gin_fuzzy_search_limit;  -- ok
+ALTER SYSTEM SET gin_fuzzy_search_limit = 50;  -- ok
+ALTER SYSTEM RESET gin_fuzzy_search_limit;  -- ok
+-- PGC_USERSET / GUC_INTERNAL_SETTINGS / CLIENT_CONN_PRELOAD
+SET local_preload_libraries = 'gssapi_krb5';  -- ok
+RESET local_preload_libraries;  -- ok
+ALTER SYSTEM SET local_preload_libraries = 'gssapi_krb5';  -- ok
+ALTER SYSTEM RESET local_preload_libraries;  -- ok
+-- PGC_USERSET / GUC_INTERNAL_SETTINGS / CLIENT_CONN_STATEMENT
+SET bytea_output = 'hex';  -- ok
+RESET bytea_output;  -- ok
+ALTER SYSTEM SET bytea_output = 'hex';  -- ok
+ALTER SYSTEM RESET bytea_output;  -- ok
+SET check_function_bodies = ON;  -- ok
+RESET check_function_bodies;  -- ok
+ALTER SYSTEM SET check_function_bodies = ON;  -- ok
+ALTER SYSTEM RESET check_function_bodies;  -- ok
+SET client_min_messages = 'notice';  -- ok
+RESET client_min_messages;  -- ok
+ALTER SYSTEM SET client_min_messages = 'notice';  -- ok
+ALTER SYSTEM RESET client_min_messages;  -- ok
+SET default_table_access_method = 'heap';  -- ok
+RESET default_table_access_method;  -- ok
+ALTER SYSTEM SET default_table_access_method = 'heap';  -- ok
+ALTER SYSTEM RESET default_table_access_method;  -- ok
+SET default_toast_compression = 'pglz';  -- ok
+RESET default_toast_compression;  -- ok
+ALTER SYSTEM SET default_toast_compression = 'pglz';  -- ok
+ALTER SYSTEM RESET default_toast_compression;  -- ok
+SET default_transaction_deferrable = ON;  -- ok
+RESET default_transaction_deferrable;  -- ok
+ALTER SYSTEM SET default_transaction_deferrable = ON;  -- ok
+ALTER SYSTEM RESET default_transaction_deferrable;  -- ok
+SET default_transaction_isolation = 'read committed';  -- ok
+RESET default_transaction_isolation;  -- ok
+ALTER SYSTEM SET default_transaction_isolation = 'read committed';  -- ok
+ALTER SYSTEM RESET default_transaction_isolation;  -- ok
+SET default_transaction_read_only = ON;  -- ok
+RESET default_transaction_read_only;  -- ok
+ALTER SYSTEM SET default_transaction_read_only = ON;  -- ok
+ALTER SYSTEM RESET default_transaction_read_only;  -- ok
+SET gin_pending_list_limit = 1073741855;  -- ok
+RESET gin_pending_list_limit;  -- ok
+ALTER SYSTEM SET gin_pending_list_limit = 1073741855;  -- ok
+ALTER SYSTEM RESET gin_pending_list_limit;  -- ok
+SET idle_in_transaction_session_timeout = 50;  -- ok
+RESET idle_in_transaction_session_timeout;  -- ok
+ALTER SYSTEM SET idle_in_transaction_session_timeout = 50;  -- ok
+ALTER SYSTEM RESET idle_in_transaction_session_timeout;  -- ok
+SET idle_session_timeout = 50;  -- ok
+RESET idle_session_timeout;  -- ok
+ALTER SYSTEM SET idle_session_timeout = 50;  -- ok
+ALTER SYSTEM RESET idle_session_timeout;  -- ok
+SET lock_timeout = 50;  -- ok
+RESET lock_timeout;  -- ok
+ALTER SYSTEM SET lock_timeout = 50;  -- ok
+ALTER SYSTEM RESET lock_timeout;  -- ok
+SET row_security = ON;  -- ok
+RESET row_security;  -- ok
+ALTER SYSTEM SET row_security = ON;  -- ok
+ALTER SYSTEM RESET row_security;  -- ok
+SET search_path = '"$user", public';  -- ok
+RESET search_path;  -- ok
+ALTER SYSTEM SET search_path = '"$user", public';  -- ok
+ALTER SYSTEM RESET search_path;  -- ok
+SET statement_timeout = 5250;  -- ok
+RESET statement_timeout;  -- ok
+ALTER SYSTEM SET statement_timeout = 5250;  -- ok
+ALTER SYSTEM RESET statement_timeout;  -- ok
+SET transaction_deferrable = ON;  -- ok
+RESET transaction_deferrable;  -- ok
+ALTER SYSTEM SET transaction_deferrable = ON;  -- fail, cannot be changed
+ALTER SYSTEM RESET transaction_deferrable;  -- fail, cannot be changed
+SET transaction_isolation = 'read committed';  -- ok
+RESET transaction_isolation;  -- ok
+ALTER SYSTEM SET transaction_isolation = 'read committed';  -- fail, cannot be changed
+ALTER SYSTEM RESET transaction_isolation;  -- fail, cannot be changed
+SET transaction_read_only = ON;  -- ok
+RESET transaction_read_only;  -- ok
+ALTER SYSTEM SET transaction_read_only = ON;  -- fail, cannot be changed
+ALTER SYSTEM RESET transaction_read_only;  -- fail, cannot be changed
+SET vacuum_failsafe_age = 50;  -- ok
+RESET vacuum_failsafe_age;  -- ok
+ALTER SYSTEM SET vacuum_failsafe_age = 50;  -- ok
+ALTER SYSTEM RESET vacuum_failsafe_age;  -- ok
+SET vacuum_freeze_min_age = 50;  -- ok
+RESET vacuum_freeze_min_age;  -- ok
+ALTER SYSTEM SET vacuum_freeze_min_age = 50;  -- ok
+ALTER SYSTEM RESET vacuum_freeze_min_age;  -- ok
+SET vacuum_freeze_table_age = 50;  -- ok
+RESET vacuum_freeze_table_age;  -- ok
+ALTER SYSTEM SET vacuum_freeze_table_age = 50;  -- ok
+ALTER SYSTEM RESET vacuum_freeze_table_age;  -- ok
+SET vacuum_multixact_failsafe_age = 50;  -- ok
+RESET vacuum_multixact_failsafe_age;  -- ok
+ALTER SYSTEM SET vacuum_multixact_failsafe_age = 50;  -- ok
+ALTER SYSTEM RESET vacuum_multixact_failsafe_age;  -- ok
+SET vacuum_multixact_freeze_min_age = 50;  -- ok
+RESET vacuum_multixact_freeze_min_age;  -- ok
+ALTER SYSTEM SET vacuum_multixact_freeze_min_age = 50;  -- ok
+ALTER SYSTEM RESET vacuum_multixact_freeze_min_age;  -- ok
+SET vacuum_multixact_freeze_table_age = 50;  -- ok
+RESET vacuum_multixact_freeze_table_age;  -- ok
+ALTER SYSTEM SET vacuum_multixact_freeze_table_age = 50;  -- ok
+ALTER SYSTEM RESET vacuum_multixact_freeze_table_age;  -- ok
+SET xmlbinary = 'base64';  -- ok
+RESET xmlbinary;  -- ok
+ALTER SYSTEM SET xmlbinary = 'base64';  -- ok
+ALTER SYSTEM RESET xmlbinary;  -- ok
+SET xmloption = 'content';  -- ok
+RESET xmloption;  -- ok
+ALTER SYSTEM SET xmloption = 'content';  -- ok
+ALTER SYSTEM RESET xmloption;  -- ok
+-- PGC_USERSET / GUC_INTERNAL_SETTINGS / COMPAT_OPTIONS_PREVIOUS
+SET array_nulls = ON;  -- ok
+RESET array_nulls;  -- ok
+ALTER SYSTEM SET array_nulls = ON;  -- ok
+ALTER SYSTEM RESET array_nulls;  -- ok
+SET escape_string_warning = ON;  -- ok
+RESET escape_string_warning;  -- ok
+ALTER SYSTEM SET escape_string_warning = ON;  -- ok
+ALTER SYSTEM RESET escape_string_warning;  -- ok
+SET quote_all_identifiers = ON;  -- ok
+RESET quote_all_identifiers;  -- ok
+ALTER SYSTEM SET quote_all_identifiers = ON;  -- ok
+ALTER SYSTEM RESET quote_all_identifiers;  -- ok
+SET standard_conforming_strings = ON;  -- ok
+RESET standard_conforming_strings;  -- ok
+ALTER SYSTEM SET standard_conforming_strings = ON;  -- ok
+ALTER SYSTEM RESET standard_conforming_strings;  -- ok
+SET synchronize_seqscans = ON;  -- ok
+RESET synchronize_seqscans;  -- ok
+ALTER SYSTEM SET synchronize_seqscans = ON;  -- ok
+ALTER SYSTEM RESET synchronize_seqscans;  -- ok
+-- PGC_USERSET / GUC_INTERNAL_SETTINGS / CONN_AUTH_AUTH
+SET password_encryption = 'scram-sha-256';  -- ok
+RESET password_encryption;  -- ok
+ALTER SYSTEM SET password_encryption = 'scram-sha-256';  -- ok
+ALTER SYSTEM RESET password_encryption;  -- ok
+-- PGC_USERSET / GUC_INTERNAL_SETTINGS / CONN_AUTH_SETTINGS
+SET client_connection_check_interval = 0;  -- ok
+RESET client_connection_check_interval;  -- ok
+ALTER SYSTEM SET client_connection_check_interval = 0;  -- ok
+ALTER SYSTEM RESET client_connection_check_interval;  -- ok
+SET tcp_keepalives_count = 50;  -- ok
+RESET tcp_keepalives_count;  -- ok
+ALTER SYSTEM SET tcp_keepalives_count = 50;  -- ok
+ALTER SYSTEM RESET tcp_keepalives_count;  -- ok
+SET tcp_keepalives_idle = 50;  -- ok
+RESET tcp_keepalives_idle;  -- ok
+ALTER SYSTEM SET tcp_keepalives_idle = 50;  -- ok
+ALTER SYSTEM RESET tcp_keepalives_idle;  -- ok
+SET tcp_keepalives_interval = 50;  -- ok
+RESET tcp_keepalives_interval;  -- ok
+ALTER SYSTEM SET tcp_keepalives_interval = 50;  -- ok
+ALTER SYSTEM RESET tcp_keepalives_interval;  -- ok
+SET tcp_user_timeout = 50;  -- ok
+RESET tcp_user_timeout;  -- ok
+ALTER SYSTEM SET tcp_user_timeout = 50;  -- ok
+ALTER SYSTEM RESET tcp_user_timeout;  -- ok
+-- PGC_USERSET / GUC_INTERNAL_SETTINGS / CONN_AUTH_SSL
+SET ssl_renegotiation_limit = 0;  -- ok
+RESET ssl_renegotiation_limit;  -- ok
+ALTER SYSTEM SET ssl_renegotiation_limit = 0;  -- fail, cannot be changed
+ALTER SYSTEM RESET ssl_renegotiation_limit;  -- fail, cannot be changed
+-- PGC_USERSET / GUC_INTERNAL_SETTINGS / DEVELOPER_OPTIONS
+SET force_parallel_mode = 'off';  -- ok
+RESET force_parallel_mode;  -- ok
+ALTER SYSTEM SET force_parallel_mode = 'off';  -- ok
+ALTER SYSTEM RESET force_parallel_mode;  -- ok
+SET jit_expressions = ON;  -- ok
+RESET jit_expressions;  -- ok
+ALTER SYSTEM SET jit_expressions = ON;  -- ok
+ALTER SYSTEM RESET jit_expressions;  -- ok
+SET jit_tuple_deforming = ON;  -- ok
+RESET jit_tuple_deforming;  -- ok
+ALTER SYSTEM SET jit_tuple_deforming = ON;  -- ok
+ALTER SYSTEM RESET jit_tuple_deforming;  -- ok
+SET trace_notify = ON;  -- ok
+RESET trace_notify;  -- ok
+ALTER SYSTEM SET trace_notify = ON;  -- ok
+ALTER SYSTEM RESET trace_notify;  -- ok
+SET trace_sort = ON;  -- ok
+RESET trace_sort;  -- ok
+ALTER SYSTEM SET trace_sort = ON;  -- ok
+ALTER SYSTEM RESET trace_sort;  -- ok
+-- PGC_USERSET / GUC_INTERNAL_SETTINGS / ERROR_HANDLING_OPTIONS
+SET exit_on_error = ON;  -- ok
+RESET exit_on_error;  -- ok
+ALTER SYSTEM SET exit_on_error = ON;  -- ok
+ALTER SYSTEM RESET exit_on_error;  -- ok
+-- PGC_USERSET / GUC_INTERNAL_SETTINGS / LOGGING_WHAT
+SET application_name = 'psql';  -- ok
+RESET application_name;  -- ok
+ALTER SYSTEM SET application_name = 'psql';  -- ok
+ALTER SYSTEM RESET application_name;  -- ok
+SET debug_pretty_print = ON;  -- ok
+RESET debug_pretty_print;  -- ok
+ALTER SYSTEM SET debug_pretty_print = ON;  -- ok
+ALTER SYSTEM RESET debug_pretty_print;  -- ok
+SET debug_print_parse = ON;  -- ok
+RESET debug_print_parse;  -- ok
+ALTER SYSTEM SET debug_print_parse = ON;  -- ok
+ALTER SYSTEM RESET debug_print_parse;  -- ok
+SET debug_print_plan = ON;  -- ok
+RESET debug_print_plan;  -- ok
+ALTER SYSTEM SET debug_print_plan = ON;  -- ok
+ALTER SYSTEM RESET debug_print_plan;  -- ok
+SET debug_print_rewritten = ON;  -- ok
+RESET debug_print_rewritten;  -- ok
+ALTER SYSTEM SET debug_print_rewritten = ON;  -- ok
+ALTER SYSTEM RESET debug_print_rewritten;  -- ok
+SET log_parameter_max_length_on_error = 50;  -- ok
+RESET log_parameter_max_length_on_error;  -- ok
+ALTER SYSTEM SET log_parameter_max_length_on_error = 50;  -- ok
+ALTER SYSTEM RESET log_parameter_max_length_on_error;  -- ok
+-- PGC_USERSET / GUC_INTERNAL_SETTINGS / QUERY_TUNING_COST
+SET cpu_index_tuple_cost = 50;  -- ok
+RESET cpu_index_tuple_cost;  -- ok
+ALTER SYSTEM SET cpu_index_tuple_cost = 50;  -- ok
+ALTER SYSTEM RESET cpu_index_tuple_cost;  -- ok
+SET cpu_operator_cost = 50;  -- ok
+RESET cpu_operator_cost;  -- ok
+ALTER SYSTEM SET cpu_operator_cost = 50;  -- ok
+ALTER SYSTEM RESET cpu_operator_cost;  -- ok
+SET cpu_tuple_cost = 50;  -- ok
+RESET cpu_tuple_cost;  -- ok
+ALTER SYSTEM SET cpu_tuple_cost = 50;  -- ok
+ALTER SYSTEM RESET cpu_tuple_cost;  -- ok
+SET effective_cache_size = 1073741824;  -- ok
+RESET effective_cache_size;  -- ok
+ALTER SYSTEM SET effective_cache_size = 1073741824;  -- ok
+ALTER SYSTEM RESET effective_cache_size;  -- ok
+SET jit_above_cost = 50;  -- ok
+RESET jit_above_cost;  -- ok
+ALTER SYSTEM SET jit_above_cost = 50;  -- ok
+ALTER SYSTEM RESET jit_above_cost;  -- ok
+SET jit_inline_above_cost = 50;  -- ok
+RESET jit_inline_above_cost;  -- ok
+ALTER SYSTEM SET jit_inline_above_cost = 50;  -- ok
+ALTER SYSTEM RESET jit_inline_above_cost;  -- ok
+SET jit_optimize_above_cost = 50;  -- ok
+RESET jit_optimize_above_cost;  -- ok
+ALTER SYSTEM SET jit_optimize_above_cost = 50;  -- ok
+ALTER SYSTEM RESET jit_optimize_above_cost;  -- ok
+SET min_parallel_index_scan_size = 50;  -- ok
+RESET min_parallel_index_scan_size;  -- ok
+ALTER SYSTEM SET min_parallel_index_scan_size = 50;  -- ok
+ALTER SYSTEM RESET min_parallel_index_scan_size;  -- ok
+SET min_parallel_table_scan_size = 50;  -- ok
+RESET min_parallel_table_scan_size;  -- ok
+ALTER SYSTEM SET min_parallel_table_scan_size = 50;  -- ok
+ALTER SYSTEM RESET min_parallel_table_scan_size;  -- ok
+SET parallel_setup_cost = 50;  -- ok
+RESET parallel_setup_cost;  -- ok
+ALTER SYSTEM SET parallel_setup_cost = 50;  -- ok
+ALTER SYSTEM RESET parallel_setup_cost;  -- ok
+SET parallel_tuple_cost = 50;  -- ok
+RESET parallel_tuple_cost;  -- ok
+ALTER SYSTEM SET parallel_tuple_cost = 50;  -- ok
+ALTER SYSTEM RESET parallel_tuple_cost;  -- ok
+SET random_page_cost = 50;  -- ok
+RESET random_page_cost;  -- ok
+ALTER SYSTEM SET random_page_cost = 50;  -- ok
+ALTER SYSTEM RESET random_page_cost;  -- ok
+SET seq_page_cost = 50;  -- ok
+RESET seq_page_cost;  -- ok
+ALTER SYSTEM SET seq_page_cost = 50;  -- ok
+ALTER SYSTEM RESET seq_page_cost;  -- ok
+-- PGC_USERSET / GUC_INTERNAL_SETTINGS / QUERY_TUNING_GEQO
+SET geqo = ON;  -- ok
+RESET geqo;  -- ok
+ALTER SYSTEM SET geqo = ON;  -- ok
+ALTER SYSTEM RESET geqo;  -- ok
+SET geqo_effort = 5;  -- ok
+RESET geqo_effort;  -- ok
+ALTER SYSTEM SET geqo_effort = 5;  -- ok
+ALTER SYSTEM RESET geqo_effort;  -- ok
+SET geqo_generations = 50;  -- ok
+RESET geqo_generations;  -- ok
+ALTER SYSTEM SET geqo_generations = 50;  -- ok
+ALTER SYSTEM RESET geqo_generations;  -- ok
+SET geqo_pool_size = 50;  -- ok
+RESET geqo_pool_size;  -- ok
+ALTER SYSTEM SET geqo_pool_size = 50;  -- ok
+ALTER SYSTEM RESET geqo_pool_size;  -- ok
+SET geqo_seed = 0;  -- ok
+RESET geqo_seed;  -- ok
+ALTER SYSTEM SET geqo_seed = 0;  -- ok
+ALTER SYSTEM RESET geqo_seed;  -- ok
+SET geqo_selection_bias = 2;  -- ok
+RESET geqo_selection_bias;  -- ok
+ALTER SYSTEM SET geqo_selection_bias = 2;  -- ok
+ALTER SYSTEM RESET geqo_selection_bias;  -- ok
+SET geqo_threshold = 1073741824;  -- ok
+RESET geqo_threshold;  -- ok
+ALTER SYSTEM SET geqo_threshold = 1073741824;  -- ok
+ALTER SYSTEM RESET geqo_threshold;  -- ok
+-- PGC_USERSET / GUC_INTERNAL_SETTINGS / QUERY_TUNING_METHOD
+SET enable_async_append = ON;  -- ok
+RESET enable_async_append;  -- ok
+ALTER SYSTEM SET enable_async_append = ON;  -- ok
+ALTER SYSTEM RESET enable_async_append;  -- ok
+SET enable_bitmapscan = ON;  -- ok
+RESET enable_bitmapscan;  -- ok
+ALTER SYSTEM SET enable_bitmapscan = ON;  -- ok
+ALTER SYSTEM RESET enable_bitmapscan;  -- ok
+SET enable_gathermerge = ON;  -- ok
+RESET enable_gathermerge;  -- ok
+ALTER SYSTEM SET enable_gathermerge = ON;  -- ok
+ALTER SYSTEM RESET enable_gathermerge;  -- ok
+SET enable_hashagg = ON;  -- ok
+RESET enable_hashagg;  -- ok
+ALTER SYSTEM SET enable_hashagg = ON;  -- ok
+ALTER SYSTEM RESET enable_hashagg;  -- ok
+SET enable_hashjoin = ON;  -- ok
+RESET enable_hashjoin;  -- ok
+ALTER SYSTEM SET enable_hashjoin = ON;  -- ok
+ALTER SYSTEM RESET enable_hashjoin;  -- ok
+SET enable_incremental_sort = ON;  -- ok
+RESET enable_incremental_sort;  -- ok
+ALTER SYSTEM SET enable_incremental_sort = ON;  -- ok
+ALTER SYSTEM RESET enable_incremental_sort;  -- ok
+SET enable_indexonlyscan = ON;  -- ok
+RESET enable_indexonlyscan;  -- ok
+ALTER SYSTEM SET enable_indexonlyscan = ON;  -- ok
+ALTER SYSTEM RESET enable_indexonlyscan;  -- ok
+SET enable_indexscan = ON;  -- ok
+RESET enable_indexscan;  -- ok
+ALTER SYSTEM SET enable_indexscan = ON;  -- ok
+ALTER SYSTEM RESET enable_indexscan;  -- ok
+SET enable_material = ON;  -- ok
+RESET enable_material;  -- ok
+ALTER SYSTEM SET enable_material = ON;  -- ok
+ALTER SYSTEM RESET enable_material;  -- ok
+SET enable_mergejoin = ON;  -- ok
+RESET enable_mergejoin;  -- ok
+ALTER SYSTEM SET enable_mergejoin = ON;  -- ok
+ALTER SYSTEM RESET enable_mergejoin;  -- ok
+SET enable_nestloop = ON;  -- ok
+RESET enable_nestloop;  -- ok
+ALTER SYSTEM SET enable_nestloop = ON;  -- ok
+ALTER SYSTEM RESET enable_nestloop;  -- ok
+SET enable_parallel_append = ON;  -- ok
+RESET enable_parallel_append;  -- ok
+ALTER SYSTEM SET enable_parallel_append = ON;  -- ok
+ALTER SYSTEM RESET enable_parallel_append;  -- ok
+SET enable_parallel_hash = ON;  -- ok
+RESET enable_parallel_hash;  -- ok
+ALTER SYSTEM SET enable_parallel_hash = ON;  -- ok
+ALTER SYSTEM RESET enable_parallel_hash;  -- ok
+SET enable_partition_pruning = ON;  -- ok
+RESET enable_partition_pruning;  -- ok
+ALTER SYSTEM SET enable_partition_pruning = ON;  -- ok
+ALTER SYSTEM RESET enable_partition_pruning;  -- ok
+SET enable_partitionwise_aggregate = ON;  -- ok
+RESET enable_partitionwise_aggregate;  -- ok
+ALTER SYSTEM SET enable_partitionwise_aggregate = ON;  -- ok
+ALTER SYSTEM RESET enable_partitionwise_aggregate;  -- ok
+SET enable_partitionwise_join = ON;  -- ok
+RESET enable_partitionwise_join;  -- ok
+ALTER SYSTEM SET enable_partitionwise_join = ON;  -- ok
+ALTER SYSTEM RESET enable_partitionwise_join;  -- ok
+SET enable_resultcache = ON;  -- ok
+RESET enable_resultcache;  -- ok
+ALTER SYSTEM SET enable_resultcache = ON;  -- ok
+ALTER SYSTEM RESET enable_resultcache;  -- ok
+SET enable_seqscan = ON;  -- ok
+RESET enable_seqscan;  -- ok
+ALTER SYSTEM SET enable_seqscan = ON;  -- ok
+ALTER SYSTEM RESET enable_seqscan;  -- ok
+SET enable_sort = ON;  -- ok
+RESET enable_sort;  -- ok
+ALTER SYSTEM SET enable_sort = ON;  -- ok
+ALTER SYSTEM RESET enable_sort;  -- ok
+SET enable_tidscan = ON;  -- ok
+RESET enable_tidscan;  -- ok
+ALTER SYSTEM SET enable_tidscan = ON;  -- ok
+ALTER SYSTEM RESET enable_tidscan;  -- ok
+-- PGC_USERSET / GUC_INTERNAL_SETTINGS / QUERY_TUNING_OTHER
+SET constraint_exclusion = 'partition';  -- ok
+RESET constraint_exclusion;  -- ok
+ALTER SYSTEM SET constraint_exclusion = 'partition';  -- ok
+ALTER SYSTEM RESET constraint_exclusion;  -- ok
+SET cursor_tuple_fraction = 0;  -- ok
+RESET cursor_tuple_fraction;  -- ok
+ALTER SYSTEM SET cursor_tuple_fraction = 0;  -- ok
+ALTER SYSTEM RESET cursor_tuple_fraction;  -- ok
+SET default_statistics_target = 5000;  -- ok
+RESET default_statistics_target;  -- ok
+ALTER SYSTEM SET default_statistics_target = 5000;  -- ok
+ALTER SYSTEM RESET default_statistics_target;  -- ok
+SET from_collapse_limit = 1073741824;  -- ok
+RESET from_collapse_limit;  -- ok
+ALTER SYSTEM SET from_collapse_limit = 1073741824;  -- ok
+ALTER SYSTEM RESET from_collapse_limit;  -- ok
+SET jit = ON;  -- ok
+RESET jit;  -- ok
+ALTER SYSTEM SET jit = ON;  -- ok
+ALTER SYSTEM RESET jit;  -- ok
+SET join_collapse_limit = 1073741824;  -- ok
+RESET join_collapse_limit;  -- ok
+ALTER SYSTEM SET join_collapse_limit = 1073741824;  -- ok
+ALTER SYSTEM RESET join_collapse_limit;  -- ok
+SET plan_cache_mode = 'force_generic_plan';  -- ok
+RESET plan_cache_mode;  -- ok
+ALTER SYSTEM SET plan_cache_mode = 'force_generic_plan';  -- ok
+ALTER SYSTEM RESET plan_cache_mode;  -- ok
+-- PGC_USERSET / GUC_INTERNAL_SETTINGS / REPLICATION_SENDING
+SET wal_sender_timeout = 50;  -- ok
+RESET wal_sender_timeout;  -- ok
+ALTER SYSTEM SET wal_sender_timeout = 50;  -- ok
+ALTER SYSTEM RESET wal_sender_timeout;  -- ok
+-- PGC_USERSET / GUC_INTERNAL_SETTINGS / RESOURCES_ASYNCHRONOUS
+SET backend_flush_after = 128;  -- ok
+RESET backend_flush_after;  -- ok
+ALTER SYSTEM SET backend_flush_after = 128;  -- ok
+ALTER SYSTEM RESET backend_flush_after;  -- ok
+SET max_parallel_maintenance_workers = 50;  -- ok
+RESET max_parallel_maintenance_workers;  -- ok
+ALTER SYSTEM SET max_parallel_maintenance_workers = 50;  -- ok
+ALTER SYSTEM RESET max_parallel_maintenance_workers;  -- ok
+SET max_parallel_workers = 50;  -- ok
+RESET max_parallel_workers;  -- ok
+ALTER SYSTEM SET max_parallel_workers = 50;  -- ok
+ALTER SYSTEM RESET max_parallel_workers;  -- ok
+SET max_parallel_workers_per_gather = 50;  -- ok
+RESET max_parallel_workers_per_gather;  -- ok
+ALTER SYSTEM SET max_parallel_workers_per_gather = 50;  -- ok
+ALTER SYSTEM RESET max_parallel_workers_per_gather;  -- ok
+SET parallel_leader_participation = ON;  -- ok
+RESET parallel_leader_participation;  -- ok
+ALTER SYSTEM SET parallel_leader_participation = ON;  -- ok
+ALTER SYSTEM RESET parallel_leader_participation;  -- ok
+-- PGC_USERSET / GUC_INTERNAL_SETTINGS / RESOURCES_MEM
+SET hash_mem_multiplier = 500;  -- ok
+RESET hash_mem_multiplier;  -- ok
+ALTER SYSTEM SET hash_mem_multiplier = 500;  -- ok
+ALTER SYSTEM RESET hash_mem_multiplier;  -- ok
+SET logical_decoding_work_mem = 1073741855;  -- ok
+RESET logical_decoding_work_mem;  -- ok
+ALTER SYSTEM SET logical_decoding_work_mem = 1073741855;  -- ok
+ALTER SYSTEM RESET logical_decoding_work_mem;  -- ok
+SET maintenance_work_mem = 1073742335;  -- ok
+RESET maintenance_work_mem;  -- ok
+ALTER SYSTEM SET maintenance_work_mem = 1073742335;  -- ok
+ALTER SYSTEM RESET maintenance_work_mem;  -- ok
+SET temp_buffers = 536870961;  -- ok
+RESET temp_buffers;  -- ok
+ALTER SYSTEM SET temp_buffers = 536870961;  -- ok
+ALTER SYSTEM RESET temp_buffers;  -- ok
+SET work_mem = 1073741855;  -- ok
+RESET work_mem;  -- ok
+ALTER SYSTEM SET work_mem = 1073741855;  -- ok
+ALTER SYSTEM RESET work_mem;  -- ok
+-- PGC_USERSET / GUC_INTERNAL_SETTINGS / RESOURCES_VACUUM_DELAY
+SET vacuum_cost_delay = 50;  -- ok
+RESET vacuum_cost_delay;  -- ok
+ALTER SYSTEM SET vacuum_cost_delay = 50;  -- ok
+ALTER SYSTEM RESET vacuum_cost_delay;  -- ok
+SET vacuum_cost_limit = 5000;  -- ok
+RESET vacuum_cost_limit;  -- ok
+ALTER SYSTEM SET vacuum_cost_limit = 5000;  -- ok
+ALTER SYSTEM RESET vacuum_cost_limit;  -- ok
+SET vacuum_cost_page_dirty = 50;  -- ok
+RESET vacuum_cost_page_dirty;  -- ok
+ALTER SYSTEM SET vacuum_cost_page_dirty = 50;  -- ok
+ALTER SYSTEM RESET vacuum_cost_page_dirty;  -- ok
+SET vacuum_cost_page_hit = 50;  -- ok
+RESET vacuum_cost_page_hit;  -- ok
+ALTER SYSTEM SET vacuum_cost_page_hit = 50;  -- ok
+ALTER SYSTEM RESET vacuum_cost_page_hit;  -- ok
+SET vacuum_cost_page_miss = 50;  -- ok
+RESET vacuum_cost_page_miss;  -- ok
+ALTER SYSTEM SET vacuum_cost_page_miss = 50;  -- ok
+ALTER SYSTEM RESET vacuum_cost_page_miss;  -- ok
+-- PGC_USERSET / GUC_INTERNAL_SETTINGS / UNGROUPED
+SET seed = 0;  -- ok
+RESET seed;  -- ok
+ALTER SYSTEM SET seed = 0;  -- fail, cannot be changed
+ALTER SYSTEM RESET seed;  -- fail, cannot be changed
+-- PGC_USERSET / GUC_INTERNAL_SETTINGS / WAL_SETTINGS
+SET commit_siblings = 50;  -- ok
+RESET commit_siblings;  -- ok
+ALTER SYSTEM SET commit_siblings = 50;  -- ok
+ALTER SYSTEM RESET commit_siblings;  -- ok
+SET synchronous_commit = 'remote_write';  -- ok
+RESET synchronous_commit;  -- ok
+ALTER SYSTEM SET synchronous_commit = 'remote_write';  -- ok
+ALTER SYSTEM RESET synchronous_commit;  -- ok
+SET wal_skip_threshold = 50;  -- ok
+RESET wal_skip_threshold;  -- ok
+ALTER SYSTEM SET wal_skip_threshold = 50;  -- ok
+ALTER SYSTEM RESET wal_skip_threshold;  -- ok
+-- PGC_USERSET / GUC_RESOURCE_USAGE / RESOURCES_ASYNCHRONOUS
+SET effective_io_concurrency = 0;  -- ok
+RESET effective_io_concurrency;  -- ok
+ALTER SYSTEM SET effective_io_concurrency = 0;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET effective_io_concurrency;  -- fail, tenant has insufficient privileges
+SET maintenance_io_concurrency = 0;  -- ok
+RESET maintenance_io_concurrency;  -- ok
+ALTER SYSTEM SET maintenance_io_concurrency = 0;  -- fail, tenant has insufficient privileges
+ALTER SYSTEM RESET maintenance_io_concurrency;  -- fail, tenant has insufficient privileges
+RESET statement_timeout;
+RESET SESSION AUTHORIZATION;
+DROP ROLE tenant;
-- 
2.21.1 (Apple Git-122.3)

