github.com/1aal/kubeblocks@v0.0.0-20231107070852-e1c03e598921/deploy/apecloud-postgresql/config/pg12-config-constraint.cue (about)

     1  //Copyright (C) 2022-2023 ApeCloud Co., Ltd
     2  //
     3  //This file is part of KubeBlocks project
     4  //
     5  //This program is free software: you can redistribute it and/or modify
     6  //it under the terms of the GNU Affero General Public License as published by
     7  //the Free Software Foundation, either version 3 of the License, or
     8  //(at your option) any later version.
     9  //
    10  //This program is distributed in the hope that it will be useful
    11  //but WITHOUT ANY WARRANTY; without even the implied warranty of
    12  //MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    13  //GNU Affero General Public License for more details.
    14  //
    15  //You should have received a copy of the GNU Affero General Public License
    16  //along with this program.  If not, see <http://www.gnu.org/licenses/>.
    17  
    18  // PostgreSQL parameters: https://postgresqlco.nf/doc/en/param/
    19  #PGParameter: {
    20  	// Allows tablespaces directly inside pg_tblspc, for testing, pg version: 15
    21  	allow_in_place_tablespaces?: bool
    22  	// Allows modification of the structure of system tables as well as certain other risky actions on system tables. This is otherwise not allowed even for superusers. Ill-advised use of this setting can cause irretrievable data loss or seriously corrupt the database system. 
    23  	allow_system_table_mods?: bool
    24  	// Sets the application name to be reported in statistics and logs.
    25  	application_name?: string
    26  	// Sets the shell command that will be called to archive a WAL file.
    27  	archive_command?: string
    28  	// The library to use for archiving completed WAL file segments. If set to an empty string (the default), archiving via shell is enabled, and archive_command is used. Otherwise, the specified shared library is used for archiving. The WAL archiver process is restarted by the postmaster when this parameter changes. For more information, see backup-archiving-wal and archive-modules.
    29  	archive_library?: string
    30  	// When archive_mode is enabled, completed WAL segments are sent to archive storage by setting archive_command or guc-archive-library. In addition to off, to disable, there are two modes: on, and always. During normal operation, there is no difference between the two modes, but when set to always the WAL archiver is enabled also during archive recovery or standby mode. In always mode, all files restored from the archive or streamed with streaming replication will be archived (again). See continuous-archiving-in-standby for details.
    31  	archive_mode: string & "always" | "on" | "off"
    32  	// (s) Forces a switch to the next xlog file if a new file has not been started within N seconds.
    33  	archive_timeout: int & >=0 & <=2147483647 | *300 @timeDurationResource(1s)
    34  	// Enable input of NULL elements in arrays.
    35  	array_nulls?: bool
    36  	// (s) Sets the maximum allowed time to complete client authentication.
    37  	authentication_timeout?: int & >=1 & <=600 @timeDurationResource(1s)
    38  	// Use EXPLAIN ANALYZE for plan logging.
    39  	"auto_explain.log_analyze"?: bool
    40  	// Log buffers usage.
    41  	"auto_explain.log_buffers"?: bool & false | true
    42  	// EXPLAIN format to be used for plan logging.
    43  	"auto_explain.log_format"?: string & "text" | "xml" | "json" | "yaml"
    44  
    45  	// (ms) Sets the minimum execution time above which plans will be logged.
    46  	"auto_explain.log_min_duration"?: int & >=-1 & <=2147483647 @timeDurationResource()
    47  
    48  	// Log nested statements.
    49  	"auto_explain.log_nested_statements"?: bool & false | true
    50  
    51  	// Collect timing data, not just row counts.
    52  	"auto_explain.log_timing"?: bool & false | true
    53  
    54  	// Include trigger statistics in plans.
    55  	"auto_explain.log_triggers"?: bool & false | true
    56  
    57  	// Use EXPLAIN VERBOSE for plan logging.
    58  	"auto_explain.log_verbose"?: bool & false | true
    59  
    60  	// Fraction of queries to process.
    61  	"auto_explain.sample_rate"?: float & >=0 & <=1
    62  
    63  	// Starts the autovacuum subprocess.
    64  	autovacuum?: bool
    65  
    66  	// Number of tuple inserts, updates or deletes prior to analyze as a fraction of reltuples.
    67  	autovacuum_analyze_scale_factor: float & >=0 & <=100 | *0.05
    68  
    69  	// Minimum number of tuple inserts, updates or deletes prior to analyze.
    70  	autovacuum_analyze_threshold?: int & >=0 & <=2147483647
    71  
    72  	// Age at which to autovacuum a table to prevent transaction ID wraparound.
    73  	autovacuum_freeze_max_age?: int & >=100000 & <=2000000000
    74  
    75  	// Sets the maximum number of simultaneously running autovacuum worker processes.
    76  	autovacuum_max_workers?: int & >=1 & <=8388607
    77  
    78  	// Multixact age at which to autovacuum a table to prevent multixact wraparound.
    79  	autovacuum_multixact_freeze_max_age?: int & >=10000000 & <=2000000000
    80  
    81  	// (s) Time to sleep between autovacuum runs.
    82  	autovacuum_naptime: int & >=1 & <=2147483 | *15 @timeDurationResource(1s)
    83  
    84  	// (ms) Vacuum cost delay in milliseconds, for autovacuum.
    85  	autovacuum_vacuum_cost_delay?: int & >=-1 & <=100 @timeDurationResource()
    86  
    87  	// Vacuum cost amount available before napping, for autovacuum.
    88  	autovacuum_vacuum_cost_limit?: int & >=-1 & <=10000
    89  
    90  	// Number of tuple updates or deletes prior to vacuum as a fraction of reltuples.
    91  	autovacuum_vacuum_scale_factor: float & >=0 & <=100 | *0.1
    92  
    93  	// Minimum number of tuple updates or deletes prior to vacuum.
    94  	autovacuum_vacuum_threshold?: int & >=0 & <=2147483647
    95  
    96  	// (kB) Sets the maximum memory to be used by each autovacuum worker process.
    97  	autovacuum_work_mem?: int & >=-1 & <=2147483647 @storeResource(1KB)
    98  
    99  	// (8Kb) Number of pages after which previously performed writes are flushed to disk.
   100  	backend_flush_after?: int & >=0 & <=256 @storeResource(8KB)
   101  
   102  	// Sets whether "\" is allowed in string literals.
   103  	backslash_quote?: string & "safe_encoding" | "on" | "off"
   104  
   105  	// Log backtrace for errors in these functions.
   106  	backtrace_functions?: string
   107  
   108  	// (ms) Background writer sleep time between rounds.
   109  	bgwriter_delay?: int & >=10 & <=10000 @timeDurationResource()
   110  
   111  	// (8Kb) Number of pages after which previously performed writes are flushed to disk.
   112  	bgwriter_flush_after?: int & >=0 & <=256 @storeResource(8KB)
   113  
   114  	// Background writer maximum number of LRU pages to flush per round.
   115  	bgwriter_lru_maxpages?: int & >=0 & <=1000
   116  
   117  	// Multiple of the average buffer usage to free per round.
   118  	bgwriter_lru_multiplier?: float & >=0 & <=10
   119  
   120  	// Sets the output format for bytea.
   121  	bytea_output?: string & "escape" | "hex"
   122  
   123  	// Check function bodies during CREATE FUNCTION.
   124  	check_function_bodies?: bool & false | true
   125  
   126  	// Time spent flushing dirty buffers during checkpoint, as fraction of checkpoint interval.
   127  	checkpoint_completion_target: float & >=0 & <=1 | *0.9
   128  
   129  	// (8kB) Number of pages after which previously performed writes are flushed to disk.
   130  	checkpoint_flush_after?: int & >=0 & <=256 @storeResource(8KB)
   131  
   132  	// (s) Sets the maximum time between automatic WAL checkpoints.
   133  	checkpoint_timeout?: int & >=30 & <=3600 @timeDurationResource(1s)
   134  
   135  	// (s) Enables warnings if checkpoint segments are filled more frequently than this.
   136  	checkpoint_warning?: int & >=0 & <=2147483647 @timeDurationResource(1s)
   137  
   138  	// Sets the clients character set encoding.
   139  	client_encoding?: string
   140  
   141  	// Sets the message levels that are sent to the client.
   142  	client_min_messages?: string & "debug5" | "debug4" | "debug3" | "debug2" | "debug1" | "log" | "notice" | "warning" | "error"
   143  
   144  	// Sets the delay in microseconds between transaction commit and flushing WAL to disk.
   145  	commit_delay?: int & >=0 & <=100000
   146  
   147  	// Sets the minimum concurrent open transactions before performing commit_delay.
   148  	commit_siblings?: int & >=0 & <=1000
   149  
   150  	// Sets the servers main configuration file.
   151  	config_file?: string
   152  
   153  	// Enables the planner to use constraints to optimize queries.
   154  	constraint_exclusion?: string & "partition" | "on" | "off"
   155  
   156  	// Sets the planners estimate of the cost of processing each index entry during an index scan.
   157  	cpu_index_tuple_cost?: float & >=0 & <=1.79769e+308
   158  
   159  	// Sets the planners estimate of the cost of processing each operator or function call.
   160  	cpu_operator_cost?: float & >=0 & <=1.79769e+308
   161  
   162  	// Sets the planners estimate of the cost of processing each tuple (row).
   163  	cpu_tuple_cost?: float & >=0 & <=1.79769e+308
   164  
   165  	// Sets the database to store pg_cron metadata tables
   166  	"cron.database_name"?: string
   167  
   168  	// Log all jobs runs into the job_run_details table
   169  	"cron.log_run"?: string & "on" | "off"
   170  
   171  	// Log all cron statements prior to execution.
   172  	"cron.log_statement"?: string & "on" | "off"
   173  
   174  	// Maximum number of jobs that can run concurrently.
   175  	"cron.max_running_jobs": int & >=0 & <=100 | *5
   176  
   177  	// Enables background workers for pg_cron
   178  	"cron.use_background_workers"?: string
   179  
   180  	// Sets the planners estimate of the fraction of a cursors rows that will be retrieved.
   181  	cursor_tuple_fraction?: float & >=0 & <=1
   182  
   183  	// Sets the servers data directory.
   184  	data_directory?: string
   185  
   186  	// Sets the display format for date and time values.
   187  	datestyle?: string
   188  
   189  	// Enables per-database user names.
   190  	db_user_namespace?: bool & false | true
   191  
   192  	// (ms) Sets the time to wait on a lock before checking for deadlock.
   193  	deadlock_timeout?: int & >=1 & <=2147483647 @timeDurationResource()
   194  
   195  	// Indents parse and plan tree displays.
   196  	debug_pretty_print?: bool & false | true
   197  
   198  	// Logs each queries parse tree.
   199  	debug_print_parse?: bool & false | true
   200  
   201  	// Logs each queries execution plan.
   202  	debug_print_plan?: bool & false | true
   203  
   204  	// Logs each queries rewritten parse tree.
   205  	debug_print_rewritten?: bool & false | true
   206  
   207  	// Sets the default statistics target.
   208  	default_statistics_target?: int & >=1 & <=10000
   209  
   210  	// Sets the default tablespace to create tables and indexes in.
   211  	default_tablespace?: string
   212  
   213  	// Sets the default deferrable status of new transactions.
   214  	default_transaction_deferrable?: bool & false | true
   215  
   216  	// Sets the transaction isolation level of each new transaction.
   217  	default_transaction_isolation?: string & "serializable" | "repeatable read" | "read committed" | "read uncommitted"
   218  
   219  	// Sets the default read-only status of new transactions.
   220  	default_transaction_read_only?: bool & false | true
   221  
   222  	// (8kB) Sets the planners assumption about the size of the disk cache.
   223  	effective_cache_size?: int & >=1 & <=2147483647 @storeResource(8KB)
   224  
   225  	// Number of simultaneous requests that can be handled efficiently by the disk subsystem.
   226  	effective_io_concurrency?: int & >=0 & <=1000
   227  
   228  	// Enables the planners use of bitmap-scan plans.
   229  	enable_bitmapscan?: bool & false | true
   230  
   231  	// Enables the planner's use of gather merge plans.
   232  	enable_gathermerge?: bool & false | true
   233  
   234  	// Enables the planners use of hashed aggregation plans.
   235  	enable_hashagg?: bool & false | true
   236  
   237  	// Enables the planners use of hash join plans.
   238  	enable_hashjoin?: bool & false | true
   239  
   240  	// Enables the planner's use of index-only-scan plans.
   241  	enable_indexonlyscan?: bool & false | true
   242  
   243  	// Enables the planners use of index-scan plans.
   244  	enable_indexscan?: bool & false | true
   245  
   246  	// Enables the planners use of materialization.
   247  	enable_material?: bool & false | true
   248  
   249  	// Enables the planners use of merge join plans.
   250  	enable_mergejoin?: bool & false | true
   251  
   252  	// Enables the planners use of nested-loop join plans.
   253  	enable_nestloop?: bool & false | true
   254  
   255  	// Enables the planner's use of parallel append plans.
   256  	enable_parallel_append?: bool & false | true
   257  
   258  	// Enables the planner's user of parallel hash plans.
   259  	enable_parallel_hash?: bool & false | true
   260  
   261  	// Enable plan-time and run-time partition pruning.
   262  	enable_partition_pruning?: bool & false | true
   263  
   264  	// Enables partitionwise aggregation and grouping.
   265  	enable_partitionwise_aggregate?: bool & false | true
   266  
   267  	// Enables partitionwise join.
   268  	enable_partitionwise_join?: bool & false | true
   269  
   270  	// Enables the planners use of sequential-scan plans.
   271  	enable_seqscan?: bool & false | true
   272  
   273  	// Enables the planners use of explicit sort steps.
   274  	enable_sort?: bool & false | true
   275  
   276  	// Enables the planners use of TID scan plans.
   277  	enable_tidscan?: bool & false | true
   278  
   279  	// Warn about backslash escapes in ordinary string literals.
   280  	escape_string_warning?: bool & false | true
   281  
   282  	// Terminate session on any error.
   283  	exit_on_error?: bool & false | true
   284  
   285  	// Sets the number of digits displayed for floating-point values.
   286  	extra_float_digits?: int & >=-15 & <=3
   287  
   288  	// Forces use of parallel query facilities.
   289  	force_parallel_mode?: bool & false | true
   290  
   291  	// Sets the FROM-list size beyond which subqueries are not collapsed.
   292  	from_collapse_limit?: int & >=1 & <=2147483647
   293  
   294  	// Forces synchronization of updates to disk.
   295  	fsync: bool & false | true | *true
   296  
   297  	// Writes full pages to WAL when first modified after a checkpoint.
   298  	full_page_writes: bool & false | true | *true
   299  
   300  	// Enables genetic query optimization.
   301  	geqo?: bool & false | true
   302  
   303  	// GEQO: effort is used to set the default for other GEQO parameters.
   304  	geqo_effort?: int & >=1 & <=10
   305  
   306  	// GEQO: number of iterations of the algorithm.
   307  	geqo_generations?: int & >=0 & <=2147483647
   308  
   309  	// GEQO: number of individuals in the population.
   310  	geqo_pool_size?: int & >=0 & <=2147483647 @storeResource()
   311  
   312  	// GEQO: seed for random path selection.
   313  	geqo_seed?: float & >=0 & <=1
   314  
   315  	// GEQO: selective pressure within the population.
   316  	geqo_selection_bias?: float & >=1.5 & <=2
   317  
   318  	// Sets the threshold of FROM items beyond which GEQO is used.
   319  	geqo_threshold?: int & >=2 & <=2147483647
   320  
   321  	// Sets the maximum allowed result for exact search by GIN.
   322  	gin_fuzzy_search_limit?: int & >=0 & <=2147483647
   323  
   324  	// (kB) Sets the maximum size of the pending list for GIN index.
   325  	gin_pending_list_limit?: int & >=64 & <=2147483647 @storeResource(1KB)
   326  
   327  	// Sets the servers hba configuration file.
   328  	hba_file?: string
   329  
   330  	// Force group aggregation for hll
   331  	"hll.force_groupagg"?: bool & false | true
   332  
   333  	// Allows feedback from a hot standby to the primary that will avoid query conflicts.
   334  	hot_standby_feedback?: bool & false | true
   335  
   336  	// Use of huge pages on Linux.
   337  	huge_pages?: string & "on" | "off" | "try"
   338  
   339  	// The size of huge page that should be requested. Controls the size of huge pages, when they are enabled with huge_pages. The default is zero (0). When set to 0, the default huge page size on the system will be used. This parameter can only be set at server start. 
   340  	huge_page_size?: int & >=0 & <=2147483647 @storeResource(1KB)
   341  
   342  	// Sets the servers ident configuration file.
   343  	ident_file?: string
   344  
   345  	// (ms) Sets the maximum allowed duration of any idling transaction.
   346  	idle_in_transaction_session_timeout: int & >=0 & <=2147483647 | *86400000 @timeDurationResource()
   347  
   348  	// Continues recovery after an invalid pages failure.
   349  	ignore_invalid_pages: bool & false | true | *false
   350  
   351  	// Sets the display format for interval values.
   352  	intervalstyle?: string & "postgres" | "postgres_verbose" | "sql_standard" | "iso_8601"
   353  
   354  	// Allow JIT compilation.
   355  	jit: bool
   356  
   357  	// Perform JIT compilation if query is more expensive.
   358  	jit_above_cost?: float & >=-1 & <=1.79769e+308
   359  
   360  	// Perform JIT inlining if query is more expensive.
   361  	jit_inline_above_cost?: float & >=-1 & <=1.79769e+308
   362  
   363  	// Optimize JITed functions if query is more expensive.
   364  	jit_optimize_above_cost?: float & >=-1 & <=1.79769e+308
   365  
   366  	// Sets the FROM-list size beyond which JOIN constructs are not flattened.
   367  	join_collapse_limit?: int & >=1 & <=2147483647
   368  
   369  	// Sets the language in which messages are displayed.
   370  	lc_messages?: string
   371  
   372  	// Sets the locale for formatting monetary amounts.
   373  	lc_monetary?: string
   374  
   375  	// Sets the locale for formatting numbers.
   376  	lc_numeric?: string
   377  
   378  	// Sets the locale for formatting date and time values.
   379  	lc_time?: string
   380  
   381  	// Sets the host name or IP address(es) to listen to.
   382  	listen_addresses?: string
   383  
   384  	// Enables backward compatibility mode for privilege checks on large objects.
   385  	lo_compat_privileges: bool & false | true | *false
   386  
   387  	// (ms) Sets the minimum execution time above which autovacuum actions will be logged.
   388  	log_autovacuum_min_duration: int & >=-1 & <=2147483647 | *10000 @timeDurationResource()
   389  
   390  	// Logs each checkpoint.
   391  	log_checkpoints: bool & false | true | *true
   392  
   393  	// Logs each successful connection.
   394  	log_connections?: bool & false | true
   395  
   396  	// Sets the destination for server log output.
   397  	log_destination?: string & "stderr" | "csvlog"
   398  
   399  	// Sets the destination directory for log files.
   400  	log_directory?: string
   401  
   402  	// Logs end of a session, including duration.
   403  	log_disconnections?: bool & false | true
   404  
   405  	// Logs the duration of each completed SQL statement.
   406  	log_duration?: bool & false | true
   407  
   408  	// Sets the verbosity of logged messages.
   409  	log_error_verbosity?: string & "terse" | "default" | "verbose"
   410  
   411  	// Writes executor performance statistics to the server log.
   412  	log_executor_stats?: bool & false | true
   413  
   414  	// Sets the file permissions for log files.
   415  	log_file_mode?: string
   416  
   417  	// Sets the file name pattern for log files.
   418  	log_filename?: string
   419  
   420  	// Start a subprocess to capture stderr output and/or csvlogs into log files.
   421  	logging_collector: bool & false | true | *true
   422  
   423  	// Logs the host name in the connection logs.
   424  	log_hostname?: bool & false | true
   425  
   426  	// Controls information prefixed to each log line.
   427  	log_line_prefix?: string
   428  
   429  	// Logs long lock waits.
   430  	log_lock_waits?: bool & false | true
   431  
   432  	// (ms) Sets the minimum execution time above which statements will be logged.
   433  	log_min_duration_statement?: int & >=-1 & <=2147483647 @timeDurationResource()
   434  
   435  	// Causes all statements generating error at or above this level to be logged.
   436  	log_min_error_statement?: string & "debug5" | "debug4" | "debug3" | "debug2" | "debug1" | "info" | "notice" | "warning" | "error" | "log" | "fatal" | "panic"
   437  
   438  	// Sets the message levels that are logged.
   439  	log_min_messages?: string & "debug5" | "debug4" | "debug3" | "debug2" | "debug1" | "info" | "notice" | "warning" | "error" | "log" | "fatal"
   440  
   441  	// Writes parser performance statistics to the server log.
   442  	log_parser_stats?: bool & false | true
   443  
   444  	// Writes planner performance statistics to the server log.
   445  	log_planner_stats?: bool & false | true
   446  
   447  	// Logs each replication command.
   448  	log_replication_commands?: bool & false | true
   449  
   450  	// (min) Automatic log file rotation will occur after N minutes.
   451  	log_rotation_age: int & >=1 & <=1440 | *60 @timeDurationResource(1min)
   452  
   453  	// (kB) Automatic log file rotation will occur after N kilobytes.
   454  	log_rotation_size?: int & >=0 & <=2097151 @storeResource(1KB)
   455  
   456  	// Time between progress updates for long-running startup operations. Sets the amount of time after which the startup process will log a message about a long-running operation that is still in progress, as well as the interval between further progress messages for that operation. The default is 10 seconds. A setting of 0 disables the feature. If this value is specified without units, it is taken as milliseconds. This setting is applied separately to each operation. This parameter can only be set in the postgresql.conf file or on the server command line.  
   457  	log_startup_progress_interval: int & >=0 & <=2147483647 @timeDurationResource()
   458  
   459  	// Sets the type of statements logged.
   460  	log_statement?: string & "none" | "ddl" | "mod" | "all"
   461  
   462  	// Writes cumulative performance statistics to the server log.
   463  	log_statement_stats?: bool
   464  
   465  	// (kB) Log the use of temporary files larger than this number of kilobytes.
   466  	log_temp_files?: int & >=-1 & <=2147483647 @storeResource(1KB)
   467  
   468  	// Sets the time zone to use in log messages.
   469  	log_timezone?: string
   470  
   471  	// Set the fraction of transactions to log for new transactions.
   472  	log_transaction_sample_rate?: float & >=0 & <=1
   473  
   474  	// Truncate existing log files of same name during log rotation.
   475  	log_truncate_on_rotation: bool & false | true | *false
   476  
   477  	// (kB) Sets the maximum memory to be used for maintenance operations.
   478  	maintenance_work_mem?: int & >=1024 & <=2147483647 @storeResource(1KB)
   479  
   480  	// Sets the maximum number of concurrent connections.
   481  	max_connections?: int & >=6 & <=8388607
   482  
   483  	// Sets the maximum number of simultaneously open files for each server process.
   484  	max_files_per_process?: int & >=64 & <=2147483647
   485  
   486  	// Sets the maximum number of locks per transaction.
   487  	max_locks_per_transaction: int & >=10 & <=2147483647 | *64
   488  
   489  	// Maximum number of logical replication worker processes.
   490  	max_logical_replication_workers?: int & >=0 & <=262143
   491  
   492  	// Sets the maximum number of parallel processes per maintenance operation.
   493  	max_parallel_maintenance_workers?: int & >=0 & <=1024
   494  
   495  	// Sets the maximum number of parallel workers than can be active at one time.
   496  	max_parallel_workers?: int & >=0 & <=1024
   497  
   498  	// Sets the maximum number of parallel processes per executor node.
   499  	max_parallel_workers_per_gather?: int & >=0 & <=1024
   500  
   501  	// Sets the maximum number of predicate-locked tuples per page.
   502  	max_pred_locks_per_page?: int & >=0 & <=2147483647
   503  
   504  	// Sets the maximum number of predicate-locked pages and tuples per relation.
   505  	max_pred_locks_per_relation?: int & >=-2147483648 & <=2147483647
   506  
   507  	// Sets the maximum number of predicate locks per transaction.
   508  	max_pred_locks_per_transaction?: int & >=10 & <=2147483647
   509  
   510  	// Sets the maximum number of simultaneously prepared transactions.
   511  	max_prepared_transactions: int & >=0 & <=8388607 | *0
   512  
   513  	// Sets the maximum number of replication slots that the server can support.
   514  	max_replication_slots: int & >=5 & <=8388607 | *20
   515  
   516  	// (kB) Sets the maximum stack depth, in kilobytes.
   517  	max_stack_depth: int & >=100 & <=2147483647 | *6144 @storeResource(1KB)
   518  
   519  	// (ms) Sets the maximum delay before canceling queries when a hot standby server is processing archived WAL data.
   520  	max_standby_archive_delay?: int & >=-1 & <=2147483647 @timeDurationResource()
   521  
   522  	// (ms) Sets the maximum delay before canceling queries when a hot standby server is processing streamed WAL data.
   523  	max_standby_streaming_delay?: int & >=-1 & <=2147483647 @timeDurationResource()
   524  
   525  	// Maximum number of synchronization workers per subscription
   526  	max_sync_workers_per_subscription?: int & >=0 & <=262143
   527  
   528  	// Sets the maximum number of simultaneously running WAL sender processes.
   529  	max_wal_senders: int & >=5 & <=8388607 | *20
   530  
   531  	// (MB) Sets the WAL size that triggers a checkpoint.
   532  	max_wal_size: int & >=2 & <=2147483647 | *2048 @storeResource(1MB)
   533  
   534  	// Sets the maximum number of concurrent worker processes.
   535  	max_worker_processes?: int & >=0 & <=262143
   536  
   537  	// (8kB) Sets the minimum amount of index data for a parallel scan.
   538  	min_parallel_index_scan_size?: int & >=0 & <=715827882 @storeResource(8KB)
   539  
   540  	// Sets the minimum size of relations to be considered for parallel scan. Sets the minimum size of relations to be considered for parallel scan. 
   541  	min_parallel_relation_size?: int & >=0 & <=715827882 @storeResource(8KB)
   542  
   543  	// (8kB) Sets the minimum amount of table data for a parallel scan.
   544  	min_parallel_table_scan_size?: int & >=0 & <=715827882 @storeResource(8KB)
   545  
   546  	// (MB) Sets the minimum size to shrink the WAL to.
   547  	min_wal_size: int & >=2 & <=2147483647 | *192 @storeResource(1MB)
   548  
   549  	// (min) Time before a snapshot is too old to read pages changed after the snapshot was taken.
   550  	old_snapshot_threshold?: int & >=-1 & <=86400 @timeDurationResource(1min)
   551  
   552  	// Emulate oracle's date output behaviour.
   553  	"orafce.nls_date_format"?: string
   554  
   555  	// Specify timezone used for sysdate function.
   556  	"orafce.timezone"?: string
   557  
   558  	// Controls whether Gather and Gather Merge also run subplans.
   559  	parallel_leader_participation?: bool & false | true
   560  
   561  	// Sets the planner's estimate of the cost of starting up worker processes for parallel query.
   562  	parallel_setup_cost?: float & >=0 & <=1.79769e+308
   563  
   564  	// Sets the planner's estimate of the cost of passing each tuple (row) from worker to master backend.
   565  	parallel_tuple_cost?: float & >=0 & <=1.79769e+308
   566  
   567  	// Encrypt passwords.
   568  	password_encryption?: string & "md5" | "scram-sha-256"
   569  
   570  	// Specifies which classes of statements will be logged by session audit logging.
   571  	"pgaudit.log"?: string & "ddl" | "function" | "misc" | "read" | "role" | "write" | "none" | "all" | "-ddl" | "-function" | "-misc" | "-read" | "-role" | "-write"
   572  
   573  	// Specifies that session logging should be enabled in the case where all relations in a statement are in pg_catalog.
   574  	"pgaudit.log_catalog"?: bool & false | true
   575  
   576  	// Specifies the log level that will be used for log entries.
   577  	"pgaudit.log_level"?: string & "debug5" | "debug4" | "debug3" | "debug2" | "debug1" | "info" | "notice" | "warning" | "log"
   578  
   579  	// Specifies that audit logging should include the parameters that were passed with the statement.
   580  	"pgaudit.log_parameter"?: bool & false | true
   581  
   582  	// Specifies whether session audit logging should create a separate log entry for each relation (TABLE, VIEW, etc.) referenced in a SELECT or DML statement.
   583  	"pgaudit.log_relation"?: bool & false | true
   584  
   585  	// Specifies that audit logging should include the rows retrieved or affected by a statement.
   586  	"pgaudit.log_rows": bool & false | true | *false
   587  
   588  	// Specifies whether logging will include the statement text and parameters (if enabled).
   589  	"pgaudit.log_statement": bool & false | true | *true
   590  
   591  	// Specifies whether logging will include the statement text and parameters with the first log entry for a statement/substatement combination or with every entry.
   592  	"pgaudit.log_statement_once"?: bool & false | true
   593  
   594  	// Specifies the master role to use for object audit logging.
   595  	"pgaudit.role"?: string
   596  
   597  	// It specifies whether to perform Recheck which is an internal process of full text search.
   598  	"pg_bigm.enable_recheck"?: string & "on" | "off"
   599  
   600  	// It specifies the maximum number of 2-grams of the search keyword to be used for full text search.
   601  	"pg_bigm.gin_key_limit": int & >=0 & <=2147483647 | *0
   602  
   603  	// It specifies the minimum threshold used by the similarity search.
   604  	"pg_bigm.similarity_limit": float & >=0 & <=1 | *0.3
   605  
   606  	// Logs results of hint parsing.
   607  	"pg_hint_plan.debug_print"?: string & "off" | "on" | "detailed" | "verbose"
   608  
   609  	// Force planner to use plans specified in the hint comment preceding to the query.
   610  	"pg_hint_plan.enable_hint"?: bool & false | true
   611  
   612  	// Force planner to not get hint by using table lookups.
   613  	"pg_hint_plan.enable_hint_table"?: bool & false | true
   614  
   615  	// Message level of debug messages.
   616  	"pg_hint_plan.message_level"?: string & "debug5" | "debug4" | "debug3" | "debug2" | "debug1" | "log" | "info" | "notice" | "warning" | "error"
   617  
   618  	// Message level of parse errors.
   619  	"pg_hint_plan.parse_messages"?: string & "debug5" | "debug4" | "debug3" | "debug2" | "debug1" | "log" | "info" | "notice" | "warning" | "error"
   620  
   621  	// Batch inserts if possible
   622  	"pglogical.batch_inserts"?: bool & false | true
   623  
   624  	// Sets log level used for logging resolved conflicts.
   625  	"pglogical.conflict_log_level"?: string & "debug5" | "debug4" | "debug3" | "debug2" | "debug1" | "info" | "notice" | "warning" | "error" | "log" | "fatal" | "panic"
   626  
   627  	// Sets method used for conflict resolution for resolvable conflicts.
   628  	"pglogical.conflict_resolution"?: string & "error" | "apply_remote" | "keep_local" | "last_update_wins" | "first_update_wins"
   629  
   630  	// connection options to add to all peer node connections
   631  	"pglogical.extra_connection_options"?: string
   632  
   633  	// pglogical specific synchronous commit value
   634  	"pglogical.synchronous_commit"?: bool & false | true
   635  
   636  	// Use SPI instead of low-level API for applying changes
   637  	"pglogical.use_spi"?: bool & false | true
   638  
   639  	// Starts the autoprewarm worker.
   640  	"pg_prewarm.autoprewarm"?: bool & false | true
   641  
   642  	// Sets the interval between dumps of shared buffers
   643  	"pg_prewarm.autoprewarm_interval"?: int & >=0 & <=2147483
   644  
   645  	// Sets if the result value is normalized or not.
   646  	"pg_similarity.block_is_normalized"?: bool & false | true
   647  
   648  	// Sets the threshold used by the Block similarity function.
   649  	"pg_similarity.block_threshold"?: float & >=0 & <=1
   650  
   651  	// Sets the tokenizer for Block similarity function.
   652  	"pg_similarity.block_tokenizer"?: string & "alnum" | "gram" | "word" | "camelcase"
   653  
   654  	// Sets if the result value is normalized or not.
   655  	"pg_similarity.cosine_is_normalized"?: bool & false | true
   656  
   657  	// Sets the threshold used by the Cosine similarity function.
   658  	"pg_similarity.cosine_threshold"?: float & >=0 & <=1
   659  
   660  	// Sets the tokenizer for Cosine similarity function.
   661  	"pg_similarity.cosine_tokenizer"?: string & "alnum" | "gram" | "word" | "camelcase"
   662  
   663  	// Sets if the result value is normalized or not.
   664  	"pg_similarity.dice_is_normalized"?: bool & false | true
   665  
   666  	// Sets the threshold used by the Dice similarity measure.
   667  	"pg_similarity.dice_threshold"?: float & >=0 & <=1
   668  
   669  	// Sets the tokenizer for Dice similarity measure.
   670  	"pg_similarity.dice_tokenizer"?: string & "alnum" | "gram" | "word" | "camelcase"
   671  
   672  	// Sets if the result value is normalized or not.
   673  	"pg_similarity.euclidean_is_normalized"?: bool & false | true
   674  
   675  	// Sets the threshold used by the Euclidean similarity measure.
   676  	"pg_similarity.euclidean_threshold"?: float & >=0 & <=1
   677  
   678  	// Sets the tokenizer for Euclidean similarity measure.
   679  	"pg_similarity.euclidean_tokenizer"?: string & "alnum" | "gram" | "word" | "camelcase"
   680  
   681  	// Sets if the result value is normalized or not.
   682  	"pg_similarity.hamming_is_normalized"?: bool & false | true
   683  
   684  	// Sets the threshold used by the Block similarity metric.
   685  	"pg_similarity.hamming_threshold"?: float & >=0 & <=1
   686  
   687  	// Sets if the result value is normalized or not.
   688  	"pg_similarity.jaccard_is_normalized"?: bool & false | true
   689  
   690  	// Sets the threshold used by the Jaccard similarity measure.
   691  	"pg_similarity.jaccard_threshold"?: float & >=0 & <=1
   692  
   693  	// Sets the tokenizer for Jaccard similarity measure.
   694  	"pg_similarity.jaccard_tokenizer"?: string & "alnum" | "gram" | "word" | "camelcase"
   695  
   696  	// Sets if the result value is normalized or not.
   697  	"pg_similarity.jaro_is_normalized"?: bool & false | true
   698  
   699  	// Sets the threshold used by the Jaro similarity measure.
   700  	"pg_similarity.jaro_threshold"?: float & >=0 & <=1
   701  
   702  	// Sets if the result value is normalized or not.
   703  	"pg_similarity.jarowinkler_is_normalized"?: bool & false | true
   704  
   705  	// Sets the threshold used by the Jarowinkler similarity measure.
   706  	"pg_similarity.jarowinkler_threshold"?: float & >=0 & <=1
   707  
   708  	// Sets if the result value is normalized or not.
   709  	"pg_similarity.levenshtein_is_normalized"?: bool & false | true
   710  
   711  	// Sets the threshold used by the Levenshtein similarity measure.
   712  	"pg_similarity.levenshtein_threshold"?: float & >=0 & <=1
   713  
   714  	// Sets if the result value is normalized or not.
   715  	"pg_similarity.matching_is_normalized"?: bool & false | true
   716  
   717  	// Sets the threshold used by the Matching Coefficient similarity measure.
   718  	"pg_similarity.matching_threshold"?: float & >=0 & <=1
   719  
   720  	// Sets the tokenizer for Matching Coefficient similarity measure.
   721  	"pg_similarity.matching_tokenizer"?: string & "alnum" | "gram" | "word" | "camelcase"
   722  
   723  	// Sets if the result value is normalized or not.
   724  	"pg_similarity.mongeelkan_is_normalized"?: bool & false | true
   725  
   726  	// Sets the threshold used by the Monge-Elkan similarity measure.
   727  	"pg_similarity.mongeelkan_threshold"?: float & >=0 & <=1
   728  
   729  	// Sets the tokenizer for Monge-Elkan similarity measure.
   730  	"pg_similarity.mongeelkan_tokenizer"?: string & "alnum" | "gram" | "word" | "camelcase"
   731  
   732  	// Sets the gap penalty used by the Needleman-Wunsch similarity measure.
   733  	"pg_similarity.nw_gap_penalty"?: float & >=-9.22337e+18 & <=9.22337e+18
   734  
   735  	// Sets if the result value is normalized or not.
   736  	"pg_similarity.nw_is_normalized"?: bool & false | true
   737  
   738  	// Sets the threshold used by the Needleman-Wunsch similarity measure.
   739  	"pg_similarity.nw_threshold"?: float & >=0 & <=1
   740  
   741  	// Sets if the result value is normalized or not.
   742  	"pg_similarity.overlap_is_normalized"?: bool & false | true
   743  
   744  	// Sets the threshold used by the Overlap Coefficient similarity measure.
   745  	"pg_similarity.overlap_threshold"?: float & >=0 & <=1
   746  
   747  	// Sets the tokenizer for Overlap Coefficientsimilarity measure.
   748  	"pg_similarity.overlap_tokenizer"?: string & "alnum" | "gram" | "word" | "camelcase"
   749  
   750  	// Sets if the result value is normalized or not.
   751  	"pg_similarity.qgram_is_normalized"?: bool & false | true
   752  
   753  	// Sets the threshold used by the Q-Gram similarity measure.
   754  	"pg_similarity.qgram_threshold"?: float & >=0 & <=1
   755  
   756  	// Sets the tokenizer for Q-Gram measure.
   757  	"pg_similarity.qgram_tokenizer"?: string & "alnum" | "gram" | "word" | "camelcase"
   758  
   759  	// Sets if the result value is normalized or not.
   760  	"pg_similarity.swg_is_normalized"?: bool & false | true
   761  
   762  	// Sets the threshold used by the Smith-Waterman-Gotoh similarity measure.
   763  	"pg_similarity.swg_threshold"?: float & >=0 & <=1
   764  
   765  	// Sets if the result value is normalized or not.
   766  	"pg_similarity.sw_is_normalized"?: bool & false | true
   767  
   768  	// Sets the threshold used by the Smith-Waterman similarity measure.
   769  	"pg_similarity.sw_threshold"?: float & >=0 & <=1
   770  
   771  	// Sets the maximum number of statements tracked by pg_stat_statements.
   772  	"pg_stat_statements.max"?: int & >=100 & <=2147483647
   773  
   774  	// Save pg_stat_statements statistics across server shutdowns.
   775  	"pg_stat_statements.save"?: bool & false | true
   776  
   777  	// Selects which statements are tracked by pg_stat_statements.
   778  	"pg_stat_statements.track"?: string & "none" | "top" | "all"
   779  
   780  	// Selects whether planning duration is tracked by pg_stat_statements.
   781  	"pg_stat_statements.track_planning"?: bool & false | true
   782  
   783  	// Selects whether utility commands are tracked by pg_stat_statements.
   784  	"pg_stat_statements.track_utility"?: bool & false | true
   785  
   786  	// Sets the behavior for interacting with passcheck feature.
   787  	"pgtle.enable_password_check"?: string & "on" | "off" | "require"
   788  
   789  	// Number of workers to use for a physical transport.
   790  	"pg_transport.num_workers"?: int & >=1 & <=32
   791  
   792  	// Specifies whether to report timing information during transport.
   793  	"pg_transport.timing"?: bool & false | true
   794  
   795  	// (kB) Amount of memory each worker can allocate for a physical transport.
   796  	"pg_transport.work_mem"?: int & >=65536 & <=2147483647 @storeResource(1KB)
   797  
   798  	// Controls the planner selection of custom or generic plan.
   799  	plan_cache_mode?: string & "auto" | "force_generic_plan" | "force_custom_plan"
   800  
   801  	// Sets the TCP port the server listens on.
   802  	port?: int & >=1 & <=65535
   803  
   804  	// Sets the amount of time to wait after authentication on connection startup. The amount of time to delay when a new server process is started, after it conducts the authentication procedure. This is intended to give developers an opportunity to attach to the server process with a debugger. If this value is specified without units, it is taken as seconds. A value of zero (the default) disables the delay. This parameter cannot be changed after session start.
   805  	post_auth_delay?: int & >=0 & <=2147 @timeDurationResource(1s)
   806  
   807  	// Sets the amount of time to wait before authentication on connection startup. The amount of time to delay just after a new server process is forked, before it conducts the authentication procedure. This is intended to give developers an opportunity to attach to the server process with a debugger to trace down misbehavior in authentication. If this value is specified without units, it is taken as seconds. A value of zero (the default) disables the delay. This parameter can only be set in the postgresql.conf file or on the server command line.
   808  	pre_auth_delay?: int & >=0 & <=60 @timeDurationResource(1s)
   809  
   810  	// Enable for disable GDAL drivers used with PostGIS in Postgres 9.3.5 and above.
   811  	"postgis.gdal_enabled_drivers"?: string & "ENABLE_ALL" | "DISABLE_ALL"
   812  
   813  	// When generating SQL fragments, quote all identifiers.
   814  	quote_all_identifiers?: bool & false | true
   815  
   816  	// Sets the planners estimate of the cost of a nonsequentially fetched disk page.
   817  	random_page_cost?: float & >=0 & <=1.79769e+308
   818  
   819  	// Lower threshold of Dice similarity. Molecules with similarity lower than threshold are not similar by # operation.
   820  	"rdkit.dice_threshold"?: float & >=0 & <=1
   821  
   822  	// Should stereochemistry be taken into account in substructure matching. If false, no stereochemistry information is used in substructure matches.
   823  	"rdkit.do_chiral_sss"?: bool & false | true
   824  
   825  	// Should enhanced stereochemistry be taken into account in substructure matching.
   826  	"rdkit.do_enhanced_stereo_sss"?: bool & false | true
   827  
   828  	// Lower threshold of Tanimoto similarity. Molecules with similarity lower than threshold are not similar by % operation.
   829  	"rdkit.tanimoto_threshold"?: float & >=0 & <=1
   830  
   831  	// When set to fsync, PostgreSQL will recursively open and synchronize all files in the data directory before crash recovery begins
   832  	recovery_init_sync_method?: string & "fsync" | "syncfs"
   833  
   834  	// Reinitialize server after backend crash.
   835  	restart_after_crash?: bool & false | true
   836  
   837  	// Enable row security.
   838  	row_security?: bool & false | true
   839  
   840  	// Sets the schema search order for names that are not schema-qualified.
   841  	search_path?: string
   842  
   843  	// Sets the planners estimate of the cost of a sequentially fetched disk page.
   844  	seq_page_cost?: float & >=0 & <=1.79769e+308
   845  
   846  	// Lists shared libraries to preload into each backend.
   847  	session_preload_libraries?: string & "auto_explain" | "orafce" | "pg_bigm" | "pg_hint_plan" | "pg_prewarm" | "pg_similarity" | "pg_stat_statements" | "pg_transport" | "plprofiler"
   848  
   849  	// Sets the sessions behavior for triggers and rewrite rules.
   850  	session_replication_role?: string & "origin" | "replica" | "local"
   851  
   852  	// (8kB) Sets the number of shared memory buffers used by the server.
   853  	shared_buffers?: int & >=16 & <=1073741823 @storeResource(8KB)
   854  
   855  	// Lists shared libraries to preload into server.
   856  	// TODO: support enum list, e.g. shared_preload_libraries = 'pg_stat_statements, auto_explain'
   857  	// shared_preload_libraries?: string & "auto_explain" | "orafce" | "pgaudit" | "pglogical" | "pg_bigm" | "pg_cron" | "pg_hint_plan" | "pg_prewarm" | "pg_similarity" | "pg_stat_statements" | "pg_tle" | "pg_transport" | "plprofiler"
   858  
   859  	// Enables SSL connections.
   860  	ssl: bool & false | true | *true
   861  
   862  	// Location of the SSL server authority file.
   863  	ssl_ca_file?: string
   864  
   865  	// Location of the SSL server certificate file.
   866  	ssl_cert_file?: string
   867  
   868  	// Sets the list of allowed SSL ciphers.
   869  	ssl_ciphers?: string
   870  
   871  	// Location of the SSL server private key file
   872  	ssl_key_file?: string
   873  
   874  	// Sets the maximum SSL/TLS protocol version to use.
   875  	ssl_max_protocol_version?: string & "TLSv1" | "TLSv1.1" | "TLSv1.2"
   876  
   877  	// Sets the minimum SSL/TLS protocol version to use.
   878  	ssl_min_protocol_version?: string & "TLSv1" | "TLSv1.1" | "TLSv1.2"
   879  
   880  	// Causes ... strings to treat backslashes literally.
   881  	standard_conforming_strings?: bool & false | true
   882  
   883  	// (ms) Sets the maximum allowed duration of any statement.
   884  	statement_timeout?: int & >=0 & <=2147483647 @timeDurationResource()
   885  
   886  	// Writes temporary statistics files to the specified directory.
   887  	stats_temp_directory?: string
   888  
   889  	// Sets the number of connection slots reserved for superusers.
   890  	superuser_reserved_connections: int & >=0 & <=8388607 | *3
   891  
   892  	// Enable synchronized sequential scans.
   893  	synchronize_seqscans?: bool & false | true
   894  
   895  	// Sets the current transactions synchronization level.
   896  	synchronous_commit?: string & "local" | "on" | "off"
   897  
   898  	// Maximum number of TCP keepalive retransmits.
   899  	tcp_keepalives_count?: int & >=0 & <=2147483647
   900  
   901  	// (s) Time between issuing TCP keepalives.
   902  	tcp_keepalives_idle?: int & >=0 & <=2147483647 @timeDurationResource(1s)
   903  
   904  	// (s) Time between TCP keepalive retransmits.
   905  	tcp_keepalives_interval?: int & >=0 & <=2147483647 @timeDurationResource(1s)
   906  
   907  	// TCP user timeout. Specifies the amount of time that transmitted data may remain unacknowledged before the TCP connection is forcibly closed. If this value is specified without units, it is taken as milliseconds. A value of 0 (the default) selects the operating system's default. This parameter is supported only on systems that support TCP_USER_TIMEOUT; on other systems, it must be zero. In sessions connected via a Unix-domain socket, this parameter is ignored and always reads as zero.
   908  	tcp_user_timeout?: int & >=0 & <=2147483647 @timeDurationResource()
   909  
   910  	// (8kB) Sets the maximum number of temporary buffers used by each session.
   911  	temp_buffers?: int & >=100 & <=1073741823 @storeResource(8KB)
   912  
   913  	// (kB) Limits the total size of all temporary files used by each process.
   914  	temp_file_limit?: int & >=-1 & <=2147483647 @storeResource(1KB)
   915  
   916  	// Sets the tablespace(s) to use for temporary tables and sort files.
   917  	temp_tablespaces?: string
   918  
   919  	// Sets the time zone for displaying and interpreting time stamps.
   920  	timezone?: string
   921  
   922  	// Collects information about executing commands.
   923  	track_activities?: bool & false | true
   924  
   925  	// Sets the size reserved for pg_stat_activity.current_query, in bytes.
   926  	track_activity_query_size: int & >=100 & <=1048576 | *4096 @storeResource()
   927  
   928  	// Collects transaction commit time.
   929  	track_commit_timestamp?: bool & false | true
   930  
   931  	// Collects statistics on database activity.
   932  	track_counts?: bool & false | true
   933  
   934  	// Collects function-level statistics on database activity.
   935  	track_functions?: string & "none" | "pl" | "all"
   936  
   937  	// Collects timing statistics on database IO activity.
   938  	track_io_timing: bool & false | true | *true
   939  
   940  	// Treats expr=NULL as expr IS NULL.
   941  	transform_null_equals?: bool & false | true
   942  
   943  	// Sets the directory where the Unix-domain socket will be created.
   944  	unix_socket_directories?: string
   945  
   946  	// Sets the owning group of the Unix-domain socket.
   947  	unix_socket_group?: string
   948  
   949  	// Sets the access permissions of the Unix-domain socket.
   950  	unix_socket_permissions?: int & >=0 & <=511
   951  
   952  	// Updates the process title to show the active SQL command.
   953  	update_process_title: bool & false | true | *true
   954  
   955  	// (ms) Vacuum cost delay in milliseconds.
   956  	vacuum_cost_delay?: int & >=0 & <=100 @timeDurationResource()
   957  
   958  	// Vacuum cost amount available before napping.
   959  	vacuum_cost_limit?: int & >=1 & <=10000
   960  
   961  	// Vacuum cost for a page dirtied by vacuum.
   962  	vacuum_cost_page_dirty?: int & >=0 & <=10000
   963  
   964  	// Vacuum cost for a page found in the buffer cache.
   965  	vacuum_cost_page_hit?: int & >=0 & <=10000
   966  
   967  	// Vacuum cost for a page not found in the buffer cache.
   968  	vacuum_cost_page_miss: int & >=0 & <=10000 | *5
   969  
   970  	// Number of transactions by which VACUUM and HOT cleanup should be deferred, if any.
   971  	vacuum_defer_cleanup_age?: int & >=0 & <=1000000
   972  
   973  	// Minimum age at which VACUUM should freeze a table row.
   974  	vacuum_freeze_min_age?: int & >=0 & <=1000000000
   975  
   976  	// Age at which VACUUM should scan whole table to freeze tuples.
   977  	vacuum_freeze_table_age?: int & >=0 & <=2000000000
   978  
   979  	// Minimum age at which VACUUM should freeze a MultiXactId in a table row.
   980  	vacuum_multixact_freeze_min_age?: int & >=0 & <=1000000000
   981  
   982  	// Multixact age at which VACUUM should scan whole table to freeze tuples.
   983  	vacuum_multixact_freeze_table_age?: int & >=0 & <=2000000000
   984  
   985  	// (8kB) Sets the number of disk-page buffers in shared memory for WAL.
   986  	wal_buffers?: int & >=-1 & <=262143 @storeResource(8KB)
   987  
   988  	// Compresses full-page writes written in WAL file.
   989  	wal_compression: bool & false | true | *true
   990  
   991  	// Sets the WAL resource managers for which WAL consistency checks are done.
   992  	wal_consistency_checking?: string
   993  
   994  	// Buffer size for reading ahead in the WAL during recovery. 
   995  	wal_decode_buffer_size: int & >=65536 & <=1073741823 | *524288 @storeResource()
   996  
   997  	// Sets whether a WAL receiver should create a temporary replication slot if no permanent slot is configured.
   998  	wal_receiver_create_temp_slot: bool & false | true | *false
   999  
  1000  	// (s) Sets the maximum interval between WAL receiver status reports to the primary.
  1001  	wal_receiver_status_interval?: int & >=0 & <=2147483 @timeDurationResource(1s)
  1002  
  1003  	// (ms) Sets the maximum wait time to receive data from the primary.
  1004  	wal_receiver_timeout: int & >=0 & <=3600000 | *30000 @timeDurationResource()
  1005  
  1006  	// Recycles WAL files by renaming them. If set to on (the default), this option causes WAL files to be recycled by renaming them, avoiding the need to create new ones. On COW file systems, it may be faster to create new ones, so the option is given to disable this behavior.
  1007  	wal_recycle?: bool
  1008  
  1009  	// Sets the time to wait before retrying to retrieve WAL after a failed attempt. Specifies how long the standby server should wait when WAL data is not available from any sources (streaming replication, local pg_wal or WAL archive) before trying again to retrieve WAL data. If this value is specified without units, it is taken as milliseconds. The default value is 5 seconds. This parameter can only be set in the postgresql.conf file or on the server command line.
  1010  	wal_retrieve_retry_interval: int & >=1 & <=2147483647 | *5000 @timeDurationResource()
  1011  
  1012  	// (ms) Sets the maximum time to wait for WAL replication.
  1013  	wal_sender_timeout: int & >=0 & <=3600000 | *30000 @timeDurationResource()
  1014  
  1015  	// Selects the method used for forcing WAL updates to disk.
  1016  	wal_sync_method?: string & "fsync" | "fdatasync" | "open_sync" | "open_datasync"
  1017  
  1018  	// (ms) WAL writer sleep time between WAL flushes.
  1019  	wal_writer_delay?: int & >=1 & <=10000 @timeDurationResource()
  1020  
  1021  	// (8Kb) Amount of WAL written out by WAL writer triggering a flush.
  1022  	wal_writer_flush_after?: int & >=0 & <=2147483647 @storeResource(8KB)
  1023  
  1024  	// If set to on (the default), this option causes new WAL files to be filled with zeroes. On some file systems, this ensures that space is allocated before we need to write WAL records. However, Copy-On-Write (COW) file systems may not benefit from this technique, so the option is given to skip the unnecessary work. If set to off, only the final byte is written when the file is created so that it has the expected size.
  1025  	wal_init_zero?: string & "on" | "off"
  1026  
  1027  	// (kB) Sets the maximum memory to be used for query workspaces.
  1028  	work_mem?: int & >=64 & <=2147483647 @storeResource(1KB)
  1029  
  1030  	// Sets how binary values are to be encoded in XML.
  1031  	xmlbinary?: string & "base64" | "hex"
  1032  
  1033  	// Sets whether XML data in implicit parsing and serialization operations is to be considered as documents or content fragments.
  1034  	xmloption?: string & "content" | "document"
  1035  
  1036  	...
  1037  }
  1038  
  1039  configuration: #PGParameter & {
  1040  }