=== Applying patches on top of PostgreSQL commit ID c6be3daa054a2fac67331f3bfc348b9bfd6f690c === /etc/rc.d/jail: WARNING: Per-jail configuration via jail_* variables is obsolete. Please consider migrating to /etc/jail.conf. Thu Dec 4 19:18:23 UTC 2025 On branch cf/6283 nothing to commit, working tree clean === using 'git am' to apply patch ./v2-0001-Add-configure-time-selection-of-strong-random-num.patch === Applying: Add configure-time selection of strong random number source. Using index info to reconstruct a base tree... M configure M configure.ac M doc/src/sgml/config.sgml M doc/src/sgml/installation.sgml M meson.build M src/backend/utils/misc/guc_parameters.dat M src/backend/utils/misc/guc_tables.c M src/include/pg_config.h.in Falling back to patching base and 3-way merge... Auto-merging src/include/pg_config.h.in Auto-merging src/backend/utils/misc/guc_tables.c Auto-merging src/backend/utils/misc/guc_parameters.dat CONFLICT (content): Merge conflict in src/backend/utils/misc/guc_parameters.dat Auto-merging meson.build Auto-merging doc/src/sgml/installation.sgml Auto-merging doc/src/sgml/config.sgml Auto-merging configure.ac Auto-merging configure error: Failed to merge in the changes. hint: Use 'git am --show-current-patch=diff' to see the failed patch Patch failed at 0001 Add configure-time selection of strong random number source. When you have resolved this problem, run "git am --continue". If you prefer to skip this patch, run "git am --skip" instead. To restore the original branch and stop patching, run "git am --abort". Unstaged changes after reset: M configure M configure.ac M doc/src/sgml/config.sgml M doc/src/sgml/installation.sgml M meson.build M meson_options.txt M src/backend/utils/misc/guc_parameters.dat M src/backend/utils/misc/guc_tables.c M src/include/pg_config.h.in M src/port/pg_strong_random.c === using patch(1) to apply patch ./v2-0001-Add-configure-time-selection-of-strong-random-num.patch === patching file configure Hunk #3 FAILED at 15003. 1 out of 5 hunks FAILED -- saving rejects to file configure.rej patching file configure.ac patching file doc/src/sgml/config.sgml Hunk #1 succeeded at 12080 (offset 33 lines). patching file doc/src/sgml/installation.sgml patching file meson.build Hunk #1 succeeded at 2562 (offset 15 lines). patching file meson_options.txt patching file src/backend/utils/misc/guc_parameters.dat Hunk #1 succeeded at 271 with fuzz 1 (offset -2924 lines). patching file src/backend/utils/misc/guc_tables.c patching file src/include/pg_config.h.in patching file src/port/pg_strong_random.c Unstaged changes after reset: M configure M configure.ac M doc/src/sgml/config.sgml M doc/src/sgml/installation.sgml M meson.build M meson_options.txt M src/backend/utils/misc/guc_parameters.dat M src/backend/utils/misc/guc_tables.c M src/include/pg_config.h.in M src/port/pg_strong_random.c Removing configure.rej === using 'git apply' to apply patch ./v2-0001-Add-configure-time-selection-of-strong-random-num.patch === Applied patch to 'configure' cleanly. Applied patch to 'configure.ac' cleanly. Applied patch to 'doc/src/sgml/config.sgml' cleanly. Applied patch to 'doc/src/sgml/installation.sgml' cleanly. Applied patch to 'meson.build' cleanly. Applied patch to 'meson_options.txt' cleanly. Applied patch to 'src/backend/utils/misc/guc_parameters.dat' with conflicts. Applied patch to 'src/backend/utils/misc/guc_tables.c' cleanly. Applied patch to 'src/include/pg_config.h.in' cleanly. Applied patch to 'src/port/pg_strong_random.c' cleanly. U src/backend/utils/misc/guc_parameters.dat diff --cc src/backend/utils/misc/guc_parameters.dat index 3b9d8349078,b70f00cfcc1..00000000000 --- a/src/backend/utils/misc/guc_parameters.dat +++ b/src/backend/utils/misc/guc_parameters.dat @@@ -2958,405 -2951,421 +2958,420 @@@ short_desc => 'Selects a file of time zone abbreviations.', variable => 'timezone_abbreviations_string', boot_val => 'NULL', - check_hook => 'check_timezone_abbreviations', - assign_hook => 'assign_timezone_abbreviations', -}, - -{ name => 'unix_socket_group', type => 'string', context => 'PGC_POSTMASTER', group => 'CONN_AUTH_SETTINGS', - short_desc => 'Sets the owning group of the Unix-domain socket.', - long_desc => 'The owning user of the socket is always the user that starts the server. An empty string means use the user\'s default group.', - variable => 'Unix_socket_group', - boot_val => '""', -}, - -{ name => 'unix_socket_directories', type => 'string', context => 'PGC_POSTMASTER', group => 'CONN_AUTH_SETTINGS', - short_desc => 'Sets the directories where Unix-domain sockets will be created.', - flags => 'GUC_LIST_INPUT | GUC_LIST_QUOTE | GUC_SUPERUSER_ONLY', - variable => 'Unix_socket_directories', - boot_val => 'DEFAULT_PGSOCKET_DIR', -}, - -{ name => 'listen_addresses', type => 'string', context => 'PGC_POSTMASTER', group => 'CONN_AUTH_SETTINGS', - short_desc => 'Sets the host name or IP address(es) to listen to.', - flags => 'GUC_LIST_INPUT', - variable => 'ListenAddresses', - boot_val => '"localhost"', -}, - -# Can't be set by ALTER SYSTEM as it can lead to recursive definition -# of data_directory. -{ name => 'data_directory', type => 'string', context => 'PGC_POSTMASTER', group => 'FILE_LOCATIONS', - short_desc => 'Sets the server\'s data directory.', - flags => 'GUC_SUPERUSER_ONLY | GUC_DISALLOW_IN_AUTO_FILE', - variable => 'data_directory', - boot_val => 'NULL', -}, - -{ name => 'config_file', type => 'string', context => 'PGC_POSTMASTER', group => 'FILE_LOCATIONS', - short_desc => 'Sets the server\'s main configuration file.', - flags => 'GUC_DISALLOW_IN_FILE | GUC_SUPERUSER_ONLY', - variable => 'ConfigFileName', - boot_val => 'NULL', -}, - -{ name => 'hba_file', type => 'string', context => 'PGC_POSTMASTER', group => 'FILE_LOCATIONS', - short_desc => 'Sets the server\'s "hba" configuration file.', - flags => 'GUC_SUPERUSER_ONLY', - variable => 'HbaFileName', - boot_val => 'NULL', -}, - -{ name => 'ident_file', type => 'string', context => 'PGC_POSTMASTER', group => 'FILE_LOCATIONS', - short_desc => 'Sets the server\'s "ident" configuration file.', - flags => 'GUC_SUPERUSER_ONLY', - variable => 'IdentFileName', - boot_val => 'NULL', + check_hook => 'check_timezone_abbreviations', + assign_hook => 'assign_timezone_abbreviations', }, -{ name => 'external_pid_file', type => 'string', context => 'PGC_POSTMASTER', group => 'FILE_LOCATIONS', - short_desc => 'Writes the postmaster PID to the specified file.', - flags => 'GUC_SUPERUSER_ONLY', - variable => 'external_pid_file', - boot_val => 'NULL', - check_hook => 'check_canonical_path', +{ name => 'trace_connection_negotiation', type => 'bool', context => 'PGC_POSTMASTER', group => 'DEVELOPER_OPTIONS', + short_desc => 'Logs details of pre-authentication connection handshake.', + flags => 'GUC_NOT_IN_SAMPLE', + variable => 'Trace_connection_negotiation', + boot_val => 'false', }, -{ name => 'ssl_library', type => 'string', context => 'PGC_INTERNAL', group => 'PRESET_OPTIONS', - short_desc => 'Shows the name of the SSL library.', - flags => 'GUC_NOT_IN_SAMPLE | GUC_DISALLOW_IN_FILE', - variable => 'ssl_library', - boot_val => 'SSL_LIBRARY', +{ name => 'trace_lock_oidmin', type => 'int', context => 'PGC_SUSET', group => 'DEVELOPER_OPTIONS', + short_desc => 'Sets the minimum OID of tables for tracking locks.', + long_desc => 'Is used to avoid output on system tables.', + flags => 'GUC_NOT_IN_SAMPLE', + variable => 'Trace_lock_oidmin', + boot_val => 'FirstNormalObjectId', + min => '0', + max => 'INT_MAX', + ifdef => 'LOCK_DEBUG', }, -{ name => 'ssl_cert_file', type => 'string', context => 'PGC_SIGHUP', group => 'CONN_AUTH_SSL', - short_desc => 'Location of the SSL server certificate file.', - variable => 'ssl_cert_file', - boot_val => '"server.crt"', +{ name => 'trace_lock_table', type => 'int', context => 'PGC_SUSET', group => 'DEVELOPER_OPTIONS', + short_desc => 'Sets the OID of the table with unconditionally lock tracing.', + flags => 'GUC_NOT_IN_SAMPLE', + variable => 'Trace_lock_table', + boot_val => '0', + min => '0', + max => 'INT_MAX', + ifdef => 'LOCK_DEBUG', }, -{ name => 'ssl_key_file', type => 'string', context => 'PGC_SIGHUP', group => 'CONN_AUTH_SSL', - short_desc => 'Location of the SSL server private key file.', - variable => 'ssl_key_file', - boot_val => '"server.key"', +{ name => 'trace_locks', type => 'bool', context => 'PGC_SUSET', group => 'DEVELOPER_OPTIONS', + short_desc => 'Emits information about lock usage.', + flags => 'GUC_NOT_IN_SAMPLE', + variable => 'Trace_locks', + boot_val => 'false', + ifdef => 'LOCK_DEBUG', }, -{ name => 'ssl_ca_file', type => 'string', context => 'PGC_SIGHUP', group => 'CONN_AUTH_SSL', - short_desc => 'Location of the SSL certificate authority file.', - variable => 'ssl_ca_file', - boot_val => '""', +{ name => 'trace_lwlocks', type => 'bool', context => 'PGC_SUSET', group => 'DEVELOPER_OPTIONS', + short_desc => 'Emits information about lightweight lock usage.', + flags => 'GUC_NOT_IN_SAMPLE', + variable => 'Trace_lwlocks', + boot_val => 'false', + ifdef => 'LOCK_DEBUG', }, -{ name => 'ssl_crl_file', type => 'string', context => 'PGC_SIGHUP', group => 'CONN_AUTH_SSL', - short_desc => 'Location of the SSL certificate revocation list file.', - variable => 'ssl_crl_file', - boot_val => '""', +{ name => 'trace_notify', type => 'bool', context => 'PGC_USERSET', group => 'DEVELOPER_OPTIONS', + short_desc => 'Generates debugging output for LISTEN and NOTIFY.', + flags => 'GUC_NOT_IN_SAMPLE', + variable => 'Trace_notify', + boot_val => 'false', }, -{ name => 'ssl_crl_dir', type => 'string', context => 'PGC_SIGHUP', group => 'CONN_AUTH_SSL', - short_desc => 'Location of the SSL certificate revocation list directory.', - variable => 'ssl_crl_dir', - boot_val => '""', +{ name => 'trace_sort', type => 'bool', context => 'PGC_USERSET', group => 'DEVELOPER_OPTIONS', + short_desc => 'Emit information about resource usage in sorting.', + flags => 'GUC_NOT_IN_SAMPLE', + variable => 'trace_sort', + boot_val => 'false', }, -{ name => 'synchronous_standby_names', type => 'string', context => 'PGC_SIGHUP', group => 'REPLICATION_PRIMARY', - short_desc => 'Number of synchronous standbys and list of names of potential synchronous ones.', - flags => 'GUC_LIST_INPUT', - variable => 'SyncRepStandbyNames', - boot_val => '""', - check_hook => 'check_synchronous_standby_names', - assign_hook => 'assign_synchronous_standby_names', +# this is undocumented because not exposed in a standard build +{ name => 'trace_syncscan', type => 'bool', context => 'PGC_USERSET', group => 'DEVELOPER_OPTIONS', + short_desc => 'Generate debugging output for synchronized scanning.', + flags => 'GUC_NOT_IN_SAMPLE', + variable => 'trace_syncscan', + boot_val => 'false', + ifdef => 'TRACE_SYNCSCAN', }, -{ name => 'default_text_search_config', type => 'string', context => 'PGC_USERSET', group => 'CLIENT_CONN_LOCALE', - short_desc => 'Sets default text search configuration.', - variable => 'TSCurrentConfig', - boot_val => '"pg_catalog.simple"', - check_hook => 'check_default_text_search_config', - assign_hook => 'assign_default_text_search_config', +{ name => 'trace_userlocks', type => 'bool', context => 'PGC_SUSET', group => 'DEVELOPER_OPTIONS', + short_desc => 'Emits information about user lock usage.', + flags => 'GUC_NOT_IN_SAMPLE', + variable => 'Trace_userlocks', + boot_val => 'false', + ifdef => 'LOCK_DEBUG', }, -{ name => 'ssl_tls13_ciphers', type => 'string', context => 'PGC_SIGHUP', group => 'CONN_AUTH_SSL', - short_desc => 'Sets the list of allowed TLSv1.3 cipher suites.', - long_desc => 'An empty string means use the default cipher suites.', - flags => 'GUC_SUPERUSER_ONLY', - variable => 'SSLCipherSuites', - boot_val => '""', +{ name => 'track_activities', type => 'bool', context => 'PGC_SUSET', group => 'STATS_CUMULATIVE', + short_desc => 'Collects information about executing commands.', + long_desc => 'Enables the collection of information on the currently executing command of each session, along with the time at which that command began execution.', + variable => 'pgstat_track_activities', + boot_val => 'true', }, -{ name => 'ssl_ciphers', type => 'string', context => 'PGC_SIGHUP', group => 'CONN_AUTH_SSL', - short_desc => 'Sets the list of allowed TLSv1.2 (and lower) ciphers.', - flags => 'GUC_SUPERUSER_ONLY', - variable => 'SSLCipherList', - boot_val => 'DEFAULT_SSL_CIPHERS', +{ name => 'track_activity_query_size', type => 'int', context => 'PGC_POSTMASTER', group => 'STATS_CUMULATIVE', + short_desc => 'Sets the size reserved for pg_stat_activity.query, in bytes.', + flags => 'GUC_UNIT_BYTE', + variable => 'pgstat_track_activity_query_size', + boot_val => '1024', + min => '100', + max => '1048576', }, -{ name => 'ssl_groups', type => 'string', context => 'PGC_SIGHUP', group => 'CONN_AUTH_SSL', - short_desc => 'Sets the group(s) to use for Diffie-Hellman key exchange.', - long_desc => 'Multiple groups can be specified using a colon-separated list.', - flags => 'GUC_SUPERUSER_ONLY', - variable => 'SSLECDHCurve', - boot_val => 'DEFAULT_SSL_GROUPS', +{ name => 'track_commit_timestamp', type => 'bool', context => 'PGC_POSTMASTER', group => 'REPLICATION_SENDING', + short_desc => 'Collects transaction commit time.', + variable => 'track_commit_timestamp', + boot_val => 'false', }, -{ name => 'ssl_dh_params_file', type => 'string', context => 'PGC_SIGHUP', group => 'CONN_AUTH_SSL', - short_desc => 'Location of the SSL DH parameters file.', - long_desc => 'An empty string means use compiled-in default parameters.', - flags => 'GUC_SUPERUSER_ONLY', - variable => 'ssl_dh_params_file', - boot_val => '""', +{ name => 'track_cost_delay_timing', type => 'bool', context => 'PGC_SUSET', group => 'STATS_CUMULATIVE', + short_desc => 'Collects timing statistics for cost-based vacuum delay.', + variable => 'track_cost_delay_timing', + boot_val => 'false', }, -{ name => 'ssl_passphrase_command', type => 'string', context => 'PGC_SIGHUP', group => 'CONN_AUTH_SSL', - short_desc => 'Command to obtain passphrases for SSL.', - long_desc => 'An empty string means use the built-in prompting mechanism.', - flags => 'GUC_SUPERUSER_ONLY', - variable => 'ssl_passphrase_command', - boot_val => '""', +{ name => 'track_counts', type => 'bool', context => 'PGC_SUSET', group => 'STATS_CUMULATIVE', + short_desc => 'Collects statistics on database activity.', + variable => 'pgstat_track_counts', + boot_val => 'true', }, -{ name => 'application_name', type => 'string', context => 'PGC_USERSET', group => 'LOGGING_WHAT', - short_desc => 'Sets the application name to be reported in statistics and logs.', - flags => 'GUC_IS_NAME | GUC_REPORT | GUC_NOT_IN_SAMPLE', - variable => 'application_name', - boot_val => '""', - check_hook => 'check_application_name', - assign_hook => 'assign_application_name', +{ name => 'track_functions', type => 'enum', context => 'PGC_SUSET', group => 'STATS_CUMULATIVE', + short_desc => 'Collects function-level statistics on database activity.', + variable => 'pgstat_track_functions', + boot_val => 'TRACK_FUNC_OFF', + options => 'track_function_options', }, -{ name => 'cluster_name', type => 'string', context => 'PGC_POSTMASTER', group => 'PROCESS_TITLE', - short_desc => 'Sets the name of the cluster, which is included in the process title.', - flags => 'GUC_IS_NAME', - variable => 'cluster_name', - boot_val => '""', - check_hook => 'check_cluster_name', +{ name => 'track_io_timing', type => 'bool', context => 'PGC_SUSET', group => 'STATS_CUMULATIVE', + short_desc => 'Collects timing statistics for database I/O activity.', + variable => 'track_io_timing', + boot_val => 'false', }, -{ name => 'wal_consistency_checking', type => 'string', context => 'PGC_SUSET', group => 'DEVELOPER_OPTIONS', - short_desc => 'Sets the WAL resource managers for which WAL consistency checks are done.', - long_desc => 'Full-page images will be logged for all data blocks and cross-checked against the results of WAL replay.', - flags => 'GUC_LIST_INPUT | GUC_NOT_IN_SAMPLE', - variable => 'wal_consistency_checking_string', - boot_val => '""', - check_hook => 'check_wal_consistency_checking', - assign_hook => 'assign_wal_consistency_checking', +{ name => 'track_wal_io_timing', type => 'bool', context => 'PGC_SUSET', group => 'STATS_CUMULATIVE', + short_desc => 'Collects timing statistics for WAL I/O activity.', + variable => 'track_wal_io_timing', + boot_val => 'false', }, -{ name => 'jit_provider', type => 'string', context => 'PGC_POSTMASTER', group => 'CLIENT_CONN_PRELOAD', - short_desc => 'JIT provider to use.', - flags => 'GUC_SUPERUSER_ONLY', - variable => 'jit_provider', - boot_val => '"llvmjit"', +{ name => 'transaction_buffers', type => 'int', context => 'PGC_POSTMASTER', group => 'RESOURCES_MEM', + short_desc => 'Sets the size of the dedicated buffer pool used for the transaction status cache.', + long_desc => '0 means use a fraction of "shared_buffers".', + flags => 'GUC_UNIT_BLOCKS', + variable => 'transaction_buffers', + boot_val => '0', + min => '0', + max => 'SLRU_MAX_ALLOWED_BUFFERS', + check_hook => 'check_transaction_buffers', }, -{ name => 'backtrace_functions', type => 'string', context => 'PGC_SUSET', group => 'DEVELOPER_OPTIONS', - short_desc => 'Log backtrace for errors in these functions.', - flags => 'GUC_NOT_IN_SAMPLE', - variable => 'backtrace_functions', - boot_val => '""', - check_hook => 'check_backtrace_functions', - assign_hook => 'assign_backtrace_functions', +{ name => 'transaction_deferrable', type => 'bool', context => 'PGC_USERSET', group => 'CLIENT_CONN_STATEMENT', + short_desc => 'Whether to defer a read-only serializable transaction until it can be executed with no possible serialization failures.', + flags => 'GUC_NO_RESET | GUC_NO_RESET_ALL | GUC_NOT_IN_SAMPLE | GUC_DISALLOW_IN_FILE', + variable => 'XactDeferrable', + boot_val => 'false', + check_hook => 'check_transaction_deferrable', }, -{ name => 'debug_io_direct', type => 'string', context => 'PGC_POSTMASTER', group => 'DEVELOPER_OPTIONS', - short_desc => 'Use direct I/O for file access.', - long_desc => 'An empty string disables direct I/O.', - flags => 'GUC_LIST_INPUT | GUC_NOT_IN_SAMPLE', - variable => 'debug_io_direct_string', - boot_val => '""', - check_hook => 'check_debug_io_direct', - assign_hook => 'assign_debug_io_direct', +{ name => 'transaction_isolation', type => 'enum', context => 'PGC_USERSET', group => 'CLIENT_CONN_STATEMENT', + short_desc => 'Sets the current transaction\'s isolation level.', + flags => 'GUC_NO_RESET | GUC_NO_RESET_ALL | GUC_NOT_IN_SAMPLE | GUC_DISALLOW_IN_FILE', + variable => 'XactIsoLevel', + boot_val => 'XACT_READ_COMMITTED', + options => 'isolation_level_options', + check_hook => 'check_transaction_isolation', }, -{ name => 'synchronized_standby_slots', type => 'string', context => 'PGC_SIGHUP', group => 'REPLICATION_PRIMARY', - short_desc => 'Lists streaming replication standby server replication slot names that logical WAL sender processes will wait for.', - long_desc => 'Logical WAL sender processes will send decoded changes to output plugins only after the specified replication slots have confirmed receiving WAL.', - flags => 'GUC_LIST_INPUT', - variable => 'synchronized_standby_slots', - boot_val => '""', - check_hook => 'check_synchronized_standby_slots', - assign_hook => 'assign_synchronized_standby_slots', +{ name => 'transaction_read_only', type => 'bool', context => 'PGC_USERSET', group => 'CLIENT_CONN_STATEMENT', + short_desc => 'Sets the current transaction\'s read-only status.', + flags => 'GUC_NO_RESET | GUC_NO_RESET_ALL | GUC_NOT_IN_SAMPLE | GUC_DISALLOW_IN_FILE', + variable => 'XactReadOnly', + boot_val => 'false', + check_hook => 'check_transaction_read_only', +}, + +{ name => 'transaction_timeout', type => 'int', context => 'PGC_USERSET', group => 'CLIENT_CONN_STATEMENT', + short_desc => 'Sets the maximum allowed duration of any transaction within a session (not a prepared transaction).', + long_desc => '0 disables the timeout.', + flags => 'GUC_UNIT_MS', + variable => 'TransactionTimeout', + boot_val => '0', + min => '0', + max => 'INT_MAX', + assign_hook => 'assign_transaction_timeout', }, -{ name => 'restrict_nonsystem_relation_kind', type => 'string', context => 'PGC_USERSET', group => 'CLIENT_CONN_STATEMENT', - short_desc => 'Prohibits access to non-system relations of specified kinds.', - flags => 'GUC_LIST_INPUT | GUC_NOT_IN_SAMPLE', - variable => 'restrict_nonsystem_relation_kind_string', - boot_val => '""', - check_hook => 'check_restrict_nonsystem_relation_kind', - assign_hook => 'assign_restrict_nonsystem_relation_kind', +{ name => 'transform_null_equals', type => 'bool', context => 'PGC_USERSET', group => 'COMPAT_OPTIONS_OTHER', + short_desc => 'Treats "expr=NULL" as "expr IS NULL".', + long_desc => 'When turned on, expressions of the form expr = NULL (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).', + variable => 'Transform_null_equals', + boot_val => 'false', }, -{ name => 'oauth_validator_libraries', type => 'string', context => 'PGC_SIGHUP', group => 'CONN_AUTH_AUTH', - short_desc => 'Lists libraries that may be called to validate OAuth v2 bearer tokens.', +{ name => 'unix_socket_directories', type => 'string', context => 'PGC_POSTMASTER', group => 'CONN_AUTH_SETTINGS', + short_desc => 'Sets the directories where Unix-domain sockets will be created.', flags => 'GUC_LIST_INPUT | GUC_LIST_QUOTE | GUC_SUPERUSER_ONLY', - variable => 'oauth_validator_libraries_string', - boot_val => '""', + variable => 'Unix_socket_directories', + boot_val => 'DEFAULT_PGSOCKET_DIR', }, -{ name => 'log_connections', type => 'string', context => 'PGC_SU_BACKEND', group => 'LOGGING_WHAT', - short_desc => 'Logs specified aspects of connection establishment and setup.', - flags => 'GUC_LIST_INPUT', - variable => 'log_connections_string', +{ name => 'unix_socket_group', type => 'string', context => 'PGC_POSTMASTER', group => 'CONN_AUTH_SETTINGS', + short_desc => 'Sets the owning group of the Unix-domain socket.', + long_desc => 'The owning user of the socket is always the user that starts the server. An empty string means use the user\'s default group.', + variable => 'Unix_socket_group', boot_val => '""', - check_hook => 'check_log_connections', - assign_hook => 'assign_log_connections', }, +{ name => 'unix_socket_permissions', type => 'int', context => 'PGC_POSTMASTER', group => 'CONN_AUTH_SETTINGS', + short_desc => 'Sets the access permissions of the Unix-domain socket.', + long_desc => 'Unix-domain sockets use the usual Unix file system permission set. The parameter value is expected 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).)', + variable => 'Unix_socket_permissions', + boot_val => '0777', + min => '0000', + max => '0777', + show_hook => 'show_unix_socket_permissions', +}, + ++<<<<<<< ours +{ name => 'update_process_title', type => 'bool', context => 'PGC_SUSET', group => 'PROCESS_TITLE', + short_desc => 'Updates the process title to show the active SQL command.', + long_desc => 'Enables updating of the process title every time a new SQL command is received by the server.', + variable => 'update_process_title', + boot_val => 'DEFAULT_UPDATE_PROCESS_TITLE', ++======= + { name => 'strong_random_source', type => 'string', context => 'PGC_INTERNAL', group => 'PRESET_OPTIONS', + short_desc => 'Shows implementation used for generating strong random number.', + flags => 'GUC_NOT_IN_SAMPLE | GUC_DISALLOW_IN_FILE', + variable => 'strong_random_source', + boot_val => 'DEFAULT_STRONG_RANDOM_SOURCE', + }, + + { name => 'backslash_quote', type => 'enum', context => 'PGC_USERSET', group => 'COMPAT_OPTIONS_PREVIOUS', + short_desc => 'Sets whether "\\\\\'" is allowed in string literals.', + variable => 'backslash_quote', + boot_val => 'BACKSLASH_QUOTE_SAFE_ENCODING', + options => 'backslash_quote_options', ++>>>>>>> theirs }, -{ name => 'bytea_output', type => 'enum', context => 'PGC_USERSET', group => 'CLIENT_CONN_STATEMENT', - short_desc => 'Sets the output format for bytea.', - variable => 'bytea_output', - boot_val => 'BYTEA_OUTPUT_HEX', - options => 'bytea_output_options', +{ name => 'vacuum_buffer_usage_limit', type => 'int', context => 'PGC_USERSET', group => 'RESOURCES_MEM', + short_desc => 'Sets the buffer pool size for VACUUM, ANALYZE, and autovacuum.', + flags => 'GUC_UNIT_KB', + variable => 'VacuumBufferUsageLimit', + boot_val => '2048', + min => '0', + max => 'MAX_BAS_VAC_RING_SIZE_KB', + check_hook => 'check_vacuum_buffer_usage_limit', }, -{ name => 'client_min_messages', type => 'enum', context => 'PGC_USERSET', group => 'CLIENT_CONN_STATEMENT', - short_desc => 'Sets the message levels that are sent to the client.', - long_desc => 'Each level includes all the levels that follow it. The later the level, the fewer messages are sent.', - variable => 'client_min_messages', - boot_val => 'NOTICE', - options => 'client_message_level_options', +{ name => 'vacuum_cost_delay', type => 'real', context => 'PGC_USERSET', group => 'VACUUM_COST_DELAY', + short_desc => 'Vacuum cost delay in milliseconds.', + flags => 'GUC_UNIT_MS', + variable => 'VacuumCostDelay', + boot_val => '0', + min => '0', + max => '100', }, -{ name => 'compute_query_id', type => 'enum', context => 'PGC_SUSET', group => 'STATS_MONITORING', - short_desc => 'Enables in-core computation of query identifiers.', - variable => 'compute_query_id', - boot_val => 'COMPUTE_QUERY_ID_AUTO', - options => 'compute_query_id_options', +{ name => 'vacuum_cost_limit', type => 'int', context => 'PGC_USERSET', group => 'VACUUM_COST_DELAY', + short_desc => 'Vacuum cost amount available before napping.', + variable => 'VacuumCostLimit', + boot_val => '200', + min => '1', + max => '10000', }, -{ name => 'constraint_exclusion', type => 'enum', context => 'PGC_USERSET', group => 'QUERY_TUNING_OTHER', - short_desc => 'Enables the planner to use constraints to optimize queries.', - long_desc => 'Table scans will be skipped if their constraints guarantee that no rows match the query.', - flags => 'GUC_EXPLAIN', - variable => 'constraint_exclusion', - boot_val => 'CONSTRAINT_EXCLUSION_PARTITION', - options => 'constraint_exclusion_options', +{ name => 'vacuum_cost_page_dirty', type => 'int', context => 'PGC_USERSET', group => 'VACUUM_COST_DELAY', + short_desc => 'Vacuum cost for a page dirtied by vacuum.', + variable => 'VacuumCostPageDirty', + boot_val => '20', + min => '0', + max => '10000', }, -{ name => 'default_toast_compression', type => 'enum', context => 'PGC_USERSET', group => 'CLIENT_CONN_STATEMENT', - short_desc => 'Sets the default compression method for compressible values.', - variable => 'default_toast_compression', - boot_val => 'TOAST_PGLZ_COMPRESSION', - options => 'default_toast_compression_options', +{ name => 'vacuum_cost_page_hit', type => 'int', context => 'PGC_USERSET', group => 'VACUUM_COST_DELAY', + short_desc => 'Vacuum cost for a page found in the buffer cache.', + variable => 'VacuumCostPageHit', + boot_val => '1', + min => '0', + max => '10000', }, -{ name => 'default_transaction_isolation', type => 'enum', context => 'PGC_USERSET', group => 'CLIENT_CONN_STATEMENT', - short_desc => 'Sets the transaction isolation level of each new transaction.', - variable => 'DefaultXactIsoLevel', - boot_val => 'XACT_READ_COMMITTED', - options => 'isolation_level_options', +{ name => 'vacuum_cost_page_miss', type => 'int', context => 'PGC_USERSET', group => 'VACUUM_COST_DELAY', + short_desc => 'Vacuum cost for a page not found in the buffer cache.', + variable => 'VacuumCostPageMiss', + boot_val => '2', + min => '0', + max => '10000', }, -{ name => 'transaction_isolation', type => 'enum', context => 'PGC_USERSET', group => 'CLIENT_CONN_STATEMENT', - short_desc => 'Sets the current transaction\'s isolation level.', - flags => 'GUC_NO_RESET | GUC_NO_RESET_ALL | GUC_NOT_IN_SAMPLE | GUC_DISALLOW_IN_FILE', - variable => 'XactIsoLevel', - boot_val => 'XACT_READ_COMMITTED', - options => 'isolation_level_options', - check_hook => 'check_transaction_isolation', +{ name => 'vacuum_failsafe_age', type => 'int', context => 'PGC_USERSET', group => 'VACUUM_FREEZING', + short_desc => 'Age at which VACUUM should trigger failsafe to avoid a wraparound outage.', + variable => 'vacuum_failsafe_age', + boot_val => '1600000000', + min => '0', + max => '2100000000', }, -{ name => 'IntervalStyle', type => 'enum', context => 'PGC_USERSET', group => 'CLIENT_CONN_LOCALE', - short_desc => 'Sets the display format for interval values.', - flags => 'GUC_REPORT', - variable => 'IntervalStyle', - boot_val => 'INTSTYLE_POSTGRES', - options => 'intervalstyle_options', +{ name => 'vacuum_freeze_min_age', type => 'int', context => 'PGC_USERSET', group => 'VACUUM_FREEZING', + short_desc => 'Minimum age at which VACUUM should freeze a table row.', + variable => 'vacuum_freeze_min_age', + boot_val => '50000000', + min => '0', + max => '1000000000', }, -{ name => 'icu_validation_level', type => 'enum', context => 'PGC_USERSET', group => 'CLIENT_CONN_LOCALE', - short_desc => 'Log level for reporting invalid ICU locale strings.', - variable => 'icu_validation_level', - boot_val => 'WARNING', - options => 'icu_validation_level_options', +{ name => 'vacuum_freeze_table_age', type => 'int', context => 'PGC_USERSET', group => 'VACUUM_FREEZING', + short_desc => 'Age at which VACUUM should scan whole table to freeze tuples.', + variable => 'vacuum_freeze_table_age', + boot_val => '150000000', + min => '0', + max => '2000000000', }, -{ name => 'log_error_verbosity', type => 'enum', context => 'PGC_SUSET', group => 'LOGGING_WHAT', - short_desc => 'Sets the verbosity of logged messages.', - variable => 'Log_error_verbosity', - boot_val => 'PGERROR_DEFAULT', - options => 'log_error_verbosity_options', +{ name => 'vacuum_max_eager_freeze_failure_rate', type => 'real', context => 'PGC_USERSET', group => 'VACUUM_FREEZING', + short_desc => 'Fraction of pages in a relation vacuum can scan and fail to freeze before disabling eager scanning.', + long_desc => 'A value of 0.0 disables eager scanning and a value of 1.0 will eagerly scan up to 100 percent of the all-visible pages in the relation. If vacuum successfully freezes these pages, the cap is lower than 100 percent, because the goal is to amortize page freezing across multiple vacuums.', + variable => 'vacuum_max_eager_freeze_failure_rate', + boot_val => '0.03', + min => '0.0', + max => '1.0', }, -{ name => 'log_min_messages', type => 'enum', context => 'PGC_SUSET', group => 'LOGGING_WHEN', - short_desc => 'Sets the message levels that are logged.', - long_desc => 'Each level includes all the levels that follow it. The later the level, the fewer messages are sent.', - variable => 'log_min_messages', - boot_val => 'WARNING', - options => 'server_message_level_options', +{ name => 'vacuum_multixact_failsafe_age', type => 'int', context => 'PGC_USERSET', group => 'VACUUM_FREEZING', + short_desc => 'Multixact age at which VACUUM should trigger failsafe to avoid a wraparound outage.', + variable => 'vacuum_multixact_failsafe_age', + boot_val => '1600000000', + min => '0', + max => '2100000000', }, -{ name => 'log_min_error_statement', type => 'enum', context => 'PGC_SUSET', group => 'LOGGING_WHEN', - short_desc => 'Causes all statements generating error at or above this level to be logged.', - long_desc => 'Each level includes all the levels that follow it. The later the level, the fewer messages are sent.', - variable => 'log_min_error_statement', - boot_val => 'ERROR', - options => 'server_message_level_options', +{ name => 'vacuum_multixact_freeze_min_age', type => 'int', context => 'PGC_USERSET', group => 'VACUUM_FREEZING', + short_desc => 'Minimum age at which VACUUM should freeze a MultiXactId in a table row.', + variable => 'vacuum_multixact_freeze_min_age', + boot_val => '5000000', + min => '0', + max => '1000000000', }, -{ name => 'log_statement', type => 'enum', context => 'PGC_SUSET', group => 'LOGGING_WHAT', - short_desc => 'Sets the type of statements logged.', - variable => 'log_statement', - boot_val => 'LOGSTMT_NONE', - options => 'log_statement_options', +{ name => 'vacuum_multixact_freeze_table_age', type => 'int', context => 'PGC_USERSET', group => 'VACUUM_FREEZING', + short_desc => 'Multixact age at which VACUUM should scan whole table to freeze tuples.', + variable => 'vacuum_multixact_freeze_table_age', + boot_val => '150000000', + min => '0', + max => '2000000000', }, -{ name => 'syslog_facility', type => 'enum', context => 'PGC_SIGHUP', group => 'LOGGING_WHERE', - short_desc => 'Sets the syslog "facility" to be used when syslog enabled.', - variable => 'syslog_facility', - boot_val => 'DEFAULT_SYSLOG_FACILITY', - options => 'syslog_facility_options', - assign_hook => 'assign_syslog_facility', +{ name => 'vacuum_truncate', type => 'bool', context => 'PGC_USERSET', group => 'VACUUM_DEFAULT', + short_desc => 'Enables vacuum to truncate empty pages at the end of the table.', + variable => 'vacuum_truncate', + boot_val => 'true', }, -{ name => 'session_replication_role', type => 'enum', context => 'PGC_SUSET', group => 'CLIENT_CONN_STATEMENT', - short_desc => 'Sets the session\'s behavior for triggers and rewrite rules.', - variable => 'SessionReplicationRole', - boot_val => 'SESSION_REPLICATION_ROLE_ORIGIN', - options => 'session_replication_role_options', - assign_hook => 'assign_session_replication_role', +{ name => 'wal_block_size', type => 'int', context => 'PGC_INTERNAL', group => 'PRESET_OPTIONS', + short_desc => 'Shows the block size in the write ahead log.', + flags => 'GUC_NOT_IN_SAMPLE | GUC_DISALLOW_IN_FILE', + variable => 'wal_block_size', + boot_val => 'XLOG_BLCKSZ', + min => 'XLOG_BLCKSZ', + max => 'XLOG_BLCKSZ', }, -{ name => 'synchronous_commit', type => 'enum', context => 'PGC_USERSET', group => 'WAL_SETTINGS', - short_desc => 'Sets the current transaction\'s synchronization level.', - variable => 'synchronous_commit', - boot_val => 'SYNCHRONOUS_COMMIT_ON', - options => 'synchronous_commit_options', - assign_hook => 'assign_synchronous_commit', +{ name => 'wal_buffers', type => 'int', context => 'PGC_POSTMASTER', group => 'WAL_SETTINGS', + short_desc => 'Sets the number of disk-page buffers in shared memory for WAL.', + long_desc => '-1 means use a fraction of "shared_buffers".', + flags => 'GUC_UNIT_XBLOCKS', + variable => 'XLOGbuffers', + boot_val => '-1', + min => '-1', + max => '(INT_MAX / XLOG_BLCKSZ)', + check_hook => 'check_wal_buffers', }, -{ name => 'archive_mode', type => 'enum', context => 'PGC_POSTMASTER', group => 'WAL_ARCHIVING', - short_desc => 'Allows archiving of WAL files using "archive_command".', - variable => 'XLogArchiveMode', - boot_val => 'ARCHIVE_MODE_OFF', - options => 'archive_mode_options', +{ name => 'wal_compression', type => 'enum', context => 'PGC_SUSET', group => 'WAL_SETTINGS', + short_desc => 'Compresses full-page writes written in WAL file with specified method.', + variable => 'wal_compression', + boot_val => 'WAL_COMPRESSION_NONE', + options => 'wal_compression_options', +}, + +{ name => 'wal_consistency_checking', type => 'string', context => 'PGC_SUSET', group => 'DEVELOPER_OPTIONS', + short_desc => 'Sets the WAL resource managers for which WAL consistency checks are done.', + long_desc => 'Full-page images will be logged for all data blocks and cross-checked against the results of WAL replay.', + flags => 'GUC_LIST_INPUT | GUC_NOT_IN_SAMPLE', + variable => 'wal_consistency_checking_string', + boot_val => '""', + check_hook => 'check_wal_consistency_checking', + assign_hook => 'assign_wal_consistency_checking', }, -{ name => 'recovery_target_action', type => 'enum', context => 'PGC_POSTMASTER', group => 'WAL_RECOVERY_TARGET', - short_desc => 'Sets the action to perform upon reaching the recovery target.', - variable => 'recoveryTargetAction', - boot_val => 'RECOVERY_TARGET_ACTION_PAUSE', - options => 'recovery_target_action_options', +{ name => 'wal_debug', type => 'bool', context => 'PGC_SUSET', group => 'DEVELOPER_OPTIONS', + short_desc => 'Emit WAL-related debugging output.', + flags => 'GUC_NOT_IN_SAMPLE', + variable => 'XLOG_DEBUG', + boot_val => 'false', + ifdef => 'WAL_DEBUG', }, -{ name => 'track_functions', type => 'enum', context => 'PGC_SUSET', group => 'STATS_CUMULATIVE', - short_desc => 'Collects function-level statistics on database activity.', - variable => 'pgstat_track_functions', - boot_val => 'TRACK_FUNC_OFF', - options => 'track_function_options', +{ name => 'wal_decode_buffer_size', type => 'int', context => 'PGC_POSTMASTER', group => 'WAL_RECOVERY', + short_desc => 'Buffer size for reading ahead in the WAL during recovery.', + long_desc => 'Maximum distance to read ahead in the WAL to prefetch referenced data blocks.', + flags => 'GUC_UNIT_BYTE', + variable => 'wal_decode_buffer_size', + boot_val => '512 * 1024', + min => '64 * 1024', + max => 'MaxAllocSize', }, -{ name => 'stats_fetch_consistency', type => 'enum', context => 'PGC_USERSET', group => 'STATS_CUMULATIVE', - short_desc => 'Sets the consistency of accesses to statistics data.', - variable => 'pgstat_fetch_consistency', - boot_val => 'PGSTAT_FETCH_CONSISTENCY_CACHE', - options => 'stats_fetch_consistency', - assign_hook => 'assign_stats_fetch_consistency', +{ name => 'wal_init_zero', type => 'bool', context => 'PGC_SUSET', group => 'WAL_SETTINGS', + short_desc => 'Writes zeroes to new WAL files before first use.', + variable => 'wal_init_zero', + boot_val => 'true', }, -{ name => 'wal_compression', type => 'enum', context => 'PGC_SUSET', group => 'WAL_SETTINGS', - short_desc => 'Compresses full-page writes written in WAL file with specified method.', - variable => 'wal_compression', - boot_val => 'WAL_COMPRESSION_NONE', - options => 'wal_compression_options', +{ name => 'wal_keep_size', type => 'int', context => 'PGC_SIGHUP', group => 'REPLICATION_SENDING', + short_desc => 'Sets the size of WAL files held for standby servers.', + flags => 'GUC_UNIT_MB', + variable => 'wal_keep_size_mb', + boot_val => '0', + min => '0', + max => 'MAX_KILOBYTES', }, { name => 'wal_level', type => 'enum', context => 'PGC_POSTMASTER', group => 'WAL_SETTINGS',