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