On Wed, Nov 8, 2023 at 7:40 AM Peter Smith <smithpb2...@gmail.com> wrote: > > FWIW, I am halfway through doing regex checking of the PG16 source for > all GUC names in messages to see what current styles are in use today. > > Not sure if those numbers will influence the decision. > > I hope I can post my findings today or tomorrow. >
Here are my findings from the current PG16 source messages. I used a regex search: ".*GUCNAME to find how each GUCNAME is used in the messages in *.c files. The GUC names are taken from the guc_tables.c code, so they are grouped accordingly below. ~TOTALS: messages where GUC names are QUOTED: - bool = 11 - int = 11 - real = 0 - string = 10 - enum = 7 TOTAL = 39 messages where GUC names are NOT QUOTED: - bool = 14 - int = 60 - real = 0 - string = 59 - enum = 31 TOTAL = 164 ~~~ Details are in the attached file. PSA. I've categorised them as being currently QUOTED, NOT QUOTED, and NONE (most are not used in any messages). Notice that NOT QUOTED is the far more common pattern, so my vote would be just to standardise on making everything this way. I know there was some concern raised about ambiguous words like "timezone" and "datestyle" etc but in practice, those are rare. Also, those GUCs are different in that they are written as camel-case (e.g. "DateStyle") in the guc_tables.c, so if they were also written camel-case in the messages that could remove ambiguities with normal words. YMMV. Anyway, I will await a verdict about what to do. ====== Kind Regards, Peter Smith. Fujitsu Australia
Hi I used regex search: ".*GUCNAME to find how each GUCNAME is used in messages in *.c files. GUC names are taken from the guc_tables.c code, so are grouped accordingly below. I've categorised them as being currently QUOTED, NOT QUOTED, and NONE (many are not used in any messages). ~TOTALS: messages where GUC names are quoted: - bool = 11 - int = 11 - real = 0 - string = 10 - enum = 7 - TOTAL = 39 messages where GUC names are NOT quoted: - bool = 14 - int = 60 - real = 0 - string = 59 - enum = 31 - TOTAL = 164 Details below... /////////////////////////// ------------------ ConfigureNamesBool ------------------ {"enable_seqscan", PGC_USERSET, QUERY_TUNING_METHOD, - NONE {"enable_indexscan", PGC_USERSET, QUERY_TUNING_METHOD, - NONE {"enable_indexonlyscan", PGC_USERSET, QUERY_TUNING_METHOD, - NONE {"enable_bitmapscan", PGC_USERSET, QUERY_TUNING_METHOD, - NONE {"enable_tidscan", PGC_USERSET, QUERY_TUNING_METHOD, - NONE {"enable_sort", PGC_USERSET, QUERY_TUNING_METHOD, - NONE {"enable_incremental_sort", PGC_USERSET, QUERY_TUNING_METHOD, - NONE {"enable_hashagg", PGC_USERSET, QUERY_TUNING_METHOD, - NONE {"enable_material", PGC_USERSET, QUERY_TUNING_METHOD, - NONE {"enable_memoize", PGC_USERSET, QUERY_TUNING_METHOD, - NONE {"enable_nestloop", PGC_USERSET, QUERY_TUNING_METHOD, - NONE {"enable_mergejoin", PGC_USERSET, QUERY_TUNING_METHOD, - NONE {"enable_hashjoin", PGC_USERSET, QUERY_TUNING_METHOD, - NONE {"enable_gathermerge", PGC_USERSET, QUERY_TUNING_METHOD, - NONE {"enable_partitionwise_join", PGC_USERSET, QUERY_TUNING_METHOD, - NONE {"enable_partitionwise_aggregate", PGC_USERSET, QUERY_TUNING_METHOD, - NONE {"enable_parallel_append", PGC_USERSET, QUERY_TUNING_METHOD, - NONE {"enable_parallel_hash", PGC_USERSET, QUERY_TUNING_METHOD, - NONE {"enable_partition_pruning", PGC_USERSET, QUERY_TUNING_METHOD, - NONE {"enable_presorted_aggregate", PGC_USERSET, QUERY_TUNING_METHOD, - NONE {"enable_async_append", PGC_USERSET, QUERY_TUNING_METHOD, - NONE {"geqo", PGC_USERSET, QUERY_TUNING_GEQO, - NONE {"is_superuser", PGC_INTERNAL, UNGROUPED, - NONE {"bonjour", PGC_POSTMASTER, CONN_AUTH_SETTINGS, - NONE {"track_commit_timestamp", PGC_POSTMASTER, REPLICATION_SENDING, - QUOTED errhint("Make sure the configuration parameter \"%s\" is set on the primary server.", "track_commit_timestamp") : errhint("Make sure the configuration parameter \"%s\" is set.", "track_commit_timestamp"))); {"ssl", PGC_SIGHUP, CONN_AUTH_SSL, - NOT QUOTED errhint("Set ssl = on in postgresql.conf."), {"ssl_passphrase_command_supports_reload", PGC_SIGHUP, CONN_AUTH_SSL, - NONE {"ssl_prefer_server_ciphers", PGC_SIGHUP, CONN_AUTH_SSL, - NONE {"fsync", PGC_SIGHUP, WAL_SETTINGS, - NONE {"zero_damaged_pages", PGC_SUSET, DEVELOPER_OPTIONS, - NOT QUOTED gettext_noop(... Setting " "zero_damaged_pages to true causes the system to instead report a "... {"ignore_invalid_pages", PGC_POSTMASTER, DEVELOPER_OPTIONS, - NOT QUOTED gettext_noop(... "Setting ignore_invalid_pages to true causes " {"full_page_writes", PGC_SIGHUP, WAL_SETTINGS, - NOT QUOTED errmsg("WAL generated with full_page_writes=off was replayed ""since last restartpoint"), errhint(... "Enable full_page_writes and run CHECKPOINT on the primary, ""and then try an online backup again."))); errmsg("WAL generated with full_page_writes=off was replayed ""during online backup"),\ errhint(... "Enable full_page_writes and run CHECKPOINT on the primary, " "and then try an online backup again."))); pg_fatal("full_page_writes must be enabled in the source server"); {"wal_log_hints", PGC_POSTMASTER, WAL_SETTINGS, - QUOTED, but this quotes everything -- not just the GUC name "target server needs to use either data checksums or \"wal_log_hints = on\""); {"wal_init_zero", PGC_SUSET, WAL_SETTINGS, - NONE {"wal_recycle", PGC_SUSET, WAL_SETTINGS, - NONE {"log_checkpoints", PGC_SIGHUP, LOGGING_WHAT, - NONE {"log_connections", PGC_SU_BACKEND, LOGGING_WHAT, - NONE {"log_disconnections", PGC_SU_BACKEND, LOGGING_WHAT, - NONE {"log_replication_commands", PGC_SUSET, LOGGING_WHAT, - NONE {"debug_assertions", PGC_INTERNAL, PRESET_OPTIONS, - NONE {"exit_on_error", PGC_USERSET, ERROR_HANDLING_OPTIONS, - NONE {"restart_after_crash", PGC_SIGHUP, ERROR_HANDLING_OPTIONS, - NOT QUOTED (errmsg("shutting down because restart_after_crash is off"))); {"remove_temp_files_after_crash", PGC_SIGHUP, DEVELOPER_OPTIONS, - NONE {"send_abort_for_crash", PGC_SIGHUP, DEVELOPER_OPTIONS, - NONE {"send_abort_for_kill", PGC_SIGHUP, DEVELOPER_OPTIONS, - NONE {"log_duration", PGC_SUSET, LOGGING_WHAT, - NONE {"debug_print_parse", PGC_USERSET, LOGGING_WHAT, - NONE {"debug_print_rewritten", PGC_USERSET, LOGGING_WHAT, - NONE {"debug_print_plan", PGC_USERSET, LOGGING_WHAT, - NONE {"debug_pretty_print", PGC_USERSET, LOGGING_WHAT, - NONE {"log_parser_stats", PGC_SUSET, STATS_MONITORING, - QUOTED GUC_check_errdetail("Cannot enable \"log_statement_stats\" when ""\"log_parser_stats\", \"log_planner_stats\", ""or \"log_executor_stats\" is true."); {"log_planner_stats", PGC_SUSET, STATS_MONITORING, - QUOTED GUC_check_errdetail("Cannot enable \"log_statement_stats\" when ""\"log_parser_stats\", \"log_planner_stats\", ""or \"log_executor_stats\" is true."); {"log_executor_stats", PGC_SUSET, STATS_MONITORING, - QUOTED GUC_check_errdetail("Cannot enable \"log_statement_stats\" when ""\"log_parser_stats\", \"log_planner_stats\", ""or \"log_executor_stats\" is true.") {"log_statement_stats", PGC_SUSET, STATS_MONITORING, - QUOTED GUC_check_errdetail("Cannot enable parameter when \"log_statement_stats\" is true."); GUC_check_errdetail("Cannot enable \"log_statement_stats\" when ""\"log_parser_stats\", \"log_planner_stats\", ""or \"log_executor_stats\" is true."); {"log_btree_build_stats", PGC_SUSET, DEVELOPER_OPTIONS, - NONE {"track_activities", PGC_SUSET, STATS_CUMULATIVE, - NONE {"track_counts", PGC_SUSET, STATS_CUMULATIVE, - NONE {"track_io_timing", PGC_SUSET, STATS_CUMULATIVE, - NONE {"track_wal_io_timing", PGC_SUSET, STATS_CUMULATIVE, - NONE {"update_process_title", PGC_SUSET, PROCESS_TITLE, - NONE {"autovacuum", PGC_SIGHUP, AUTOVACUUM, - NONE {"trace_notify", PGC_USERSET, DEVELOPER_OPTIONS, - NONE {"trace_locks", PGC_SUSET, DEVELOPER_OPTIONS, - NONE {"trace_userlocks", PGC_SUSET, DEVELOPER_OPTIONS, - NONE {"trace_lwlocks", PGC_SUSET, DEVELOPER_OPTIONS, - NONE {"debug_deadlocks", PGC_SUSET, DEVELOPER_OPTIONS, - NONE {"log_lock_waits", PGC_SUSET, LOGGING_WHAT, - NONE {"log_recovery_conflict_waits", PGC_SIGHUP, LOGGING_WHAT, - NONE {"log_hostname", PGC_SIGHUP, LOGGING_WHAT, - NONE {"transform_null_equals", PGC_USERSET, COMPAT_OPTIONS_CLIENT, - NONE {"db_user_namespace", PGC_SIGHUP, CONN_AUTH_AUTH, - QUOTED errmsg("MD5 authentication is not supported when \"db_user_namespace\" is enabled"))) errmsg("MD5 authentication is not supported when \"db_user_namespace\" is enabled"), *err_msg = "MD5 authentication is not supported when \"db_user_namespace\" is enabled"; {"default_transaction_read_only", PGC_USERSET, CLIENT_CONN_STATEMENT, - NONE {"transaction_read_only", PGC_USERSET, CLIENT_CONN_STATEMENT, - NONE {"default_transaction_deferrable", PGC_USERSET, CLIENT_CONN_STATEMENT, - NONE {"transaction_deferrable", PGC_USERSET, CLIENT_CONN_STATEMENT, - NONE {"row_security", PGC_USERSET, CLIENT_CONN_STATEMENT, - NONE {"check_function_bodies", PGC_USERSET, CLIENT_CONN_STATEMENT, - NONE {"array_nulls", PGC_USERSET, COMPAT_OPTIONS_PREVIOUS, - NONE {"default_with_oids", PGC_USERSET, COMPAT_OPTIONS_PREVIOUS, - NONE {"logging_collector", PGC_POSTMASTER, LOGGING_WHERE, - NONE {"log_truncate_on_rotation", PGC_SIGHUP, LOGGING_WHERE, - NONE {"trace_sort", PGC_USERSET, DEVELOPER_OPTIONS, - NONE {"trace_syncscan", PGC_USERSET, DEVELOPER_OPTIONS, - NONE "optimize_bounded_sort", PGC_USERSET, QUERY_TUNING_METHOD, - NONE {"wal_debug", PGC_SUSET, DEVELOPER_OPTIONS, - NONE {"integer_datetimes", PGC_INTERNAL, PRESET_OPTIONS, - NOT QUOTED pg_log_error("could not determine server setting for integer_datetimes"); pg_log_error("integer_datetimes compile flag does not match server"); {"krb_caseins_users", PGC_SIGHUP, CONN_AUTH_AUTH, - NONE {"gss_accept_delegation", PGC_SIGHUP, CONN_AUTH_AUTH, - NONE {"escape_string_warning", PGC_USERSET, COMPAT_OPTIONS_PREVIOUS, - NONE {"standard_conforming_strings", PGC_USERSET, COMPAT_OPTIONS_PREVIOUS, - NOT QUOTED errdetail("String constants with Unicode escapes cannot be used when standard_conforming_strings is off."), pg_log_info("saving standard_conforming_strings = %s", stdstrings); {"synchronize_seqscans", PGC_USERSET, COMPAT_OPTIONS_PREVIOUS, - NONE {"recovery_target_inclusive", PGC_POSTMASTER, WAL_RECOVERY_TARGET, - NONE {"hot_standby", PGC_POSTMASTER, REPLICATION_STANDBY, - NONE {"hot_standby_feedback", PGC_SIGHUP, REPLICATION_STANDBY, - NONE {"in_hot_standby", PGC_INTERNAL, PRESET_OPTIONS, - NONE {"allow_system_table_mods", PGC_SUSET, DEVELOPER_OPTIONS, - NONE {"ignore_system_indexes", PGC_BACKEND, DEVELOPER_OPTIONS, - NONE {"allow_in_place_tablespaces", PGC_SUSET, DEVELOPER_OPTIONS, - NOT QUOTED errhint("Remove those directories, or set allow_in_place_tablespaces to ON transiently to let recovery complete."))); {"lo_compat_privileges", PGC_SUSET, COMPAT_OPTIONS_PREVIOUS, - NONE {"quote_all_identifiers", PGC_USERSET, COMPAT_OPTIONS_PREVIOUS, - NONE {"data_checksums", PGC_INTERNAL, PRESET_OPTIONS, - NONE {"syslog_sequence_numbers", PGC_SIGHUP, LOGGING_WHERE, - NONE {"syslog_split_messages", PGC_SIGHUP, LOGGING_WHERE, - NONE {"parallel_leader_participation", PGC_USERSET, RESOURCES_ASYNCHRONOUS, - NONE {"jit", PGC_USERSET, QUERY_TUNING_OTHER, - NONE {"jit_debugging_support", PGC_SU_BACKEND, DEVELOPER_OPTIONS, - NONE {"jit_dump_bitcode", PGC_SUSET, DEVELOPER_OPTIONS, - NONE {"jit_expressions", PGC_USERSET, DEVELOPER_OPTIONS, - NONE {"jit_profiling_support", PGC_SU_BACKEND, DEVELOPER_OPTIONS, - NONE {"jit_tuple_deforming", PGC_USERSET, DEVELOPER_OPTIONS, - NONE {"data_sync_retry", PGC_POSTMASTER, ERROR_HANDLING_OPTIONS, - NONE {"wal_receiver_create_temp_slot", PGC_SIGHUP, REPLICATION_STANDBY, - NONE ~~~ ----------------- ConfigureNamesInt ----------------- {"archive_timeout", PGC_SIGHUP, WAL_ARCHIVING, - NOT QUOTED elog(DEBUG1, "write-ahead log switch forced (archive_timeout=%d)", XLogArchiveTimeout); {"post_auth_delay", PGC_BACKEND, DEVELOPER_OPTIONS, - NONE {"default_statistics_target", PGC_USERSET, QUERY_TUNING_OTHER, - NONE {"from_collapse_limit", PGC_USERSET, QUERY_TUNING_OTHER, - NONE {"join_collapse_limit", PGC_USERSET, QUERY_TUNING_OTHER, - NONE {"geqo_threshold", PGC_USERSET, QUERY_TUNING_GEQO, - NONE {"geqo_effort", PGC_USERSET, QUERY_TUNING_GEQO, - NONE {"geqo_pool_size", PGC_USERSET, QUERY_TUNING_GEQO, - NONE {"geqo_generations", PGC_USERSET, QUERY_TUNING_GEQO, - NONE {"deadlock_timeout", PGC_SUSET, LOCK_MANAGEMENT, - NONE {"max_standby_archive_delay", PGC_SIGHUP, REPLICATION_STANDBY, - NONE {"max_standby_streaming_delay", PGC_SIGHUP, REPLICATION_STANDBY, - NONE {"recovery_min_apply_delay", PGC_SIGHUP, REPLICATION_STANDBY, - NONE {"wal_receiver_status_interval", PGC_SIGHUP, REPLICATION_STANDBY, - NONE {"wal_receiver_timeout", PGC_SIGHUP, REPLICATION_STANDBY, - NONE {"max_connections", PGC_POSTMASTER, CONN_AUTH_SETTINGS, - NOT QUOTED errhint(...consumption of semaphores by reducing its max_connections parameter.\n" "The PostgreSQL documentation contains more information about "... errhint("This error usually means that PostgreSQL's request ... perhaps by reducing shared_buffers or ""max_connections.", write_stderr("%s: superuser_reserved_connections (%d) plus reserved_connections (%d) must be less than max_connections (%d)\n", errhint("You might need to run fewer transactions at a time or increase max_connections."))); errhint("You might need to run fewer transactions at a time or increase max_connections."))); printf(_("selecting default max_connections ... ")); {"superuser_reserved_connections", PGC_POSTMASTER, CONN_AUTH_SETTINGS, - NOT QUOTED write_stderr("%s: superuser_reserved_connections (%d) plus reserved_connections (%d) must be less than max_connections (%d)\n", {"reserved_connections", PGC_POSTMASTER, CONN_AUTH_SETTINGS, - NOT QUOTED write_stderr("%s: superuser_reserved_connections (%d) plus reserved_connections (%d) must be less than max_connections (%d)\n", {"min_dynamic_shared_memory", PGC_POSTMASTER, RESOURCES_MEM, - NONE {"shared_buffers", PGC_POSTMASTER, RESOURCES_MEM, - NOT QUOTED errhint("This error usually means that PostgreSQL's request "..."memory usage, perhaps by reducing shared_buffers or ""max_connections.", printf(_("selecting default shared_buffers ... ")); {"vacuum_buffer_usage_limit", PGC_USERSET, RESOURCES_MEM, - QUOTED GUC_check_errdetail("\"vacuum_buffer_usage_limit\" must be 0 or between %d kB and %d kB",MIN_BAS_VAC_RING_SIZE_KB, MAX_BAS_VAC_RING_SIZE_KB); {"shared_memory_size", PGC_INTERNAL, PRESET_OPTIONS, - NONE {"shared_memory_size_in_huge_pages", PGC_INTERNAL, PRESET_OPTIONS, - NONE {"temp_buffers", PGC_USERSET, RESOURCES_MEM, - QUOTED GUC_check_errdetail("\"temp_buffers\" cannot be changed after any temporary tables have been accessed in the session."); {"port", PGC_POSTMASTER, CONN_AUTH_SETTINGS, - NONE? {"unix_socket_permissions", PGC_POSTMASTER, CONN_AUTH_SETTINGS, - NONE {"log_file_mode", PGC_SIGHUP, LOGGING_WHERE, - NONE {"data_directory_mode", PGC_INTERNAL, PRESET_OPTIONS, - NONE {"work_mem", PGC_USERSET, RESOURCES_MEM, - NOT QUOTED gettext_noop("Multiple of work_mem to use for hash tables."), {"maintenance_work_mem", PGC_USERSET, RESOURCES_MEM, - NOT QUOTED errhint("Reduce maintenance_work_mem."))); - QUOTED errhint("Consider increasing configuration parameter \"maintenance_work_mem\" or \"autovacuum_work_mem\".\n" {"logical_decoding_work_mem", PGC_USERSET, RESOURCES_MEM, - NONE {"max_stack_depth", PGC_SUSET, RESOURCES_MEM, - QUOTED errhint("Increase the configuration parameter \"max_stack_depth\" (currently %dkB), ""after ensuring the platform's stack depth limit is adequate.", GUC_check_errdetail("\"max_stack_depth\" must not exceed %ldkB.",(stack_rlimit - STACK_DEPTH_SLOP) / 1024L); {"temp_file_limit", PGC_SUSET, RESOURCES_DISK, - NONE {"vacuum_cost_page_hit", PGC_USERSET, RESOURCES_VACUUM_DELAY, - NONE {"vacuum_cost_page_miss", PGC_USERSET, RESOURCES_VACUUM_DELAY, - NONE {"vacuum_cost_page_dirty", PGC_USERSET, RESOURCES_VACUUM_DELAY, - NONE {"vacuum_cost_limit", PGC_USERSET, RESOURCES_VACUUM_DELAY, - NONE {"autovacuum_vacuum_cost_limit", PGC_SIGHUP, AUTOVACUUM, - NONE {"max_files_per_process", PGC_POSTMASTER, RESOURCES_KERNEL, - NONE {"max_prepared_transactions", PGC_POSTMASTER, RESOURCES_MEM, - NOT QUOTED errhint("Set max_prepared_transactions to a nonzero value."))); errhint("Increase max_prepared_transactions (currently %d).", max_prepared_xacts))); errhint("Increase max_prepared_transactions (currently %d).", max_prepared_xacts))); {"trace_lock_oidmin", PGC_SUSET, DEVELOPER_OPTIONS, - NONE {"trace_lock_table", PGC_SUSET, DEVELOPER_OPTIONS, - NONE {"statement_timeout", PGC_USERSET, CLIENT_CONN_STATEMENT, - NONE {"lock_timeout", PGC_USERSET, CLIENT_CONN_STATEMENT, - NONE {"idle_in_transaction_session_timeout", PGC_USERSET, CLIENT_CONN_STATEMENT, - NONE {"idle_session_timeout", PGC_USERSET, CLIENT_CONN_STATEMENT, - NONE {"vacuum_freeze_min_age", PGC_USERSET, CLIENT_CONN_STATEMENT, - NONE {"vacuum_freeze_table_age", PGC_USERSET, CLIENT_CONN_STATEMENT, - NONE {"vacuum_multixact_freeze_min_age", PGC_USERSET, CLIENT_CONN_STATEMENT, - NOT QUOTED errhint("Execute a database-wide VACUUM in database with OID %u with reduced vacuum_multixact_freeze_min_age and... errhint("Execute a database-wide VACUUM in that database with reduced vacuum_multixact_freeze_min_age and... {"vacuum_multixact_freeze_table_age", PGC_USERSET, CLIENT_CONN_STATEMENT, - NOT QUOTED errhint(... with OID %u with reduced vacuum_multixact_freeze_min_age and vacuum_multixact_freeze_table_age settings.", errhint(... with reduced vacuum_multixact_freeze_min_age and vacuum_multixact_freeze_table_age settings."))); {"vacuum_failsafe_age", PGC_USERSET, CLIENT_CONN_STATEMENT, - NONE {"vacuum_multixact_failsafe_age", PGC_USERSET, CLIENT_CONN_STATEMENT, - NONE {"max_locks_per_transaction", PGC_POSTMASTER, LOCK_MANAGEMENT, - NOT QUOTED errhint("You might need to increase %s.", "max_locks_per_transaction"))); errhint("You might need to increase %s.", "max_locks_per_transaction"))); errhint("You might need to increase %s.", "max_locks_per_transaction"))); errhint("You might need to increase %s.", "max_locks_per_transaction"))); errhint("You might need to increase %s.", "max_locks_per_transaction"))); errhint("You might need to increase %s.", "max_locks_per_transaction"))); gettext_noop(... "max_locks_per_transaction objects per server process or prepared "...) {"max_pred_locks_per_transaction", PGC_POSTMASTER, LOCK_MANAGEMENT, - NOT QUOTED errhint("You might need to increase %s.", "max_pred_locks_per_transaction"))); errhint("You might need to increase %s.", "max_pred_locks_per_transaction"))); errhint("You might need to increase %s.", "max_pred_locks_per_transaction"))); gettext_noop(..."at most max_pred_locks_per_transaction objects per server process "...) {"max_pred_locks_per_relation", PGC_SIGHUP, LOCK_MANAGEMENT, - NONE {"max_pred_locks_per_page", PGC_SIGHUP, LOCK_MANAGEMENT, - NONE {"authentication_timeout", PGC_SIGHUP, CONN_AUTH_AUTH, - NONE {"pre_auth_delay", PGC_SIGHUP, DEVELOPER_OPTIONS, - NONE {"wal_decode_buffer_size", PGC_POSTMASTER, WAL_RECOVERY, - NONE {"wal_keep_size", PGC_SIGHUP, REPLICATION_SENDING, - NONE {"min_wal_size", PGC_SIGHUP, WAL_CHECKPOINTS, - QUOTED errmsg("\"min_wal_size\" must be at least twice \"wal_segment_size\""))); {"max_wal_size", PGC_SIGHUP, WAL_CHECKPOINTS, - QUOTED errmsg("\"max_wal_size\" must be at least twice \"wal_segment_size\""))); errhint("Consider increasing the configuration parameter \"max_wal_size\"."))); {"checkpoint_timeout", PGC_SIGHUP, WAL_CHECKPOINTS, - NONE {"checkpoint_warning", PGC_SIGHUP, WAL_CHECKPOINTS, - NONE {"checkpoint_flush_after", PGC_SIGHUP, WAL_CHECKPOINTS, - NONE {"wal_buffers", PGC_POSTMASTER, WAL_SETTINGS, - NONE {"wal_writer_delay", PGC_SIGHUP, WAL_SETTINGS, - NONE {"wal_writer_flush_after", PGC_SIGHUP, WAL_SETTINGS, - NONE {"wal_skip_threshold", PGC_USERSET, WAL_SETTINGS, - NONE {"max_wal_senders", PGC_POSTMASTER, REPLICATION_SENDING, - NOT QUOTED (errmsg("WAL streaming (max_wal_senders > 0) requires wal_level \"replica\" or \"logical\""))); errmsg("number of requested standby connections exceeds max_wal_senders (currently %d)", max_wal_senders))); {"max_replication_slots", PGC_POSTMASTER, REPLICATION_SENDING, - NOT QUOTED errhint("Free one or increase max_replication_slots."))); errmsg("replication slots can only be used if max_replication_slots > 0"))); errhint("Increase max_replication_slots and try again."))); errmsg("cannot start logical replication workers when max_replication_slots = 0"))); errmsg("cannot query or manipulate replication origin when max_replication_slots = 0"))); errmsg("could not find free replication state, increase max_replication_slots"))); errhint("Increase max_replication_slots and try again."))); errhint("Increase max_replication_slots and try again."))); {"max_slot_wal_keep_size", PGC_SIGHUP, REPLICATION_SENDING, - NOT QUOTED hint ? errhint("You might need to increase %s.", "max_slot_wal_keep_size") : 0); {"wal_sender_timeout", PGC_USERSET, REPLICATION_SENDING, - NONE {"commit_delay", PGC_SUSET, WAL_SETTINGS, - NOT QUOTED gettext_noop("Sets the minimum number of concurrent open transactions ""required before performing commit_delay.") {"commit_siblings", PGC_USERSET, WAL_SETTINGS, - NONE {"extra_float_digits", PGC_USERSET, CLIENT_CONN_LOCALE, - NONE {"log_min_duration_sample", PGC_SUSET, LOGGING_WHEN, - NOT QUOTED gettext_noop("Fraction of statements exceeding log_min_duration_sample to be logged."), {"log_min_duration_statement", PGC_SUSET, LOGGING_WHEN, - NONE {"log_autovacuum_min_duration", PGC_SIGHUP, LOGGING_WHAT, - NONE {"log_parameter_max_length", PGC_SUSET, LOGGING_WHAT, - NONE {"log_parameter_max_length_on_error", PGC_USERSET, LOGGING_WHAT, - NONE {"bgwriter_delay", PGC_SIGHUP, RESOURCES_BGWRITER, - NONE {"bgwriter_lru_maxpages", PGC_SIGHUP, RESOURCES_BGWRITER, - NONE {"bgwriter_flush_after", PGC_SIGHUP, RESOURCES_BGWRITER, - NONE {"effective_io_concurrency", - NOT QUOTED GUC_check_errdetail("effective_io_concurrency must be set to 0 on platforms that lack posix_fadvise()."); gettext_noop("A variant of effective_io_concurrency that is used for maintenance work."), {"maintenance_io_concurrency", - NOT QUOTED GUC_check_errdetail("maintenance_io_concurrency must be set to 0 on platforms that lack posix_fadvise()."); {"backend_flush_after", PGC_USERSET, RESOURCES_ASYNCHRONOUS, - NONE {"max_worker_processes", - NOT QUOTED, but note probably some of these should be making use of common style "You may need to increase %s." errhint("You may need to increase max_worker_processes."))); errhint("Consider increasing configuration parameter \"max_worker_processes\"."))); (errmsg("inconsistent background worker state (max_worker_processes=%d, total_slots=%d)",...))); errhint("Consider increasing the configuration parameter \"max_worker_processes\"."))); errhint("You might need to increase %s.", "max_worker_processes"))); errhint("You may need to increase max_worker_processes."))); {"max_logical_replication_workers", - NOT QUOTED errhint("You might need to increase %s.", "max_logical_replication_workers"))); {"max_sync_workers_per_subscription", - NONE {"max_parallel_apply_workers_per_subscription", - NONE {"log_rotation_age", PGC_SIGHUP, LOGGING_WHERE, - NONE {"log_rotation_size", PGC_SIGHUP, LOGGING_WHERE, - NONE {"max_function_args", PGC_INTERNAL, PRESET_OPTIONS, - NONE {"max_index_keys", PGC_INTERNAL, PRESET_OPTIONS, - NONE {"max_identifier_length", PGC_INTERNAL, PRESET_OPTIONS, - NONE {"block_size", PGC_INTERNAL, PRESET_OPTIONS, - NONE {"segment_size", PGC_INTERNAL, PRESET_OPTIONS, - NONE {"wal_block_size", PGC_INTERNAL, PRESET_OPTIONS, - NONE {"wal_retrieve_retry_interval", PGC_SIGHUP, REPLICATION_STANDBY, - NONE {"wal_segment_size", PGC_INTERNAL, PRESET_OPTIONS, - QUOTED errmsg("\"min_wal_size\" must be at least twice \"wal_segment_size\""))); errmsg("\"max_wal_size\" must be at least twice \"wal_segment_size\""))); {"autovacuum_naptime", PGC_SIGHUP, AUTOVACUUM, - NONE {"autovacuum_vacuum_threshold", PGC_SIGHUP, AUTOVACUUM, - NONE {"autovacuum_vacuum_insert_threshold", PGC_SIGHUP, AUTOVACUUM, - NONE {"autovacuum_analyze_threshold", PGC_SIGHUP, AUTOVACUUM, - NONE {"autovacuum_freeze_max_age", PGC_POSTMASTER, AUTOVACUUM, - NONE {"autovacuum_multixact_freeze_max_age", PGC_POSTMASTER, AUTOVACUUM, - NONE {"autovacuum_max_workers", PGC_POSTMASTER, AUTOVACUUM, - NONE {"max_parallel_maintenance_workers", PGC_USERSET, RESOURCES_ASYNCHRONOUS, - NONE {"max_parallel_workers_per_gather", PGC_USERSET, RESOURCES_ASYNCHRONOUS, - NONE {"max_parallel_workers", PGC_USERSET, RESOURCES_ASYNCHRONOUS, - NONE {"autovacuum_work_mem", PGC_SIGHUP, RESOURCES_MEM, - QUOTED errhint("Consider increasing configuration parameter \"maintenance_work_mem\" or \"autovacuum_work_mem\".\n"...))); {"old_snapshot_threshold", PGC_POSTMASTER, RESOURCES_ASYNCHRONOUS, - NONE {"tcp_keepalives_idle", PGC_USERSET, CONN_AUTH_TCP, - NONE {"tcp_keepalives_interval", PGC_USERSET, CONN_AUTH_TCP, - NONE {"ssl_renegotiation_limit", PGC_USERSET, COMPAT_OPTIONS_PREVIOUS, - NONE {"tcp_keepalives_count", PGC_USERSET, CONN_AUTH_TCP, - NONE {"gin_fuzzy_search_limit", PGC_USERSET, CLIENT_CONN_OTHER, - NONE {"effective_cache_size", PGC_USERSET, QUERY_TUNING_COST, - NONE {"min_parallel_table_scan_size", PGC_USERSET, QUERY_TUNING_COST, - NONE {"min_parallel_index_scan_size", PGC_USERSET, QUERY_TUNING_COST, - NONE {"server_version_num", PGC_INTERNAL, PRESET_OPTIONS, - NONE {"log_temp_files", PGC_SUSET, LOGGING_WHAT, - NONE {"gin_pending_list_limit", PGC_USERSET, CLIENT_CONN_STATEMENT, - NONE {"tcp_user_timeout", PGC_USERSET, CONN_AUTH_TCP, - NOT QUOTED, althought I am not sure if this really is the GUC (errmsg("%s(%s) failed: %m", "getsockopt", "TCP_USER_TIMEOUT"))); (errmsg("%s(%s) failed: %m", "setsockopt", "TCP_USER_TIMEOUT"))); (errmsg("%s(%s) not supported", "setsockopt", "TCP_USER_TIMEOUT"))); {"huge_page_size", PGC_POSTMASTER, RESOURCES_MEM, - NOT QUOTED GUC_check_errdetail("huge_page_size must be 0 on this platform."); GUC_check_errdetail("huge_page_size must be 0 on this platform."); {"debug_discard_caches", PGC_SUSET, DEVELOPER_OPTIONS, - NONE {"client_connection_check_interval", PGC_USERSET, CONN_AUTH_TCP, - NOT QUOTED GUC_check_errdetail("client_connection_check_interval must be set to 0 on this platform."); {"log_startup_progress_interval", PGC_SIGHUP, LOGGING_WHEN, - NONE {"scram_iterations", PGC_USERSET, CONN_AUTH_AUTH, - NONE ~~~ ------------------ ConfigureNamesReal ------------------ {"seq_page_cost", PGC_USERSET, QUERY_TUNING_COST, - NONE {"random_page_cost", PGC_USERSET, QUERY_TUNING_COST, - NONE {"cpu_tuple_cost", PGC_USERSET, QUERY_TUNING_COST, - NONE {"cpu_index_tuple_cost", PGC_USERSET, QUERY_TUNING_COST, - NONE {"cpu_operator_cost", PGC_USERSET, QUERY_TUNING_COST, - NONE {"parallel_tuple_cost", PGC_USERSET, QUERY_TUNING_COST, - NONE {"parallel_setup_cost", PGC_USERSET, QUERY_TUNING_COST, - NONE {"jit_above_cost", PGC_USERSET, QUERY_TUNING_COST, - NONE {"jit_optimize_above_cost", PGC_USERSET, QUERY_TUNING_COST, - NONE {"jit_inline_above_cost", PGC_USERSET, QUERY_TUNING_COST, - NONE {"cursor_tuple_fraction", PGC_USERSET, QUERY_TUNING_OTHER, - NONE {"recursive_worktable_factor", PGC_USERSET, QUERY_TUNING_OTHER, - NONE {"geqo_selection_bias", PGC_USERSET, QUERY_TUNING_GEQO, - NONE {"geqo_seed", PGC_USERSET, QUERY_TUNING_GEQO, - NONE {"hash_mem_multiplier", PGC_USERSET, RESOURCES_MEM, - NONE {"bgwriter_lru_multiplier", PGC_SIGHUP, RESOURCES_BGWRITER, - NONE {"seed", PGC_USERSET, UNGROUPED, - NONE? {"vacuum_cost_delay", PGC_USERSET, RESOURCES_VACUUM_DELAY, - NONE {"autovacuum_vacuum_cost_delay", PGC_SIGHUP, AUTOVACUUM, - NONE {"autovacuum_vacuum_scale_factor", PGC_SIGHUP, AUTOVACUUM, - NONE {"autovacuum_vacuum_insert_scale_factor", PGC_SIGHUP, AUTOVACUUM, - NONE {"autovacuum_analyze_scale_factor", PGC_SIGHUP, AUTOVACUUM, - NONE {"checkpoint_completion_target", PGC_SIGHUP, WAL_CHECKPOINTS, - NONE {"log_statement_sample_rate", PGC_SUSET, LOGGING_WHEN, - NONE {"log_transaction_sample_rate", PGC_SUSET, LOGGING_WHEN, - NONE ~~~ -------------------- ConfigureNamesString -------------------- {"archive_command", PGC_SIGHUP, WAL_ARCHIVING, - NOT QUOTED errhint("Check that your archive_command is executing properly. " errmsg("both archive_command and archive_library set"), errdetail("Only one of archive_command, archive_library may be set."))); errmsg("both archive_command and archive_library set"), errdetail("Only one of archive_command, archive_library may be set."))); gettext_noop("Allows archiving of WAL files using archive_command."), - QUOTED gettext_noop("An empty string indicates that \"archive_command\" should be used.") {"archive_library", PGC_SIGHUP, WAL_ARCHIVING, - NOT QUOTED errmsg("both archive_command and archive_library set"), errdetail("Only one of archive_command, archive_library may be set."))); errmsg("both archive_command and archive_library set"), errdetail("Only one of archive_command, archive_library may be set."))) - QUOTED (errmsg("restarting archiver process because value of " "\"archive_library\" was changed"))); gettext_noop("This is used only if \"archive_library\" is not set.") {"restore_command", PGC_SIGHUP, WAL_ARCHIVE_RECOVERY, - NOT QUOTED errdetail("restore_command returned a zero exit status, but stat() failed."))); (errmsg("specified neither primary_conninfo nor restore_command"), errmsg("must specify restore_command when standby mode is not enabled"))); pg_fatal("restore_command is not set in the target cluster"); pg_log_debug("using for rewind restore_command = \'%s\'", pg_fatal("restore_command failed: %s", wait_result_to_str(rc)); {"archive_cleanup_command", PGC_SIGHUP, WAL_ARCHIVE_RECOVERY, - NONE {"recovery_end_command", PGC_SIGHUP, WAL_ARCHIVE_RECOVERY, - NOT QUOTED (errmsg("%s \"%s\": %s", commandName, command, wait_result_to_str(rc)))); {"recovery_target_timeline", PGC_POSTMASTER, WAL_RECOVERY_TARGET, - NOT QUOTED GUC_check_errdetail("recovery_target_timeline is not a valid number."); {"recovery_target", PGC_POSTMASTER, WAL_RECOVERY_TARGET, - NOT QUOTED errdetail("At most one of recovery_target, recovery_target_lsn, recovery_target_name, recovery_target_time, recovery_target_xid may be set."))); GUC_check_errdetail("%s is too long (maximum %d characters).", "recovery_target_name", MAXFNAMELEN - 1) GUC_check_errdetail("recovery_target_timeline is not a valid number."); {"recovery_target_xid", PGC_POSTMASTER, WAL_RECOVERY_TARGET, - NOT QUOTED errdetail("At most one of recovery_target, recovery_target_lsn, recovery_target_name, recovery_target_time, recovery_target_xid may be set."))); {"recovery_target_time", PGC_POSTMASTER, WAL_RECOVERY_TARGET, - NOT QUOTED errdetail("At most one of recovery_target, recovery_target_lsn, recovery_target_name, recovery_target_time, recovery_target_xid may be set."))); GUC_check_errdetail("recovery_target_timeline is not a valid number."); {"recovery_target_name", PGC_POSTMASTER, WAL_RECOVERY_TARGET, - NOT QUOTED errdetail("At most one of recovery_target, recovery_target_lsn, recovery_target_name, recovery_target_time, recovery_target_xid may be set."))); GUC_check_errdetail("%s is too long (maximum %d characters).", "recovery_target_name", MAXFNAMELEN - 1); {"recovery_target_lsn", PGC_POSTMASTER, WAL_RECOVERY_TARGET, - NOT QUOTED errdetail("At most one of recovery_target, recovery_target_lsn, recovery_target_name, recovery_target_time, recovery_target_xid may be set."))); {"primary_conninfo", PGC_SIGHUP, REPLICATION_STANDBY, - NOT QUOTED (errmsg("specified neither primary_conninfo nor restore_command"), {"primary_slot_name", PGC_SIGHUP, REPLICATION_STANDBY, - NONE {"client_encoding", PGC_USERSET, CLIENT_CONN_LOCALE, - QUOTED GUC_check_errdetail("Cannot change \"client_encoding\" now."); - NOT QUOTED errmsg("cannot change client_encoding during a parallel operation"))); {"log_line_prefix", PGC_SIGHUP, LOGGING_WHAT, - NONE {"log_timezone", PGC_SIGHUP, LOGGING_WHAT, - NONE {"DateStyle", PGC_USERSET, CLIENT_CONN_LOCALE, - QUOTED, and note the case is difference from the GUC GUC_check_errdetail("Conflicting \"datestyle\" specifications."); errhint("Perhaps you need a different \"datestyle\" setting."))); {"default_table_access_method", PGC_USERSET, CLIENT_CONN_STATEMENT, - NOT QUOTED GUC_check_errdetail("%s cannot be empty.", "default_table_access_method"); GUC_check_errdetail("%s is too long (maximum %d characters).", "default_table_access_method", NAMEDATALEN - 1); warn_or_exit_horribly(AH, "could not set default_table_access_method: %s", PQerrorMessage(AH->connection)); {"default_tablespace", PGC_USERSET, CLIENT_CONN_STATEMENT, - NOT QUOTED warn_or_exit_horribly(AH, "could not set default_tablespace to %s: %s", fmtId(want), PQerrorMessage(AH->connection)); {"temp_tablespaces", PGC_USERSET, CLIENT_CONN_STATEMENT, - NONE {"createrole_self_grant", PGC_USERSET, CLIENT_CONN_STATEMENT, - NONE {"dynamic_library_path", PGC_SUSET, CLIENT_CONN_OTHER, - QUOTED errmsg("zero-length component in parameter \"dynamic_library_path\""))); errmsg("component in parameter \"dynamic_library_path\" is not an absolute path"))); {"krb_server_keyfile", PGC_SIGHUP, CONN_AUTH_AUTH, - NONE {"bonjour_name", PGC_POSTMASTER, CONN_AUTH_SETTINGS, - NONE {"lc_messages", PGC_SUSET, CLIENT_CONN_LOCALE, - NOT QUOTED pg_fatal("failed to set lc_messages: %s", PQerrorMessage(conn)); {"lc_monetary", PGC_USERSET, CLIENT_CONN_LOCALE, - NONE {"lc_numeric", PGC_USERSET, CLIENT_CONN_LOCALE, - NONE {"lc_time", PGC_USERSET, CLIENT_CONN_LOCALE, - NONE {"session_preload_libraries", PGC_SUSET, CLIENT_CONN_PRELOAD, - NONE {"shared_preload_libraries", PGC_POSTMASTER, CLIENT_CONN_PRELOAD, - NOT QUOTED errmsg("pg_stat_statements must be loaded via shared_preload_libraries"))); errmsg("pg_stat_statements must be loaded via shared_preload_libraries"))); errmsg("pg_stat_statements must be loaded via shared_preload_libraries"))); errmsg("sepgsql must be loaded via shared_preload_libraries"))); errhint("Include the extension module that implements this resource manager in shared_preload_libraries."))); errdetail("Custom resource manager must be registered while initializing modules in shared_preload_libraries."))); errmsg("background worker \"%s\": must be registered in shared_preload_libraries", worker->bgw_name))); errdetail("\"%s\" must be loaded with shared_preload_libraries.", "test_slru"))) {"local_preload_libraries", PGC_USERSET, CLIENT_CONN_PRELOAD, - NONE {"search_path", PGC_USERSET, CLIENT_CONN_STATEMENT, - NOT QUOTED pg_log_error("could not clear search_path: %s", PQerrorMessage(conn)); pg_log_error("failed to set search_path: %s", PQerrorMessage(conn)); pg_log_error("could not clear search_path: %s", PQerrorMessage(tmpconn)); warn_or_exit_horribly(AH, "could not set search_path to \"%s\": %s", schemaName, PQerrorMessage(AH->connection)); pg_log_info("saving search_path = %s", path->data); pg_fatal("could not clear search_path: %s", PQresultErrorMessage(res)); pg_log_error("no pgbench_accounts table found in search_path"); {"server_encoding", PGC_INTERNAL, PRESET_OPTIONS, - NONE {"server_version", PGC_INTERNAL, PRESET_OPTIONS, - NONE {"role", PGC_USERSET, UNGROUPED, - NONE? {"session_authorization", PGC_USERSET, UNGROUPED, - NONE {"log_destination", PGC_SIGHUP, LOGGING_WHERE, - NONE {"log_directory", PGC_SIGHUP, LOGGING_WHERE, - NONE {"log_filename", PGC_SIGHUP, LOGGING_WHERE, - NOT QUOTED errmsg("the log_filename parameter must equal 'postgresql-%%Y-%%m-%%d_%%H%%M%%S.log'"))) {"syslog_ident", PGC_SIGHUP, LOGGING_WHERE, - NONE {"event_source", PGC_POSTMASTER, LOGGING_WHERE, - NONE {"TimeZone", PGC_USERSET, CLIENT_CONN_LOCALE, - NOT QUOTED, need to re-check are these really the GUC name elog(ERROR, "unrecognized timezone type %d", (int) tp->type); (errmsg_internal("timezone directory stack overflow"))); {"timezone_abbreviations", PGC_USERSET, CLIENT_CONN_LOCALE, - NONE {"unix_socket_group", PGC_POSTMASTER, CONN_AUTH_SETTINGS, - NOT QUOTED elog(WARNING, "configuration item unix_socket_group is not supported on this platform"); {"unix_socket_directories", PGC_POSTMASTER, CONN_AUTH_SETTINGS, - NONE {"listen_addresses", PGC_POSTMASTER, CONN_AUTH_SETTINGS, - NONE {"data_directory", PGC_POSTMASTER, FILE_LOCATIONS, - QUOTED write_stderr(... "This can be specified as \"data_directory\" in \"%s\", " ... {"config_file", PGC_POSTMASTER, FILE_LOCATIONS, - NONE {"hba_file", PGC_POSTMASTER, FILE_LOCATIONS, - QUOTED write_stderr(... "This can be specified as \"hba_file\" in \"%s\", "... {"ident_file", PGC_POSTMASTER, FILE_LOCATIONS, - QUOTED write_stderr(... "This can be specified as \"ident_file\" in \"%s\", "... {"external_pid_file", PGC_POSTMASTER, FILE_LOCATIONS, - NONE {"ssl_library", PGC_INTERNAL, PRESET_OPTIONS, - NONE {"ssl_cert_file", PGC_SIGHUP, CONN_AUTH_SSL, - NONE {"ssl_key_file", PGC_SIGHUP, CONN_AUTH_SSL, - NONE {"ssl_ca_file", PGC_SIGHUP, CONN_AUTH_SSL, - NONE {"ssl_crl_file", PGC_SIGHUP, CONN_AUTH_SSL, - NONE {"ssl_crl_dir", PGC_SIGHUP, CONN_AUTH_SSL, - NONE {"synchronous_standby_names", PGC_SIGHUP, REPLICATION_PRIMARY, - NOT QUOTED GUC_check_errdetail("synchronous_standby_names parser failed"); {"default_text_search_config", PGC_USERSET, CLIENT_CONN_LOCALE, - NONE {"ssl_ciphers", PGC_SIGHUP, CONN_AUTH_SSL, - NONE {"ssl_ecdh_curve", PGC_SIGHUP, CONN_AUTH_SSL, - NONE {"ssl_dh_params_file", PGC_SIGHUP, CONN_AUTH_SSL, - NONE {"ssl_passphrase_command", PGC_SIGHUP, CONN_AUTH_SSL, - NOT QUOTED gettext_noop("Controls whether ssl_passphrase_command is called during server reload."), (errmsg("ssl_passphrase_command setting ignored by ssl_passphrase_func module"))); {"application_name", PGC_USERSET, LOGGING_WHAT, - NONE {"cluster_name", PGC_POSTMASTER, PROCESS_TITLE, - NONE {"wal_consistency_checking", PGC_SUSET, DEVELOPER_OPTIONS, - NONE {"jit_provider", PGC_POSTMASTER, CLIENT_CONN_PRELOAD, - NONE {"backtrace_functions", PGC_SUSET, DEVELOPER_OPTIONS, - NONE {"debug_io_direct", PGC_POSTMASTER, DEVELOPER_OPTIONS, - NOT QUOTED GUC_check_errdetail("debug_io_direct is not supported on this platform.") GUC_check_errdetail("debug_io_direct is not supported for WAL because XLOG_BLCKSZ is too small"); GUC_check_errdetail("debug_io_direct is not supported for data because BLCKSZ is too small"); - QUOTED GUC_check_errdetail("invalid list syntax in parameter \"%s\"", "debug_io_direct"); ~~~ ------------------ ConfigureNamesEnum ------------------ {"backslash_quote", PGC_USERSET, COMPAT_OPTIONS_PREVIOUS, - NONE {"bytea_output", PGC_USERSET, CLIENT_CONN_STATEMENT, - NOT QUOTED elog(ERROR, "unrecognized bytea_output setting: %d", {"client_min_messages", PGC_USERSET, CLIENT_CONN_STATEMENT, - NONE {"compute_query_id", PGC_SUSET, STATS_MONITORING, - NONE {"constraint_exclusion", PGC_USERSET, QUERY_TUNING_OTHER, - NONE {"default_toast_compression", PGC_USERSET, CLIENT_CONN_STATEMENT, - NONE {"default_transaction_isolation", PGC_USERSET, CLIENT_CONN_STATEMENT, - QUOTED errdetail("\"default_transaction_isolation\" is set to \"serializable\"."), {"transaction_isolation", PGC_USERSET, CLIENT_CONN_STATEMENT, - QUOTED errdetail("\"default_transaction_isolation\" is set to \"serializable\"."), {"IntervalStyle", PGC_USERSET, CLIENT_CONN_LOCALE, - NONE {"icu_validation_level", PGC_USERSET, CLIENT_CONN_LOCALE, - QUOTED errhint("To disable ICU locale validation, set the parameter \"%s\" to \"%s\".", "icu_validation_level", "disabled"))); errhint("To disable ICU locale validation, set the parameter \"%s\" to \"%s\".", "icu_validation_level", "disabled"))); {"log_error_verbosity", PGC_SUSET, LOGGING_WHAT, - NONE {"log_min_messages", PGC_SUSET, LOGGING_WHEN, - NONE {"log_min_error_statement", PGC_SUSET, LOGGING_WHEN, - NONE {"log_statement", PGC_SUSET, LOGGING_WHAT, - NONE {"syslog_facility", PGC_SIGHUP, LOGGING_WHERE, - NONE {"session_replication_role", PGC_SUSET, CLIENT_CONN_STATEMENT, - NONE {"synchronous_commit", PGC_USERSET, WAL_SETTINGS, - NONE {"archive_mode", PGC_POSTMASTER, WAL_ARCHIVING, - NOT QUOTED errmsg("archive_mode enabled, yet archiving is not configured"))); {"recovery_target_action", PGC_POSTMASTER, WAL_RECOVERY_TARGET, - NONE {"trace_recovery_messages", PGC_SIGHUP, DEVELOPER_OPTIONS, - NONE {"track_functions", PGC_SUSET, STATS_CUMULATIVE, - NONE {"stats_fetch_consistency", PGC_USERSET, STATS_CUMULATIVE, - NONE {"wal_compression", PGC_SUSET, WAL_SETTINGS, - NONE {"wal_level", PGC_POSTMASTER, WAL_SETTINGS, - NOT QUOTED, and notice some of these option values are quoted and some are not errmsg("WAL was generated with wal_level=minimal, cannot continue recovering") errdetail("This happens if you temporarily set wal_level=minimal on the server."), errhint("Use a backup taken after setting wal_level to higher than minimal."))); errhint("wal_level must be set to \"replica\" or \"logical\" at server start."))); errhint("wal_level must be set to \"replica\" or \"logical\" at server start."))); errmsg("pg_log_standby_snapshot() can only be used if wal_level >= replica"))); errhint("wal_level must be set to \"replica\" or \"logical\" at server start."))); errmsg("wal_level is insufficient to publish logical changes"), errhint("Set wal_level to \"logical\" before creating subscriptions."))); (errmsg("WAL archival cannot be enabled when wal_level is \"minimal\""))); (errmsg("WAL streaming (max_wal_senders > 0) requires wal_level \"replica\" or \"logical\""))); errmsg("replication slots can only be used if wal_level >= replica"))); appendStringInfo(&err_detail, _("Logical decoding on standby requires wal_level >= logical on the primary server.")); errmsg("logical replication slot \"%s\" exists, but wal_level < logical", errhint("Change wal_level to be logical or higher."))); errmsg("physical replication slot \"%s\" exists, but wal_level < replica", errhint("Change wal_level to be replica or higher."))); errmsg("physical replication slot \"%s\" exists, but wal_level < replica", errhint("Change wal_level to be replica or higher."))); errmsg("logical decoding on standby requires wal_level >= logical on the primary"))); errmsg("logical decoding requires wal_level >= logical"))); errmsg("logical decoding on standby requires wal_level >= logical on the primary"))); {"dynamic_shared_memory_type", PGC_POSTMASTER, RESOURCES_MEM, - NONE {"shared_memory_type", PGC_POSTMASTER, RESOURCES_MEM, - NOT QUOTED errmsg("huge pages not supported with the current shared_memory_type setting"))); {"wal_sync_method", PGC_SIGHUP, WAL_SETTINGS, - NOT QUOTED elog(ERROR, "unrecognized wal_sync_method: %d", method); elog(PANIC, "unrecognized wal_sync_method: %d", sync_method); {"xmlbinary", PGC_USERSET, CLIENT_CONN_STATEMENT, - NONE {"xmloption", PGC_USERSET, CLIENT_CONN_STATEMENT, - NONE {"huge_pages", PGC_POSTMASTER, RESOURCES_MEM, - NONE {"recovery_prefetch", PGC_SIGHUP, WAL_RECOVERY, - NOT QUOTED GUC_check_errdetail("recovery_prefetch is not supported on platforms that lack posix_fadvise()."); {"debug_parallel_query", PGC_USERSET, DEVELOPER_OPTIONS, - NONE {"password_encryption", PGC_USERSET, CONN_AUTH_AUTH, - NOT QUOTED libpq_append_conn_error(conn, "password_encryption value too long"); {"plan_cache_mode", PGC_USERSET, QUERY_TUNING_OTHER, - NONE {"ssl_min_protocol_version", PGC_SIGHUP, CONN_AUTH_SSL, - QUOTED (errmsg("\"%s\" setting \"%s\" not supported by this build", "ssl_min_protocol_version", GetConfigOption("ssl_min_protocol_version", false, false)))); - NOT QUOTED libpq_append_conn_error(conn, "invalid %s value: \"%s\"", "ssl_min_protocol_version", conn->ssl_min_protocol_version); {"ssl_max_protocol_version", PGC_SIGHUP, CONN_AUTH_SSL, - QUOTED (errmsg("\"%s\" setting \"%s\" not supported by this build", "ssl_max_protocol_version", GetConfigOption("ssl_max_protocol_version", false, false)))); errdetail("\"%s\" cannot be higher than \"%s\"", "ssl_min_protocol_version", "ssl_max_protocol_version"))); - NOT QUOTED libpq_append_conn_error(conn, "invalid %s value: \"%s\"", "ssl_max_protocol_version", conn->ssl_max_protocol_version); {"recovery_init_sync_method", PGC_SIGHUP, ERROR_HANDLING_OPTIONS, - NONE {"debug_logical_replication_streaming", PGC_USERSET, DEVELOPER_OPTIONS, - NONE [end]