4220 lines
162 KiB
Go
4220 lines
162 KiB
Go
// Copyright 2024 Dolthub, Inc.
|
|
//
|
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
// you may not use this file except in compliance with the License.
|
|
// You may obtain a copy of the License at
|
|
//
|
|
// http://www.apache.org/licenses/LICENSE-2.0
|
|
//
|
|
// Unless required by applicable law or agreed to in writing, software
|
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
// See the License for the specific language governing permissions and
|
|
// limitations under the License.
|
|
|
|
package config
|
|
|
|
import (
|
|
"fmt"
|
|
"math"
|
|
"strings"
|
|
"time"
|
|
|
|
"github.com/dolthub/go-mysql-server/sql"
|
|
"github.com/dolthub/go-mysql-server/sql/types"
|
|
)
|
|
|
|
// IsValidPostgresConfigParameter returns true if the given parameter name is a valid postgres configuration parameter.
|
|
func IsValidPostgresConfigParameter(name string) bool {
|
|
_, ok := postgresConfigParameters[strings.ToLower(name)]
|
|
return ok
|
|
}
|
|
|
|
// IsValidDoltConfigParameter returns true if the given parameter name is a valid Dolt configuration parameter.
|
|
func IsValidDoltConfigParameter(name string) bool {
|
|
_, ok := doltConfigParameters[strings.ToLower(name)]
|
|
return ok
|
|
}
|
|
|
|
// postgresConfigParameters is a list of configuration parameters that can be used in SET statement.
|
|
var postgresConfigParameters = map[string]sql.SystemVariable{
|
|
"allow_in_place_tablespaces": &Parameter{
|
|
Name: "allow_in_place_tablespaces",
|
|
Default: int8(0),
|
|
Category: "Developer Options",
|
|
ShortDesc: "Allows tablespaces directly inside pg_tblspc, for testing.",
|
|
Context: ParameterContextSuperUser,
|
|
Type: types.NewSystemBoolType("allow_in_place_tablespaces"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int8(0),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"allow_system_table_mods": &Parameter{
|
|
Name: "allow_system_table_mods",
|
|
Default: int8(0),
|
|
Category: "Developer Options",
|
|
ShortDesc: "Allows modifications of the structure of system tables.",
|
|
Context: ParameterContextSuperUser,
|
|
Type: types.NewSystemBoolType("allow_system_table_mods"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int8(0),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"application_name": &Parameter{
|
|
Name: "application_name",
|
|
Default: "psql",
|
|
Category: "Reporting and Logging / What to Log",
|
|
ShortDesc: "Sets the application name to be reported in statistics and logs.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemStringType("application_name"),
|
|
Source: ParameterSourceClient,
|
|
ResetVal: "psql",
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"archive_cleanup_command": &Parameter{
|
|
Name: "archive_cleanup_command",
|
|
Default: "",
|
|
Category: "Write-Ahead Log / Archive Recovery",
|
|
ShortDesc: "Sets the shell command that will be executed at every restart point.",
|
|
Context: ParameterContextSighup,
|
|
Type: types.NewSystemStringType("archive_cleanup_command"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: "",
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"archive_command": &Parameter{
|
|
Name: "archive_command",
|
|
Default: "(disabled)",
|
|
Category: "Write-Ahead Log / Archiving",
|
|
ShortDesc: "Sets the shell command that will be called to archive a WAL file.",
|
|
Context: ParameterContextSighup,
|
|
Type: types.NewSystemStringType("archive_command"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: "",
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"archive_library": &Parameter{
|
|
Name: "archive_library",
|
|
Default: "",
|
|
Category: "Write-Ahead Log / Archiving",
|
|
ShortDesc: "Sets the library that will be called to archive a WAL file.",
|
|
Context: ParameterContextSighup,
|
|
Type: types.NewSystemStringType("archive_library"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: "",
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"archive_mode": &Parameter{
|
|
Name: "archive_mode",
|
|
Default: "off",
|
|
Category: "Write-Ahead Log / Archiving",
|
|
ShortDesc: "Allows archiving of WAL files using archive_command.",
|
|
Context: ParameterContextPostmaster,
|
|
Type: types.NewSystemEnumType("archive_mode", "always", "on", "off"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: "off",
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"archive_timeout": &Parameter{
|
|
Name: "archive_timeout",
|
|
Default: int64(0),
|
|
// Unit: "s",
|
|
Category: "Write-Ahead Log / Archiving",
|
|
ShortDesc: "Sets the amount of time to wait before forcing a switch to the next WAL file.",
|
|
Context: ParameterContextSighup,
|
|
Type: types.NewSystemIntType("archive_timeout", 0, 1073741823, false),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int64(0),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"array_nulls": &Parameter{
|
|
Name: "array_nulls",
|
|
Default: int8(1),
|
|
Category: "Version and Platform Compatibility / Previous PostgreSQL Versions",
|
|
ShortDesc: "Enable input of NULL elements in arrays.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemBoolType("array_nulls"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int8(1),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"authentication_timeout": &Parameter{
|
|
Name: "authentication_timeout",
|
|
Default: int64(60),
|
|
// Unit: "s",
|
|
Category: "Connections and Authentication / Authentication",
|
|
ShortDesc: "Sets the maximum allowed time to complete client authentication.",
|
|
Context: ParameterContextSighup,
|
|
Type: types.NewSystemIntType("authentication_timeout", 1, 600, false),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int64(60),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"autovacuum": &Parameter{
|
|
Name: "autovacuum",
|
|
Default: int8(1),
|
|
Category: "Autovacuum",
|
|
ShortDesc: "Starts the autovacuum subprocess.",
|
|
Context: ParameterContextSighup,
|
|
Type: types.NewSystemBoolType("autovacuum"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int8(1),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"autovacuum_analyze_scale_factor": &Parameter{
|
|
Name: "autovacuum_analyze_scale_factor",
|
|
Default: 0.1,
|
|
Category: "Autovacuum",
|
|
ShortDesc: "Number of tuple inserts, updates, or deletes prior to analyze as a fraction of reltuples.",
|
|
Context: ParameterContextSighup,
|
|
Type: types.NewSystemDoubleType("autovacuum_analyze_scale_factor", 0, 100),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: 0.1,
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"autovacuum_analyze_threshold": &Parameter{
|
|
Name: "autovacuum_analyze_threshold",
|
|
Default: int64(50),
|
|
Category: "Autovacuum",
|
|
ShortDesc: "Minimum number of tuple inserts, updates, or deletes prior to analyze.",
|
|
Context: ParameterContextSighup,
|
|
Type: types.NewSystemIntType("autovacuum_analyze_threshold", 0, math.MaxInt32, false),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int64(50),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"autovacuum_freeze_max_age": &Parameter{
|
|
Name: "autovacuum_freeze_max_age",
|
|
Default: int64(2000000000),
|
|
Category: "Autovacuum",
|
|
ShortDesc: "Age at which to autovacuum a table to prevent transaction ID wraparound.",
|
|
Context: ParameterContextPostmaster,
|
|
Type: types.NewSystemIntType("autovacuum_freeze_max_age", 100000, 2000000000, false),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int64(2000000000),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"autovacuum_max_workers": &Parameter{
|
|
Name: "autovacuum_max_workers",
|
|
Default: int64(3),
|
|
Category: "Autovacuum",
|
|
ShortDesc: "Sets the maximum number of simultaneously running autovacuum worker processes.",
|
|
Context: ParameterContextPostmaster,
|
|
Type: types.NewSystemIntType("autovacuum_max_workers", 1, 262143, false),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int64(3),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"autovacuum_multixact_freeze_max_age": &Parameter{
|
|
Name: "autovacuum_multixact_freeze_max_age",
|
|
Default: int64(400000000),
|
|
Category: "Autovacuum",
|
|
ShortDesc: "Multixact age at which to autovacuum a table to prevent multixact wraparound.",
|
|
Context: ParameterContextPostmaster,
|
|
Type: types.NewSystemIntType("autovacuum_multixact_freeze_max_age", 10000, 2000000000, false),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int64(400000000),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"autovacuum_naptime": &Parameter{
|
|
Name: "autovacuum_naptime",
|
|
Default: int64(60),
|
|
// Unit: "s",
|
|
Category: "Autovacuum",
|
|
ShortDesc: "Time to sleep between autovacuum runs.",
|
|
Context: ParameterContextSighup,
|
|
Type: types.NewSystemIntType("autovacuum_naptime", 1, 2147483, false),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int64(60),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"autovacuum_vacuum_cost_delay": &Parameter{
|
|
Name: "autovacuum_vacuum_cost_delay",
|
|
Default: float64(2),
|
|
// Unit: "ms",
|
|
Category: "Autovacuum",
|
|
ShortDesc: "Vacuum cost delay in milliseconds, for autovacuum.",
|
|
Context: ParameterContextSighup,
|
|
Type: types.NewSystemDoubleType("autovacuum_vacuum_cost_delay", -1, 100),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: float64(2),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"autovacuum_vacuum_cost_limit": &Parameter{
|
|
Name: "autovacuum_vacuum_cost_limit",
|
|
Default: int64(-1),
|
|
Category: "Autovacuum",
|
|
ShortDesc: "Vacuum cost amount available before napping, for autovacuum.",
|
|
Context: ParameterContextSighup,
|
|
Type: types.NewSystemIntType("autovacuum_vacuum_cost_limit", -1, 10000, true),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int64(-1),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"autovacuum_vacuum_insert_scale_factor": &Parameter{
|
|
Name: "autovacuum_vacuum_insert_scale_factor",
|
|
Default: float64(0.2),
|
|
Category: "Autovacuum",
|
|
ShortDesc: "Number of tuple inserts prior to vacuum as a fraction of reltuples.",
|
|
Context: ParameterContextSighup,
|
|
Type: types.NewSystemDoubleType("autovacuum_vacuum_insert_scale_factor", 0, 100),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: float64(0.2),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"autovacuum_vacuum_insert_threshold": &Parameter{
|
|
Name: "autovacuum_vacuum_insert_threshold",
|
|
Default: int64(1000),
|
|
Category: "Autovacuum",
|
|
ShortDesc: "SMinimum number of tuple inserts prior to vacuum, or -1 to disable insert vacuums.",
|
|
Context: ParameterContextSighup,
|
|
Type: types.NewSystemIntType("autovacuum_vacuum_insert_threshold", -1, math.MaxInt32, true),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int64(1000),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"autovacuum_vacuum_scale_factor": &Parameter{
|
|
Name: "autovacuum_vacuum_scale_factor",
|
|
Default: float64(0.2),
|
|
Category: "Autovacuum",
|
|
ShortDesc: "Number of tuple updates or deletes prior to vacuum as a fraction of reltuples.",
|
|
Context: ParameterContextSighup,
|
|
Type: types.NewSystemDoubleType("autovacuum_vacuum_scale_factor", 0, 100),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: float64(0.2),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"autovacuum_vacuum_threshold": &Parameter{
|
|
Name: "autovacuum_vacuum_threshold",
|
|
Default: int64(50),
|
|
Category: "Autovacuum",
|
|
ShortDesc: "Minimum number of tuple updates or deletes prior to vacuum.",
|
|
Context: ParameterContextSighup,
|
|
Type: types.NewSystemIntType("autovacuum_vacuum_threshold", 0, math.MaxInt32, false),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int64(50),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"autovacuum_work_mem": &Parameter{
|
|
Name: "autovacuum_work_mem",
|
|
Default: int64(-1),
|
|
// Unit: "kB",
|
|
Category: "Resource Usage / Memory",
|
|
ShortDesc: "Sets the maximum memory to be used by each autovacuum worker process.",
|
|
Context: ParameterContextSighup,
|
|
Type: types.NewSystemIntType("autovacuum_work_mem", -1, math.MaxInt32, true),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int64(-1),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"backend_flush_after": &Parameter{
|
|
Name: "backend_flush_after",
|
|
Default: int64(0),
|
|
// Unit: "8kB",
|
|
Category: "Resource Usage / Asynchronous Behavior",
|
|
ShortDesc: "Number of pages after which previously performed writes are flushed to disk.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemIntType("backend_flush_after", 0, 256, false),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int64(0),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"backslash_quote": &Parameter{
|
|
Name: "backslash_quote",
|
|
Default: "safe_encoding",
|
|
Category: "Version and Platform Compatibility / Previous PostgreSQL Versions",
|
|
ShortDesc: "Sets whether \"\\'\" is allowed in string literals.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemEnumType("backslash_quote", "safe_encoding", "on", "ff"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: "safe_encoding",
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"backtrace_functions": &Parameter{
|
|
Name: "backtrace_functions",
|
|
Default: "",
|
|
Category: "Developer Options",
|
|
ShortDesc: "Log backtrace for errors in these functions.",
|
|
Context: ParameterContextSuperUser,
|
|
Type: types.NewSystemStringType("backtrace_functions"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: "",
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"bgwriter_delay": &Parameter{
|
|
Name: "bgwriter_delay",
|
|
Default: int64(200),
|
|
Category: "Resource Usage / Background Writer",
|
|
ShortDesc: "Background writer sleep time between rounds.",
|
|
Context: ParameterContextSighup,
|
|
Type: types.NewSystemIntType("bgwriter_delay", 10, 10000, false),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int64(200),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"bgwriter_flush_after": &Parameter{
|
|
Name: "bgwriter_flush_after",
|
|
Default: int64(0),
|
|
// Unit: "8kB",
|
|
Category: "Resource Usage / Background Writer",
|
|
ShortDesc: "Number of pages after which previously performed writes are flushed to disk.",
|
|
Context: ParameterContextSighup,
|
|
Type: types.NewSystemIntType("bgwriter_flush_after", 0, 256, false),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int64(0),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"bgwriter_lru_maxpages": &Parameter{
|
|
Name: "bgwriter_lru_maxpages",
|
|
Default: int64(100),
|
|
Category: "Resource Usage / Background Writer",
|
|
ShortDesc: "Background writer maximum number of LRU pages to flush per round.",
|
|
Context: ParameterContextSighup,
|
|
Type: types.NewSystemIntType("bgwriter_lru_maxpages", 0, 1073741823, false),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int64(100),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"bgwriter_lru_multiplier": &Parameter{
|
|
Name: "bgwriter_lru_multiplier",
|
|
Default: float64(2),
|
|
Category: "Resource Usage / Background Writer",
|
|
ShortDesc: "Multiple of the average buffer usage to free per round.",
|
|
Context: ParameterContextSighup,
|
|
Type: types.NewSystemDoubleType("bgwriter_lru_multiplier", 0, 10),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: float64(2),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"block_size": &Parameter{
|
|
Name: "block_size",
|
|
Default: int64(8192),
|
|
Category: "Preset Options",
|
|
ShortDesc: "Shows the size of a disk block.",
|
|
Context: ParameterContextInternal,
|
|
Type: types.NewSystemIntType("block_size", 8192, 8192, false),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int64(8192),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"bonjour": &Parameter{
|
|
Name: "bonjour",
|
|
Default: int8(0),
|
|
Category: "Connections and Authentication / Connection Settings",
|
|
ShortDesc: "Enables advertising the server via Bonjour.",
|
|
Context: ParameterContextPostmaster,
|
|
Type: types.NewSystemBoolType("bonjour"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int8(0),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"bonjour_name": &Parameter{
|
|
Name: "bonjour_name",
|
|
Default: "",
|
|
Category: "Connections and Authentication / Connection Settings",
|
|
ShortDesc: "Sets the Bonjour service name.",
|
|
Context: ParameterContextPostmaster,
|
|
Type: types.NewSystemStringType("bonjour_name"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: "",
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"bytea_output": &Parameter{
|
|
Name: "bytea_output",
|
|
Default: "hex",
|
|
Category: "Client Connection Defaults / Statement Behavior",
|
|
ShortDesc: "Sets the output format for bytea.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemEnumType("bytea_output", "escape", "hex"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: "hex",
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"check_function_bodies": &Parameter{
|
|
Name: "check_function_bodies",
|
|
Default: int8(1),
|
|
Category: "Client Connection Defaults / Statement Behavior",
|
|
ShortDesc: "Check routine bodies during CREATE FUNCTION and CREATE PROCEDURE.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemBoolType("check_function_bodies"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int8(1),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"checkpoint_completion_target": &Parameter{
|
|
Name: "checkpoint_completion_target",
|
|
Default: float64(0.9),
|
|
Category: "Write-Ahead Log / Checkpoints",
|
|
ShortDesc: "Time spent flushing dirty buffers during checkpoint, as fraction of checkpoint interval.",
|
|
Context: ParameterContextSighup,
|
|
Type: types.NewSystemDoubleType("checkpoint_completion_target", 0, 1),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: float64(0.9),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"checkpoint_flush_after": &Parameter{
|
|
Name: "checkpoint_flush_after",
|
|
Default: int64(0),
|
|
// Unit: "8kB",
|
|
Category: "Write-Ahead Log / Checkpoints",
|
|
ShortDesc: "Number of pages after which previously performed writes are flushed to disk.",
|
|
Context: ParameterContextSighup,
|
|
Type: types.NewSystemIntType("checkpoint_flush_after", 0, 256, false),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int64(0),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"checkpoint_timeout": &Parameter{
|
|
Name: "checkpoint_timeout",
|
|
Default: int64(300),
|
|
// Unit: "s",
|
|
Category: "Write-Ahead Log / Checkpoints",
|
|
ShortDesc: "Sets the maximum time between automatic WAL checkpoints.",
|
|
Context: ParameterContextSighup,
|
|
Type: types.NewSystemIntType("checkpoint_timeout", 30, 86400, false),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int64(300),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"checkpoint_warning": &Parameter{
|
|
Name: "checkpoint_warning",
|
|
Default: int64(30),
|
|
// Unit: "s",
|
|
Category: "Write-Ahead Log / Checkpoints",
|
|
ShortDesc: "Sets the maximum time before warning if checkpoints triggered by WAL volume happen too frequently.",
|
|
Context: ParameterContextSighup,
|
|
Type: types.NewSystemIntType("checkpoint_warning", 0, math.MaxInt32, false),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int64(30),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"client_connection_check_interval": &Parameter{
|
|
Name: "client_connection_check_interval",
|
|
Default: int64(0),
|
|
// Unit: "ms",
|
|
Category: "Connections and Authentication / TCP Settings",
|
|
ShortDesc: "Sets the time interval between checks for disconnection while running queries.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemIntType("client_connection_check_interval", 0, math.MaxInt32, false),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int64(0),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"client_encoding": &Parameter{
|
|
Name: "client_encoding",
|
|
Default: "UTF8",
|
|
Category: "Client Connection Defaults / Locale and Formatting",
|
|
ShortDesc: "Sets the client's character set encoding.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemStringType("client_encoding"),
|
|
Source: ParameterSourceClient,
|
|
// BootVal: "SQL_ASCII",
|
|
ResetVal: "UTF8",
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"client_min_messages": &Parameter{
|
|
Name: "client_min_messages",
|
|
Default: "notice",
|
|
Category: "Client Connection Defaults / Statement Behavior",
|
|
ShortDesc: "Sets the message levels that are sent to the client.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemEnumType("client_min_messages", "debug5", "debug4", "debug3", "debug2", "debug1", "log", "notice", "warning", "error"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: "notice",
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"cluster_name": &Parameter{
|
|
Name: "cluster_name",
|
|
Default: "",
|
|
Category: "Reporting and Logging / Process Title",
|
|
ShortDesc: "Sets the name of the cluster, which is included in the process title.",
|
|
Context: ParameterContextPostmaster,
|
|
Type: types.NewSystemStringType("cluster_name"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: "",
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"commit_delay": &Parameter{
|
|
Name: "commit_delay",
|
|
Default: int64(0),
|
|
Category: "Write-Ahead Log / Settings",
|
|
ShortDesc: "Sets the delay in microseconds between transaction commit and flushing WAL to disk.",
|
|
Context: ParameterContextSuperUser,
|
|
Type: types.NewSystemIntType("commit_delay", 0, 100000, false),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int64(0),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"commit_siblings": &Parameter{
|
|
Name: "commit_siblings",
|
|
Default: int64(5),
|
|
Category: "Write-Ahead Log / Settings",
|
|
ShortDesc: "Sets the minimum number of concurrent open transactions required before performing commit_delay.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemIntType("commit_siblings", 0, 1000, false),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int64(5),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"compute_query_id": &Parameter{
|
|
Name: "compute_query_id",
|
|
Default: "auto",
|
|
Category: "Statistics / Monitoring",
|
|
ShortDesc: "Enables in-core computation of query identifiers.",
|
|
Context: ParameterContextSuperUser,
|
|
Type: types.NewSystemEnumType("compute_query_id", "auto", "regress", "on", "off"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: "auto",
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"config_file": &Parameter{
|
|
Name: "config_file",
|
|
Default: "postgresql.conf",
|
|
Category: "File Locations",
|
|
ShortDesc: "Sets the server's main configuration file.",
|
|
Context: ParameterContextPostmaster,
|
|
Type: types.NewSystemStringType("config_file"),
|
|
Source: ParameterSourceOverride,
|
|
ResetVal: "postgresql.conf",
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"constraint_exclusion": &Parameter{
|
|
Name: "constraint_exclusion",
|
|
Default: "partition",
|
|
Category: "Query Tuning / Other Planner Options",
|
|
ShortDesc: "Enables the planner to use constraints to optimize queries.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemEnumType("constraint_exclusion", "partition", "on", "off"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: "partition",
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"cpu_index_tuple_cost": &Parameter{
|
|
Name: "cpu_index_tuple_cost",
|
|
Default: float64(0.005),
|
|
Category: "Query Tuning / Planner Cost Constants",
|
|
ShortDesc: "Sets the planner's estimate of the cost of processing each index entry during an index scan.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemDoubleType("cpu_index_tuple_cost", 0, math.MaxFloat64),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: float64(0.005),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"cpu_operator_cost": &Parameter{
|
|
Name: "cpu_operator_cost",
|
|
Default: float64(0.0025),
|
|
Category: "Query Tuning / Planner Cost Constants",
|
|
ShortDesc: "Sets the planner's estimate of the cost of processing each operator or function call.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemDoubleType("cpu_operator_cost", 0, math.MaxFloat64),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: float64(0.0025),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"cpu_tuple_cost": &Parameter{
|
|
Name: "cpu_tuple_cost",
|
|
Default: float64(0.01),
|
|
Category: "Query Tuning / Planner Cost Constants",
|
|
ShortDesc: "Sets the planner's estimate of the cost of processing each tuple (row).",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemDoubleType("cpu_tuple_cost", 0, math.MaxFloat64),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: float64(0.01),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"createrole_self_grant": &Parameter{
|
|
Name: "createrole_self_grant",
|
|
Default: "",
|
|
Category: "Client Connection Defaults / Statement Behavior",
|
|
ShortDesc: "Sets whether a CREATEROLE user automatically grants the role to themselves, and with which options.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemStringType("createrole_self_grant"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: "",
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
// The value must be `set`, `inherit`, or a comma-separated list of these. The default value is an empty string, which disables the feature.
|
|
},
|
|
"cursor_tuple_fraction": &Parameter{
|
|
Name: "cursor_tuple_fraction",
|
|
Default: float64(0.1),
|
|
Category: "Query Tuning / Other Planner Options",
|
|
ShortDesc: "Sets the planner's estimate of the fraction of a cursor's rows that will be retrieved.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemDoubleType("cursor_tuple_fraction", 0, 1),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: float64(0.1),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"data_checksums": &Parameter{
|
|
Name: "data_checksums",
|
|
Default: int8(0),
|
|
Category: "Preset Options",
|
|
ShortDesc: "Shows whether data checksums are turned on for this cluster.",
|
|
Context: ParameterContextInternal,
|
|
Type: types.NewSystemBoolType("data_checksums"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int8(0),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"data_directory": &Parameter{
|
|
Name: "data_directory",
|
|
Default: "postgres",
|
|
Category: "File Locations",
|
|
ShortDesc: "Sets the server's data directory.",
|
|
Context: ParameterContextPostmaster,
|
|
Type: types.NewSystemStringType("data_directory"),
|
|
Source: ParameterSourceOverride,
|
|
ResetVal: "postgres",
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"data_directory_mode": &Parameter{
|
|
Name: "data_directory_mode",
|
|
Default: int64(448), // TODO: displays in octal, which is 0700
|
|
Category: "Preset Options",
|
|
ShortDesc: "Shows the mode of the data directory.",
|
|
Context: ParameterContextInternal,
|
|
Type: types.NewSystemIntType("data_directory_mode", 0, 511, false),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int64(448),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"data_sync_retry": &Parameter{
|
|
Name: "data_sync_retry",
|
|
Default: int8(0),
|
|
Category: "Error Handling",
|
|
ShortDesc: "Whether to continue running after a failure to sync data files.",
|
|
Context: ParameterContextPostmaster,
|
|
Type: types.NewSystemBoolType("data_sync_retry"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int8(0),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"datestyle": &Parameter{
|
|
Name: "DateStyle",
|
|
Default: "ISO, MDY",
|
|
Category: "Client Connection Defaults / Locale and Formatting",
|
|
ShortDesc: "Sets the display format for date and time values.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemStringType("datestyle"),
|
|
Source: ParameterSourceConfigurationFile,
|
|
ResetVal: "ISO, MDY",
|
|
// Sourcefile: postgresql.conf
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
ValidateFunc: func(curr, new any) (any, bool) {
|
|
ds := "ISO"
|
|
do := "MDY"
|
|
if oldVal, ok := curr.(string); ok {
|
|
currentVal := strings.Split(strings.ReplaceAll(oldVal, " ", ""), ",")
|
|
if len(currentVal) == 2 {
|
|
// the first must be date style and second must be date ordering
|
|
ds = currentVal[0]
|
|
do = currentVal[1]
|
|
}
|
|
}
|
|
newVal, ok := new.(string)
|
|
if !ok {
|
|
return "", false
|
|
}
|
|
|
|
var dsSet, doSet bool
|
|
values := strings.Split(strings.ReplaceAll(strings.ToLower(newVal), " ", ""), ",")
|
|
for _, value := range values {
|
|
switch value {
|
|
case "iso":
|
|
if dsSet {
|
|
return "", false
|
|
}
|
|
ds = "ISO"
|
|
dsSet = true
|
|
case "sql":
|
|
if dsSet {
|
|
return "", false
|
|
}
|
|
ds = "SQL"
|
|
dsSet = true
|
|
case "postgres":
|
|
if dsSet {
|
|
return "", false
|
|
}
|
|
ds = "Postgres"
|
|
dsSet = true
|
|
case "german":
|
|
if dsSet {
|
|
return "", false
|
|
}
|
|
ds = "German"
|
|
dsSet = true
|
|
if !doSet {
|
|
do = "DMY"
|
|
}
|
|
case "us", "noneuropean", "mdy":
|
|
// MDY
|
|
if doSet {
|
|
return "", false
|
|
}
|
|
do = "MDY"
|
|
doSet = true
|
|
case "european", "dmy":
|
|
// DMY
|
|
if doSet {
|
|
return "", false
|
|
}
|
|
do = "DMY"
|
|
doSet = true
|
|
case "ymd":
|
|
if doSet {
|
|
return "", false
|
|
}
|
|
do = "YMD"
|
|
doSet = true
|
|
default:
|
|
return "", false
|
|
}
|
|
}
|
|
return fmt.Sprintf(`%s, %s`, ds, do), true
|
|
},
|
|
},
|
|
"db_user_namespace": &Parameter{
|
|
Name: "db_user_namespace",
|
|
Default: int8(0),
|
|
Category: "Connections and Authentication / Authentication",
|
|
ShortDesc: "Enables per-database user names.",
|
|
Context: ParameterContextSighup,
|
|
Type: types.NewSystemBoolType("db_user_namespace"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int8(0),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"deadlock_timeout": &Parameter{
|
|
Name: "deadlock_timeout",
|
|
Default: int64(1000),
|
|
// Unit: "ms",
|
|
Category: "Lock Management",
|
|
ShortDesc: "Sets the time to wait on a lock before checking for deadlock.",
|
|
Context: ParameterContextSuperUser,
|
|
Type: types.NewSystemIntType("deadlock_timeout", 1, math.MaxInt32, false),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int64(1000),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"debug_assertions": &Parameter{
|
|
Name: "debug_assertions",
|
|
Default: int8(0),
|
|
Category: "Preset Options",
|
|
ShortDesc: "Shows whether the running server has assertion checks enabled.",
|
|
Context: ParameterContextInternal,
|
|
Type: types.NewSystemBoolType("debug_assertions"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int8(0),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"debug_discard_caches": &Parameter{
|
|
Name: "debug_discard_caches",
|
|
Default: int64(0),
|
|
Category: "Developer Options",
|
|
ShortDesc: "Aggressively flush system caches for debugging purposes.",
|
|
Context: ParameterContextSuperUser,
|
|
Type: types.NewSystemIntType("debug_discard_caches", 0, 0, false),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int64(0),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"debug_io_direct": &Parameter{
|
|
Name: "debug_io_direct",
|
|
Default: "",
|
|
Category: "Developer Options",
|
|
ShortDesc: "Use direct I/O for file access.",
|
|
Context: ParameterContextPostmaster,
|
|
Type: types.NewSystemStringType("debug_io_direct"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: "",
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"debug_logical_replication_streaming": &Parameter{
|
|
Name: "debug_logical_replication_streaming",
|
|
Default: "buffered",
|
|
Category: "Developer Options",
|
|
ShortDesc: "Forces immediate streaming or serialization of changes in large transactions.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemEnumType("debug_logical_replication_streaming", "buffered", "immediate"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: "buffered",
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"debug_parallel_query": &Parameter{
|
|
Name: "debug_parallel_query",
|
|
Default: "off",
|
|
Category: "Developer Options",
|
|
ShortDesc: "Forces the planner's use parallel query nodes.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemEnumType("debug_parallel_query", "off", "on", "regress"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: "off",
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"debug_pretty_print": &Parameter{
|
|
Name: "debug_pretty_print",
|
|
Default: int8(1),
|
|
Category: "Reporting and Logging / What to Log",
|
|
ShortDesc: "Indents parse and plan tree displays.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemBoolType("debug_pretty_print"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int8(1),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"debug_print_parse": &Parameter{
|
|
Name: "debug_print_parse",
|
|
Default: int8(0),
|
|
Category: "Reporting and Logging / What to Log",
|
|
ShortDesc: "Logs each query's parse tree.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemBoolType("debug_print_parse"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int8(0),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"debug_print_plan": &Parameter{
|
|
Name: "debug_print_plan",
|
|
Default: int8(0),
|
|
Category: "Reporting and Logging / What to Log",
|
|
ShortDesc: "Sets the shell command that will be executed at every restart point.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemBoolType("debug_print_plan"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int8(0),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"debug_print_rewritten": &Parameter{
|
|
Name: "debug_print_rewritten",
|
|
Default: int8(0),
|
|
Category: "Reporting and Logging / What to Log",
|
|
ShortDesc: "Logs each query's rewritten parse tree.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemBoolType("debug_print_rewritten"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int8(0),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"default_statistics_target": &Parameter{
|
|
Name: "default_statistics_target",
|
|
Default: int64(100),
|
|
Category: "Query Tuning / Other Planner Options",
|
|
ShortDesc: "Sets the default statistics target.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemIntType("default_statistics_target", 1, 10000, false),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int64(100),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"default_table_access_method": &Parameter{
|
|
Name: "default_table_access_method",
|
|
Default: "heap",
|
|
Category: "Client Connection Defaults / Statement Behavior",
|
|
ShortDesc: "Sets the default table access method for new tables.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemStringType("default_table_access_method"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: "heap",
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"default_tablespace": &Parameter{
|
|
Name: "default_tablespace",
|
|
Default: "",
|
|
Category: "Client Connection Defaults / Statement Behavior",
|
|
ShortDesc: "Sets the default tablespace to create tables and indexes in.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemStringType("default_tablespace"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: "",
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"default_text_search_config": &Parameter{
|
|
Name: "default_text_search_config",
|
|
Default: "pg_catalog.english",
|
|
Category: "Client Connection Defaults / Locale and Formatting",
|
|
ShortDesc: "Sets default text search configuration.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemStringType("default_text_search_config"),
|
|
Source: ParameterSourceConfigurationFile,
|
|
// BootVal: "pg_catalog.simple",
|
|
ResetVal: "pg_catalog.english",
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"default_toast_compression": &Parameter{
|
|
Name: "default_toast_compression",
|
|
Default: "pglz",
|
|
Category: "Client Connection Defaults / Statement Behavior",
|
|
ShortDesc: "Sets the default compression method for compressible values.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemEnumType("default_toast_compression", "pglz", "lz4"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: "pglz",
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"default_transaction_deferrable": &Parameter{
|
|
Name: "default_transaction_deferrable",
|
|
Default: int8(0),
|
|
Category: "Client Connection Defaults / Statement Behavior",
|
|
ShortDesc: "Sets the default deferrable status of new transactions.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemBoolType("default_transaction_deferrable"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int8(0),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"default_transaction_isolation": &Parameter{
|
|
Name: "default_transaction_isolation",
|
|
Default: "read committed",
|
|
Category: "Client Connection Defaults / Statement Behavior",
|
|
ShortDesc: "Sets the transaction isolation level of each new transaction.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemEnumType("default_transaction_isolation", "serializable", "repeatable read", "read committed", "read uncommitted"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: "read committed",
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"default_transaction_read_only": &Parameter{
|
|
Name: "default_transaction_read_only",
|
|
Default: int8(0),
|
|
Category: "Client Connection Defaults / Statement Behavior",
|
|
ShortDesc: "Sets the default read-only status of new transactions.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemBoolType("default_transaction_read_only"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int8(0),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"default_with_oids": &Parameter{
|
|
Name: "default_with_oids",
|
|
Default: int8(0),
|
|
Category: "Version and Platform Compatibility / Previous PostgreSQL Versions",
|
|
ShortDesc: "Provided for backwards compatibility; Doltgres does not support OID columns, even if this parameter is enabled.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemBoolType("default_with_oids"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int8(0),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"dynamic_library_path": &Parameter{
|
|
Name: "dynamic_library_path",
|
|
Default: "$libdir",
|
|
Category: "Client Connection Defaults / Other Defaults",
|
|
ShortDesc: "Sets the path for dynamically loadable modules.",
|
|
Context: ParameterContextSuperUser,
|
|
Type: types.NewSystemStringType("dynamic_library_path"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: "$libdir",
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"dynamic_shared_memory_type": &Parameter{
|
|
Name: "dynamic_shared_memory_type",
|
|
Default: "posix",
|
|
Category: "Resource Usage / Memory",
|
|
ShortDesc: "Selects the dynamic shared memory implementation used.",
|
|
Context: ParameterContextPostmaster,
|
|
Type: types.NewSystemEnumType("dynamic_shared_memory_type", "posix", "sysv", "mmap"),
|
|
Source: ParameterSourceConfigurationFile,
|
|
ResetVal: "posix",
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"effective_cache_size": &Parameter{
|
|
Name: "effective_cache_size",
|
|
Default: int64(524288),
|
|
// Unit: "8kB",
|
|
Category: "Query Tuning / Planner Cost Constants",
|
|
ShortDesc: "Sets the planner's assumption about the total size of the data caches.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemIntType("effective_cache_size", 1, math.MaxInt32, false),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int64(524288),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"effective_io_concurrency": &Parameter{
|
|
Name: "effective_io_concurrency",
|
|
Default: int64(0),
|
|
Category: "Resource Usage / Asynchronous Behavior",
|
|
ShortDesc: "Number of simultaneous requests that can be handled efficiently by the disk subsystem.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemIntType("effective_io_concurrency", 0, 1000, false),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int64(0),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"enable_async_append": &Parameter{
|
|
Name: "enable_async_append",
|
|
Default: int8(1),
|
|
Category: "Query Tuning / Planner Method Configuration",
|
|
ShortDesc: "Enables the planner's use of async append plans.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemBoolType("enable_async_append"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int8(1),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"enable_bitmapscan": &Parameter{
|
|
Name: "enable_bitmapscan",
|
|
Default: int8(1),
|
|
Category: "Query Tuning / Planner Method Configuration",
|
|
ShortDesc: "Enables the planner's use of bitmap-scan plans.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemBoolType("enable_bitmapscan"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int8(1),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"enable_gathermerge": &Parameter{
|
|
Name: "enable_gathermerge",
|
|
Default: int8(1),
|
|
Category: "Query Tuning / Planner Method Configuration",
|
|
ShortDesc: "Enables the planner's use of gather merge plans.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemBoolType("enable_gathermerge"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int8(1),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"enable_hashagg": &Parameter{
|
|
Name: "enable_hashagg",
|
|
Default: int8(1),
|
|
Category: "Query Tuning / Planner Method Configuration",
|
|
ShortDesc: "Enables the planner's use of hashed aggregation plans.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemBoolType("enable_hashagg"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int8(1),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"enable_hashjoin": &Parameter{
|
|
Name: "enable_hashjoin",
|
|
Default: int8(1),
|
|
Category: "Query Tuning / Planner Method Configuration",
|
|
ShortDesc: "Enables the planner's use of hash join plans.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemBoolType("enable_hashjoin"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: "",
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"enable_incremental_sort": &Parameter{
|
|
Name: "enable_incremental_sort",
|
|
Default: int8(1),
|
|
Category: "Query Tuning / Planner Method Configuration",
|
|
ShortDesc: "Enables the planner's use of incremental sort steps.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemBoolType("enable_incremental_sort"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int8(1),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"enable_indexonlyscan": &Parameter{
|
|
Name: "enable_indexonlyscan",
|
|
Default: int8(1),
|
|
Category: "Query Tuning / Planner Method Configuration",
|
|
ShortDesc: "Enables the planner's use of index-only-scan plans.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemBoolType("enable_indexonlyscan"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int8(1),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"enable_indexscan": &Parameter{
|
|
Name: "enable_indexscan",
|
|
Default: int8(1),
|
|
Category: "Query Tuning / Planner Method Configuration",
|
|
ShortDesc: "Enables the planner's use of index-scan plans.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemBoolType("enable_indexscan"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int8(1),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"enable_material": &Parameter{
|
|
Name: "enable_material",
|
|
Default: int8(1),
|
|
Category: "Query Tuning / Planner Method Configuration",
|
|
ShortDesc: "Enables the planner's use of materialization.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemBoolType("enable_material"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int8(1),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"enable_memoize": &Parameter{
|
|
Name: "enable_memoize",
|
|
Default: int8(1),
|
|
Category: "Query Tuning / Planner Method Configuration",
|
|
ShortDesc: "Enables the planner's use of memoization.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemBoolType("enable_memoize"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int8(1),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"enable_mergejoin": &Parameter{
|
|
Name: "enable_mergejoin",
|
|
Default: int8(1),
|
|
Category: "Query Tuning / Planner Method Configuration",
|
|
ShortDesc: "Enables the planner's use of merge join plans.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemBoolType("enable_mergejoin"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int8(1),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"enable_nestloop": &Parameter{
|
|
Name: "enable_nestloop",
|
|
Default: int8(1),
|
|
Category: "Query Tuning / Planner Method Configuration",
|
|
ShortDesc: "Enables the planner's use of nested-loop join plans.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemBoolType("enable_nestloop"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int8(1),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"enable_parallel_append": &Parameter{
|
|
Name: "enable_parallel_append",
|
|
Default: int8(1),
|
|
Category: "Query Tuning / Planner Method Configuration",
|
|
ShortDesc: "Enables the planner's use of parallel append plans.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemBoolType("enable_parallel_append"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int8(1),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"enable_parallel_hash": &Parameter{
|
|
Name: "enable_parallel_hash",
|
|
Default: int8(1),
|
|
Category: "Query Tuning / Planner Method Configuration",
|
|
ShortDesc: "Enables the planner's use of parallel hash plans.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemBoolType("enable_parallel_hash"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int8(1),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"enable_partition_pruning": &Parameter{
|
|
Name: "enable_partition_pruning",
|
|
Default: int8(1),
|
|
Category: "Query Tuning / Planner Method Configuration",
|
|
ShortDesc: "Enables plan-time and execution-time partition pruning.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemBoolType("enable_partition_pruning"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int8(1),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"enable_partitionwise_aggregate": &Parameter{
|
|
Name: "enable_partitionwise_aggregate",
|
|
Default: int8(0),
|
|
Category: "Query Tuning / Planner Method Configuration",
|
|
ShortDesc: "Enables partitionwise aggregation and grouping.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemBoolType("enable_partitionwise_aggregate"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int8(0),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"enable_partitionwise_join": &Parameter{
|
|
Name: "enable_partitionwise_join",
|
|
Default: int8(0),
|
|
Category: "Query Tuning / Planner Method Configuration",
|
|
ShortDesc: "Enables partitionwise join.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemBoolType("enable_partitionwise_join"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int8(0),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"enable_presorted_aggregate": &Parameter{
|
|
Name: "enable_presorted_aggregate",
|
|
Default: int8(1),
|
|
Category: "Query Tuning / Planner Method Configuration",
|
|
ShortDesc: "Enables the planner's ability to produce plans that provide presorted input for ORDER BY / DISTINCT aggregate functions.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemBoolType("enable_presorted_aggregate"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int8(1),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"enable_seqscan": &Parameter{
|
|
Name: "enable_seqscan",
|
|
Default: int8(1),
|
|
Category: "Query Tuning / Planner Method Configuration",
|
|
ShortDesc: "Enables the planner's use of sequential-scan plans.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemBoolType("enable_seqscan"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int8(1),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"enable_sort": &Parameter{
|
|
Name: "enable_sort",
|
|
Default: int8(1),
|
|
Category: "Query Tuning / Planner Method Configuration",
|
|
ShortDesc: "Enables the planner's use of explicit sort steps.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemBoolType("enable_sort"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int8(1),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"enable_tidscan": &Parameter{
|
|
Name: "enable_tidscan",
|
|
Default: int8(1),
|
|
Category: "Query Tuning / Planner Method Configuration",
|
|
ShortDesc: "Enables the planner's use of TID scan plans.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemBoolType("enable_tidscan"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int8(1),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"escape_string_warning": &Parameter{
|
|
Name: "escape_string_warning",
|
|
Default: int8(1),
|
|
Category: "Version and Platform Compatibility / Previous PostgreSQL Versions",
|
|
ShortDesc: "Warn about backslash escapes in ordinary string literals.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemBoolType("escape_string_warning"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int8(1),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"event_source": &Parameter{
|
|
Name: "event_source",
|
|
Default: "PostgreSQL",
|
|
Category: "Reporting and Logging / Where to Log",
|
|
ShortDesc: "Sets the application name used to identify PostgreSQL messages in the event log.",
|
|
Context: ParameterContextPostmaster,
|
|
Type: types.NewSystemStringType("event_source"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: "PostgreSQL",
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"exit_on_error": &Parameter{
|
|
Name: "exit_on_error",
|
|
Default: int8(0),
|
|
Category: "Error Handling",
|
|
ShortDesc: "Terminate session on any error.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemBoolType("exit_on_error"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int8(0),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"external_pid_file": &Parameter{
|
|
Name: "external_pid_file",
|
|
Default: "",
|
|
Category: "File Locations",
|
|
ShortDesc: "Writes the postmaster PID to the specified file.",
|
|
Context: ParameterContextPostmaster,
|
|
Type: types.NewSystemStringType("external_pid_file"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: "",
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"extra_float_digits": &Parameter{
|
|
Name: "extra_float_digits",
|
|
Default: int64(1),
|
|
Category: "Client Connection Defaults / Locale and Formatting",
|
|
ShortDesc: "Sets the number of digits displayed for floating-point values.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemIntType("extra_float_digits", -15, 3, false),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int64(1),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"from_collapse_limit": &Parameter{
|
|
Name: "from_collapse_limit",
|
|
Default: int64(8),
|
|
Category: "Query Tuning / Other Planner Options",
|
|
ShortDesc: "Sets the FROM-list size beyond which subqueries are not collapsed.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemIntType("from_collapse_limit", 1, math.MaxInt32, false),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int64(8),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"fsync": &Parameter{
|
|
Name: "fsync",
|
|
Default: int8(1),
|
|
Category: "Write-Ahead Log / Settings",
|
|
ShortDesc: "Forces synchronization of updates to disk.",
|
|
Context: ParameterContextSighup,
|
|
Type: types.NewSystemBoolType("fsync"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int8(1),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"full_page_writes": &Parameter{
|
|
Name: "full_page_writes",
|
|
Default: int8(1),
|
|
Category: "Write-Ahead Log / Settings",
|
|
ShortDesc: "Writes full pages to WAL when first modified after a checkpoint.",
|
|
Context: ParameterContextSighup,
|
|
Type: types.NewSystemBoolType("full_page_writes"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int8(1),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"geqo": &Parameter{
|
|
Name: "geqo",
|
|
Default: int8(1),
|
|
Category: "Query Tuning / Genetic Query Optimizer",
|
|
ShortDesc: "Enables genetic query optimization.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemBoolType("geqo"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int8(1),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"geqo_effort": &Parameter{
|
|
Name: "geqo_effort",
|
|
Default: int64(5),
|
|
Category: "Query Tuning / Genetic Query Optimizer",
|
|
ShortDesc: "GEQO: effort is used to set the default for other GEQO parameters.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemIntType("geqo_effort", 1, 10, false),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int64(5),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"geqo_generations": &Parameter{
|
|
Name: "geqo_generations",
|
|
Default: int64(0),
|
|
Category: "Query Tuning / Genetic Query Optimizer",
|
|
ShortDesc: "GEQO: number of iterations of the algorithm.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemIntType("geqo_generations", 0, math.MaxInt32, false),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int64(0),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"geqo_pool_size": &Parameter{
|
|
Name: "geqo_pool_size",
|
|
Default: int64(0),
|
|
Category: "Query Tuning / Genetic Query Optimizer",
|
|
ShortDesc: "GEQO: number of individuals in the population.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemIntType("geqo_pool_size", 0, math.MaxInt32, false),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int64(0),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"geqo_seed": &Parameter{
|
|
Name: "geqo_seed",
|
|
Default: float64(0),
|
|
Category: "Query Tuning / Genetic Query Optimizer",
|
|
ShortDesc: "GEQO: seed for random path selection.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemDoubleType("geqo_seed", 0, 1),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: float64(0),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"geqo_selection_bias": &Parameter{
|
|
Name: "geqo_selection_bias",
|
|
Default: float64(2),
|
|
Category: "Query Tuning / Genetic Query Optimizer",
|
|
ShortDesc: "GEQO: selective pressure within the population.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemDoubleType("geqo_selection_bias", 1.5, 2),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: float64(2),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"geqo_threshold": &Parameter{
|
|
Name: "geqo_threshold",
|
|
Default: int64(12),
|
|
Category: "Query Tuning / Genetic Query Optimizer",
|
|
ShortDesc: "Sets the shell command that will be executed at every restart point.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemIntType("geqo_threshold", 2, math.MaxInt32, false),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int64(12),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"gin_fuzzy_search_limit": &Parameter{
|
|
Name: "gin_fuzzy_search_limit",
|
|
Default: int64(0),
|
|
Category: "Client Connection Defaults / Other Defaults",
|
|
ShortDesc: "Sets the maximum allowed result for exact search by GIN.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemIntType("gin_fuzzy_search_limit", 0, math.MaxInt32, false),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int64(0),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"gin_pending_list_limit": &Parameter{
|
|
Name: "gin_pending_list_limit",
|
|
Default: int64(4096),
|
|
// Unit: "kB",
|
|
Category: "Client Connection Defaults / Statement Behavior",
|
|
ShortDesc: "Sets the maximum size of the pending list for GIN index.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemIntType("gin_pending_list_limit", 64, math.MaxInt32, false),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int64(4096),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"gss_accept_delegation": &Parameter{
|
|
Name: "gss_accept_delegation",
|
|
Default: int8(0),
|
|
Category: "Connections and Authentication / Authentication",
|
|
ShortDesc: "Sets whether GSSAPI delegation should be accepted from the client.",
|
|
Context: ParameterContextSighup,
|
|
Type: types.NewSystemBoolType("gss_accept_delegation"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int8(0),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"hash_mem_multiplier": &Parameter{
|
|
Name: "hash_mem_multiplier",
|
|
Default: float64(2),
|
|
Category: "Resource Usage / Memory",
|
|
ShortDesc: "Multiple of work_mem to use for hash tables.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemDoubleType("hash_mem_multiplier", 1, 1000),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: float64(2),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"hba_file": &Parameter{
|
|
Name: "hba_file",
|
|
Default: "pg_hba.conf",
|
|
Category: "File Locations",
|
|
ShortDesc: "Sets the server's \"hba\" configuration file.",
|
|
Context: ParameterContextPostmaster,
|
|
Type: types.NewSystemStringType("hba_file"),
|
|
Source: ParameterSourceOverride,
|
|
ResetVal: "pg_hba.conf",
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"hot_standby": &Parameter{
|
|
Name: "hot_standby",
|
|
Default: int8(1),
|
|
Category: "Replication / Standby Servers",
|
|
ShortDesc: "Allows connections and queries during recovery.",
|
|
Context: ParameterContextPostmaster,
|
|
Type: types.NewSystemBoolType("hot_standby"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int8(1),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"hot_standby_feedback": &Parameter{
|
|
Name: "hot_standby_feedback",
|
|
Default: int8(0),
|
|
Category: "Replication / Standby Servers",
|
|
ShortDesc: "Allows feedback from a hot standby to the primary that will avoid query conflicts.",
|
|
Context: ParameterContextSighup,
|
|
Type: types.NewSystemBoolType("hot_standby_feedback"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int8(0),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"huge_page_size": &Parameter{
|
|
Name: "huge_page_size",
|
|
Default: int64(0),
|
|
// Unit: "kB",
|
|
Category: "Resource Usage / Memory",
|
|
ShortDesc: "The size of huge page that should be requested.",
|
|
Context: ParameterContextPostmaster,
|
|
Type: types.NewSystemIntType("huge_page_size", 0, math.MaxInt32, false),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int64(0),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"huge_pages": &Parameter{
|
|
Name: "huge_pages",
|
|
Default: "try",
|
|
Category: "Resource Usage / Memory",
|
|
ShortDesc: "Use of huge pages on Linux or Windows.",
|
|
Context: ParameterContextPostmaster,
|
|
Type: types.NewSystemEnumType("huge_pages", "off", "on", "try"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: "try",
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"icu_validation_level": &Parameter{
|
|
Name: "icu_validation_level",
|
|
Default: "warning",
|
|
Category: "Client Connection Defaults / Locale and Formatting",
|
|
ShortDesc: "Log level for reporting invalid ICU locale strings.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemEnumType("icu_validation_level", "disabled", "debug5", "debug4", "debug3", "debug2", "debug1", "log", "notice", "warning", "error"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: "warning",
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"ident_file": &Parameter{
|
|
Name: "ident_file",
|
|
Default: "pg_ident.conf",
|
|
Category: "File Locations",
|
|
ShortDesc: "Sets the server's \"ident\" configuration file.",
|
|
Context: ParameterContextPostmaster,
|
|
Type: types.NewSystemStringType("ident_file"),
|
|
Source: ParameterSourceOverride,
|
|
ResetVal: "pg_ident.conf",
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"idle_in_transaction_session_timeout": &Parameter{
|
|
Name: "idle_in_transaction_session_timeout",
|
|
Default: int64(0),
|
|
// Unit: "ms",
|
|
Category: "Client Connection Defaults / Statement Behavior",
|
|
ShortDesc: "Sets the maximum allowed idle time between queries, when in a transaction.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemIntType("idle_in_transaction_session_timeout", 0, math.MaxInt32, false),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int64(0),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"idle_session_timeout": &Parameter{
|
|
Name: "idle_session_timeout",
|
|
Default: int64(0),
|
|
// Unit: "ms",
|
|
Category: "Client Connection Defaults / Statement Behavior",
|
|
ShortDesc: "Sets the maximum allowed idle time between queries, when not in a transaction.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemIntType("idle_session_timeout", 0, math.MaxInt32, false),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int64(0),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"ignore_checksum_failure": &Parameter{
|
|
Name: "ignore_checksum_failure",
|
|
Default: int8(0),
|
|
Category: "Developer Options",
|
|
ShortDesc: "Continues processing after a checksum failure.",
|
|
Context: ParameterContextSuperUser,
|
|
Type: types.NewSystemBoolType("ignore_checksum_failure"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int8(0),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"ignore_invalid_pages": &Parameter{
|
|
Name: "ignore_invalid_pages",
|
|
Default: int8(0),
|
|
Category: "Developer Options",
|
|
ShortDesc: "Continues recovery after an invalid pages failure.",
|
|
Context: ParameterContextPostmaster,
|
|
Type: types.NewSystemBoolType("ignore_invalid_pages"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int8(0),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"ignore_system_indexes": &Parameter{
|
|
Name: "ignore_system_indexes",
|
|
Default: int8(0),
|
|
Category: "Developer Options",
|
|
ShortDesc: "Disables reading from system indexes.",
|
|
Context: ParameterContextBackend,
|
|
Type: types.NewSystemBoolType("ignore_system_indexes"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int8(0),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"in_hot_standby": &Parameter{
|
|
Name: "in_hot_standby",
|
|
Default: int8(0),
|
|
Category: "Preset Options",
|
|
ShortDesc: "Shows whether hot standby is currently active.",
|
|
Context: ParameterContextInternal,
|
|
Type: types.NewSystemBoolType("in_hot_standby"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int8(0),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"integer_datetimes": &Parameter{
|
|
Name: "integer_datetimes",
|
|
Default: int8(1),
|
|
Category: "Preset Options",
|
|
ShortDesc: "Shows whether datetimes are integer based.",
|
|
Context: ParameterContextInternal,
|
|
Type: types.NewSystemBoolType("integer_datetimes"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int8(1),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"intervalstyle": &Parameter{
|
|
Name: "IntervalStyle",
|
|
Default: "postgres",
|
|
Category: "Client Connection Defaults / Locale and Formatting",
|
|
ShortDesc: "Sets the display format for interval values.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemEnumType("intervalstyle", "postgres", "postgres_verbose", "sql_standard", "iso_8601"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: "postgres",
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"jit": &Parameter{
|
|
Name: "jit",
|
|
Default: int8(1),
|
|
Category: "Query Tuning / Other Planner Options",
|
|
ShortDesc: "Allow JIT compilation.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemBoolType("jit"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int8(1),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"jit_above_cost": &Parameter{
|
|
Name: "jit_above_cost",
|
|
Default: float64(100000),
|
|
Category: "Write-Ahead Log / Archive Recovery",
|
|
ShortDesc: "Sets the shell command that will be executed at every restart point.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemDoubleType("jit_above_cost", -1, math.MaxFloat64),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: float64(100000),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"jit_debugging_support": &Parameter{
|
|
Name: "jit_debugging_support",
|
|
Default: int8(0),
|
|
Category: "Developer Options",
|
|
ShortDesc: "Register JIT-compiled functions with debugger.",
|
|
Context: ParameterContextSuperUserBackend,
|
|
Type: types.NewSystemBoolType("jit_debugging_support"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int8(0),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"jit_dump_bitcode": &Parameter{
|
|
Name: "jit_dump_bitcode",
|
|
Default: int8(0),
|
|
Category: "Developer Options",
|
|
ShortDesc: "Write out LLVM bitcode to facilitate JIT debugging.",
|
|
Context: ParameterContextSuperUser,
|
|
Type: types.NewSystemBoolType("jit_dump_bitcode"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int8(0),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"jit_expressions": &Parameter{
|
|
Name: "jit_expressions",
|
|
Default: int8(1),
|
|
Category: "Developer Options",
|
|
ShortDesc: "Allow JIT compilation of expressions.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemBoolType("jit_expressions"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int8(1),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"jit_inline_above_cost": &Parameter{
|
|
Name: "jit_inline_above_cost",
|
|
Default: float64(500000),
|
|
Category: "Query Tuning / Planner Cost Constants",
|
|
ShortDesc: "Perform JIT inlining if query is more expensive.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemDoubleType("jit_inline_above_cost", -1, math.MaxFloat64),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: float64(500000),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"jit_optimize_above_cost": &Parameter{
|
|
Name: "jit_optimize_above_cost",
|
|
Default: float64(500000),
|
|
Category: "Query Tuning / Planner Cost Constants",
|
|
ShortDesc: "Optimize JIT-compiled functions if query is more expensive.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemDoubleType("jit_optimize_above_cost", -1, math.MaxFloat64),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: float64(500000),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"jit_profiling_support": &Parameter{
|
|
Name: "jit_profiling_support",
|
|
Default: int8(0),
|
|
Category: "Developer Options",
|
|
ShortDesc: "Register JIT-compiled functions with perf profiler.",
|
|
Context: ParameterContextSuperUserBackend,
|
|
Type: types.NewSystemBoolType("jit_profiling_support"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int8(0),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"jit_provider": &Parameter{
|
|
Name: "jit_provider",
|
|
Default: "llvmjit",
|
|
Category: "Client Connection Defaults / Shared Library Preloading",
|
|
ShortDesc: "JIT provider to use.",
|
|
Context: ParameterContextPostmaster,
|
|
Type: types.NewSystemStringType("jit_provider"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: "llvmjit",
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"jit_tuple_deforming": &Parameter{
|
|
Name: "jit_tuple_deforming",
|
|
Default: int8(1),
|
|
Category: "Developer Options",
|
|
ShortDesc: "Allow JIT compilation of tuple deforming.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemBoolType("jit_tuple_deforming"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int8(1),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"join_collapse_limit": &Parameter{
|
|
Name: "join_collapse_limit",
|
|
Default: int64(8),
|
|
Category: "Query Tuning / Other Planner Options",
|
|
ShortDesc: "Sets the FROM-list size beyond which JOIN constructs are not flattened.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemIntType("join_collapse_limit", 1, math.MaxInt32, false),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int64(8),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"krb_caseins_users": &Parameter{
|
|
Name: "krb_caseins_users",
|
|
Default: int8(0),
|
|
Category: "Connections and Authentication / Authentication",
|
|
ShortDesc: "Sets whether Kerberos and GSSAPI user names should be treated as case-insensitive.",
|
|
Context: ParameterContextSighup,
|
|
Type: types.NewSystemBoolType("krb_caseins_users"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int8(0),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"krb_server_keyfile": &Parameter{
|
|
Name: "krb_server_keyfile",
|
|
Default: "FILE:/usr/local/etc/postgresql/krb5.keytab",
|
|
Category: "Connections and Authentication / Authentication",
|
|
ShortDesc: "Sets the location of the Kerberos server key file.",
|
|
Context: ParameterContextSighup,
|
|
Type: types.NewSystemStringType("krb_server_keyfile"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: "FILE:/usr/local/etc/postgresql/krb5.keytab",
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"lc_messages": &Parameter{
|
|
Name: "lc_messages",
|
|
Default: "en_US.UTF-8",
|
|
Category: "Client Connection Defaults / Locale and Formatting",
|
|
ShortDesc: "Sets the language in which messages are displayed.",
|
|
Context: ParameterContextSuperUser,
|
|
Type: types.NewSystemStringType("lc_messages"),
|
|
Source: ParameterSourceConfigurationFile,
|
|
ResetVal: "en_US.UTF-8",
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"lc_monetary": &Parameter{
|
|
Name: "lc_monetary",
|
|
Default: "en_US.UTF-8",
|
|
Category: "Client Connection Defaults / Locale and Formatting",
|
|
ShortDesc: "Sets the locale for formatting monetary amounts.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemStringType("lc_monetary"),
|
|
Source: ParameterSourceConfigurationFile,
|
|
// BootVal: "C",
|
|
ResetVal: "en_US.UTF-8",
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"lc_numeric": &Parameter{
|
|
Name: "lc_numeric",
|
|
Default: "en_US.UTF-8",
|
|
Category: "Client Connection Defaults / Locale and Formatting",
|
|
ShortDesc: "Sets the locale for formatting numbers.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemStringType("lc_numeric"),
|
|
Source: ParameterSourceConfigurationFile,
|
|
// BootVal: "C",
|
|
ResetVal: "en_US.UTF-8",
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"lc_time": &Parameter{
|
|
Name: "lc_time",
|
|
Default: "en_US.UTF-8",
|
|
Category: "Client Connection Defaults / Locale and Formatting",
|
|
ShortDesc: "Sets the locale for formatting date and time values.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemStringType("lc_time"),
|
|
Source: ParameterSourceConfigurationFile,
|
|
// BootVal: "C",
|
|
ResetVal: "en_US.UTF-8",
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"listen_addresses": &Parameter{
|
|
Name: "listen_addresses",
|
|
Default: "localhost",
|
|
Category: "Connections and Authentication / Connection Settings",
|
|
ShortDesc: "Sets the host name or IP address(es) to listen to.",
|
|
Context: ParameterContextPostmaster,
|
|
Type: types.NewSystemStringType("listen_addresses"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: "localhost",
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"lo_compat_privileges": &Parameter{
|
|
Name: "lo_compat_privileges",
|
|
Default: int8(0),
|
|
Category: "Version and Platform Compatibility / Previous PostgreSQL Versions",
|
|
ShortDesc: "Enables backward compatibility mode for privilege checks on large objects.",
|
|
Context: ParameterContextSuperUser,
|
|
Type: types.NewSystemBoolType("lo_compat_privileges"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int8(0),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"local_preload_libraries": &Parameter{
|
|
Name: "local_preload_libraries",
|
|
Default: "",
|
|
Category: "Client Connection Defaults / Shared Library Preloading",
|
|
ShortDesc: "Lists unprivileged shared libraries to preload into each backend.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemStringType("local_preload_libraries"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: "",
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"lock_timeout": &Parameter{
|
|
Name: "lock_timeout",
|
|
Default: int64(0),
|
|
// Unit: "ms",
|
|
Category: "Client Connection Defaults / Statement Behavior",
|
|
ShortDesc: "Sets the maximum allowed duration of any wait for a lock.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemIntType("lock_timeout", 0, math.MaxInt32, false),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int64(0),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"log_autovacuum_min_duration": &Parameter{
|
|
Name: "log_autovacuum_min_duration",
|
|
Default: int64(-1),
|
|
Category: "Reporting and Logging / What to Log",
|
|
ShortDesc: "Sets the minimum execution time above which autovacuum actions will be logged.",
|
|
Context: ParameterContextSighup,
|
|
Type: types.NewSystemIntType("log_autovacuum_min_duration", -1, math.MaxInt32, true),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int64(-1),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"log_checkpoints": &Parameter{
|
|
Name: "log_checkpoints",
|
|
Default: int8(1),
|
|
Category: "Reporting and Logging / What to Log",
|
|
ShortDesc: "Logs each checkpoint.",
|
|
Context: ParameterContextSighup,
|
|
Type: types.NewSystemBoolType("log_checkpoints"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int8(1),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"log_connections": &Parameter{
|
|
Name: "log_connections",
|
|
Default: int8(0),
|
|
Category: "Reporting and Logging / What to Log",
|
|
ShortDesc: "Logs each successful connection.",
|
|
Context: ParameterContextSuperUserBackend,
|
|
Type: types.NewSystemBoolType("log_connections"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int8(0),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"log_destination": &Parameter{
|
|
Name: "log_destination",
|
|
Default: "stderr",
|
|
Category: "Reporting and Logging / Where to Log",
|
|
ShortDesc: "Sets the destination for server log output.",
|
|
// LongDesc: "Valid values are combinations of "stderr", "syslog", "csvlog", "jsonlog", and "eventlog", depending on the platform.",
|
|
Context: ParameterContextSighup,
|
|
Type: types.NewSystemStringType("log_destination"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: "stderr",
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"log_directory": &Parameter{
|
|
Name: "log_directory",
|
|
Default: "log",
|
|
Category: "Reporting and Logging / Where to Log",
|
|
ShortDesc: "Sets the destination directory for log files.",
|
|
Context: ParameterContextSighup,
|
|
Type: types.NewSystemStringType("log_directory"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: "log",
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"log_disconnections": &Parameter{
|
|
Name: "log_disconnections",
|
|
Default: int8(0),
|
|
Category: "Reporting and Logging / What to Log",
|
|
ShortDesc: "Logs end of a session, including duration.",
|
|
Context: ParameterContextSuperUserBackend,
|
|
Type: types.NewSystemBoolType("log_disconnections"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int8(0),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"log_duration": &Parameter{
|
|
Name: "log_duration",
|
|
Default: int8(0),
|
|
Category: "Reporting and Logging / What to Log",
|
|
ShortDesc: "Logs the duration of each completed SQL statement.",
|
|
Context: ParameterContextSuperUser,
|
|
Type: types.NewSystemBoolType("log_duration"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int8(0),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"log_error_verbosity": &Parameter{
|
|
Name: "log_error_verbosity",
|
|
Default: "default",
|
|
Category: "Reporting and Logging / What to Log",
|
|
ShortDesc: "Sets the verbosity of logged messages.",
|
|
Context: ParameterContextSuperUser,
|
|
Type: types.NewSystemEnumType("log_error_verbosity", "terse", "default", "verbose"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: "default",
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"log_executor_stats": &Parameter{
|
|
Name: "log_executor_stats",
|
|
Default: int8(0),
|
|
Category: "Statistics / Monitoring",
|
|
ShortDesc: "Writes executor performance statistics to the server log.",
|
|
Context: ParameterContextSuperUser,
|
|
Type: types.NewSystemBoolType("log_executor_stats"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int8(0),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"log_file_mode": &Parameter{
|
|
Name: "log_file_mode",
|
|
Default: int64(384), // displays in octal, which is 0600
|
|
Category: "Reporting and Logging / Where to Log",
|
|
ShortDesc: "Sets the file permissions for log files.",
|
|
Context: ParameterContextSighup,
|
|
Type: types.NewSystemIntType("log_file_mode", 0, 511, false),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int64(384),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"log_filename": &Parameter{
|
|
Name: "log_filename",
|
|
Default: "postgresql-%Y-%m-%d_%H%M%S.log",
|
|
Category: "Reporting and Logging / Where to Log",
|
|
ShortDesc: "Sets the file name pattern for log files.",
|
|
Context: ParameterContextSighup,
|
|
Type: types.NewSystemStringType("log_filename"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: "postgresql-%Y-%m-%d_%H%M%S.log",
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"log_hostname": &Parameter{
|
|
Name: "log_hostname",
|
|
Default: int8(0),
|
|
Category: "Reporting and Logging / What to Log",
|
|
ShortDesc: "Logs the host name in the connection logs.",
|
|
Context: ParameterContextSighup,
|
|
Type: types.NewSystemBoolType("log_hostname"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int8(0),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"log_line_prefix": &Parameter{
|
|
Name: "log_line_prefix",
|
|
Default: "%m [%p]",
|
|
Category: "Reporting and Logging / What to Log",
|
|
ShortDesc: "Controls information prefixed to each log line.",
|
|
Context: ParameterContextSighup,
|
|
Type: types.NewSystemStringType("log_line_prefix"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: "%m [%p]",
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"log_lock_waits": &Parameter{
|
|
Name: "log_lock_waits",
|
|
Default: int8(0),
|
|
Category: "Reporting and Logging / What to Log",
|
|
ShortDesc: "Logs long lock waits.",
|
|
Context: ParameterContextSuperUser,
|
|
Type: types.NewSystemBoolType("log_lock_waits"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int8(0),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"log_min_duration_sample": &Parameter{
|
|
Name: "log_min_duration_sample",
|
|
Default: int64(-1),
|
|
// Unit: "ms",
|
|
Category: "Reporting and Logging / When to Log",
|
|
ShortDesc: "Sets the minimum execution time above which a sample of statements will be logged. Sampling is determined by log_statement_sample_rate.",
|
|
Context: ParameterContextSuperUser,
|
|
Type: types.NewSystemIntType("log_min_duration_sample", -1, math.MaxInt32, true),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int64(-1),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"log_min_duration_statement": &Parameter{
|
|
Name: "log_min_duration_statement",
|
|
Default: int64(-1),
|
|
// Unit: "ms",
|
|
Category: "Reporting and Logging / When to Log",
|
|
ShortDesc: "Sets the minimum execution time above which all statements will be logged.",
|
|
Context: ParameterContextSuperUser,
|
|
Type: types.NewSystemIntType("log_min_duration_statement", -1, math.MaxInt32, true),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int64(-1),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"log_min_error_statement": &Parameter{
|
|
Name: "log_min_error_statement",
|
|
Default: "error",
|
|
Category: "Reporting and Logging / When to Log",
|
|
ShortDesc: "Causes all statements generating error at or above this level to be logged.",
|
|
Context: ParameterContextSuperUser,
|
|
Type: types.NewSystemEnumType("log_min_error_statement", "debug5", "debug4", "debug3", "debug2", "debug1", "info", "notice", "warning", "error", "log", "fatal", "panic"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: "error",
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"log_min_messages": &Parameter{
|
|
Name: "log_min_messages",
|
|
Default: "warning",
|
|
Category: "Reporting and Logging / When to Log",
|
|
ShortDesc: "Sets the message levels that are logged.",
|
|
Context: ParameterContextSuperUser,
|
|
Type: types.NewSystemEnumType("log_min_messages", "debug5", "debug4", "debug3", "debug2", "debug1", "info", "notice", "warning", "error", "log", "fatal", "panic"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: "warning",
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"log_parameter_max_length": &Parameter{
|
|
Name: "log_parameter_max_length",
|
|
Default: int64(-1),
|
|
// Unit: "B",
|
|
Category: "Reporting and Logging / What to Log",
|
|
ShortDesc: "Sets the maximum length in bytes of data logged for bind parameter values when logging statements.",
|
|
Context: ParameterContextSuperUser,
|
|
Type: types.NewSystemIntType("log_parameter_max_length", -1, 1073741823, true),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int64(-1),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"log_parameter_max_length_on_error": &Parameter{
|
|
Name: "log_parameter_max_length_on_error",
|
|
Default: int64(0),
|
|
// Unit: "B",
|
|
Category: "Reporting and Logging / What to Log",
|
|
ShortDesc: "Sets the maximum length in bytes of data logged for bind parameter values when logging statements, on error.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemIntType("log_parameter_max_length_on_error", -1, 1073741823, true),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int64(0),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"log_parser_stats": &Parameter{
|
|
Name: "log_parser_stats",
|
|
Default: int8(0),
|
|
Category: "Statistics / Monitoring",
|
|
ShortDesc: "Writes parser performance statistics to the server log.",
|
|
Context: ParameterContextSuperUser,
|
|
Type: types.NewSystemBoolType("log_parser_stats"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int8(0),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"log_planner_stats": &Parameter{
|
|
Name: "log_planner_stats",
|
|
Default: int8(0),
|
|
Category: "Statistics / Monitoring",
|
|
ShortDesc: "Writes planner performance statistics to the server log.",
|
|
Context: ParameterContextSuperUser,
|
|
Type: types.NewSystemBoolType("log_planner_stats"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int8(0),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"log_recovery_conflict_waits": &Parameter{
|
|
Name: "log_recovery_conflict_waits",
|
|
Default: int8(0),
|
|
Category: "Reporting and Logging / What to Log",
|
|
ShortDesc: "Logs standby recovery conflict waits.",
|
|
Context: ParameterContextSighup,
|
|
Type: types.NewSystemBoolType("log_recovery_conflict_waits"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int8(0),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"log_replication_commands": &Parameter{
|
|
Name: "log_replication_commands",
|
|
Default: int8(0),
|
|
Category: "Reporting and Logging / What to Log",
|
|
ShortDesc: "Logs each replication command.",
|
|
Context: ParameterContextSuperUser,
|
|
Type: types.NewSystemBoolType("log_replication_commands"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int8(0),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"log_rotation_age": &Parameter{
|
|
Name: "log_rotation_age",
|
|
Default: int64(1440),
|
|
// Unit: "min",
|
|
Category: "Reporting and Logging / Where to Log",
|
|
ShortDesc: "Sets the amount of time to wait before forcing log file rotation.",
|
|
Context: ParameterContextSighup,
|
|
Type: types.NewSystemIntType("log_rotation_age", 0, 35791394, false),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int64(1440),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"log_rotation_size": &Parameter{
|
|
Name: "log_rotation_size",
|
|
Default: int64(10240),
|
|
// Unit: "kB",
|
|
Category: "Reporting and Logging / Where to Log",
|
|
ShortDesc: "Sets the maximum size a log file can reach before being rotated.",
|
|
Context: ParameterContextSighup,
|
|
Type: types.NewSystemIntType("log_rotation_size", 0, 2097151, false),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int64(10240),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"log_startup_progress_interval": &Parameter{
|
|
Name: "log_startup_progress_interval",
|
|
Default: int64(10000),
|
|
Category: "Reporting and Logging / When to Log",
|
|
ShortDesc: "Time between progress updates for long-running startup operations.",
|
|
Context: ParameterContextSighup,
|
|
Type: types.NewSystemIntType("log_startup_progress_interval", 1, math.MaxInt32, false),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int64(10000),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"log_statement": &Parameter{
|
|
Name: "log_statement",
|
|
Default: "none",
|
|
Category: "Reporting and Logging / When to Log",
|
|
ShortDesc: "Sets the type of statements logged.",
|
|
Context: ParameterContextSuperUser,
|
|
Type: types.NewSystemEnumType("log_statement", "none", "ddl", "mod", "all"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: "none",
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"log_statement_sample_rate": &Parameter{
|
|
Name: "log_statement_sample_rate",
|
|
Default: float64(1),
|
|
Category: "Reporting and Logging / When to Log",
|
|
ShortDesc: "Fraction of statements exceeding log_min_duration_sample to be logged.",
|
|
Context: ParameterContextSuperUser,
|
|
Type: types.NewSystemDoubleType("log_statement_sample_rate", 0, 1),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: float64(1),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"log_statement_stats": &Parameter{
|
|
Name: "log_statement_stats",
|
|
Default: int8(0),
|
|
Category: "Statistics / Monitoring",
|
|
ShortDesc: "Writes cumulative performance statistics to the server log.",
|
|
Context: ParameterContextSuperUser,
|
|
Type: types.NewSystemBoolType("log_statement_stats"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int8(0),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"log_temp_files": &Parameter{
|
|
Name: "log_temp_files",
|
|
Default: int64(-1),
|
|
// Unit: "kB",
|
|
Category: "Reporting and Logging / What to Log",
|
|
ShortDesc: "Log the use of temporary files larger than this number of kilobytes.",
|
|
Context: ParameterContextSuperUser,
|
|
Type: types.NewSystemIntType("log_temp_files", -1, math.MaxInt32, true),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int64(-1),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"log_timezone": &Parameter{
|
|
Name: "log_timezone",
|
|
Default: "America/Los_Angeles",
|
|
Category: "Reporting and Logging / What to Log",
|
|
ShortDesc: "Sets the time zone to use in log messages.",
|
|
Context: ParameterContextSighup,
|
|
Type: types.NewSystemStringType("log_timezone"),
|
|
Source: ParameterSourceConfigurationFile,
|
|
// BootVal: "GMT",
|
|
ResetVal: "America/Los_Angeles",
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"log_transaction_sample_rate": &Parameter{
|
|
Name: "log_transaction_sample_rate",
|
|
Default: float64(0),
|
|
Category: "Reporting and Logging / When to Log",
|
|
ShortDesc: "Sets the fraction of transactions from which to log all statements.",
|
|
Context: ParameterContextSuperUser,
|
|
Type: types.NewSystemDoubleType("log_transaction_sample_rate", 0, 1),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: float64(0),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"log_truncate_on_rotation": &Parameter{
|
|
Name: "log_truncate_on_rotation",
|
|
Default: int8(0),
|
|
Category: "Reporting and Logging / Where to Log",
|
|
ShortDesc: "Truncate existing log files of same name during log rotation.",
|
|
Context: ParameterContextSighup,
|
|
Type: types.NewSystemBoolType("log_truncate_on_rotation"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int8(0),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"logging_collector": &Parameter{
|
|
Name: "logging_collector",
|
|
Default: int8(0),
|
|
Category: "Reporting and Logging / Where to Log",
|
|
ShortDesc: "Start a subprocess to capture stderr output and/or csvlogs into log files.",
|
|
Context: ParameterContextPostmaster,
|
|
Type: types.NewSystemBoolType("logging_collector"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int8(0),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"logical_decoding_work_mem": &Parameter{
|
|
Name: "logical_decoding_work_mem",
|
|
Default: int64(65536),
|
|
// Unit: "kB",
|
|
Category: "Resource Usage / Memory",
|
|
ShortDesc: "Sets the maximum memory to be used for logical decoding.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemIntType("logical_decoding_work_mem", 64, math.MaxInt32, false),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int64(65536),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"maintenance_io_concurrency": &Parameter{
|
|
Name: "maintenance_io_concurrency",
|
|
Default: int64(0),
|
|
Category: "Resource Usage / Asynchronous Behavior",
|
|
ShortDesc: "A variant of effective_io_concurrency that is used for maintenance work.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemIntType("maintenance_io_concurrency", 0, 1000, false),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int64(0),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"maintenance_work_mem": &Parameter{
|
|
Name: "maintenance_work_mem",
|
|
Default: int64(65536),
|
|
// Unit: "kB",
|
|
Category: "Resource Usage / Memory",
|
|
ShortDesc: "Sets the maximum memory to be used for maintenance operations.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemIntType("maintenance_work_mem", 1024, math.MaxInt32, false),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int64(65536),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"max_connections": &Parameter{
|
|
Name: "max_connections",
|
|
Default: int64(100),
|
|
Category: "Connections and Authentication / Connection Settings",
|
|
ShortDesc: "Sets the maximum number of concurrent connections.",
|
|
Context: ParameterContextPostmaster,
|
|
Type: types.NewSystemIntType("max_connections", 64, math.MaxInt32, false),
|
|
Source: ParameterSourceConfigurationFile,
|
|
ResetVal: int64(100),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"max_files_per_process": &Parameter{
|
|
Name: "max_files_per_process",
|
|
Default: int64(1000),
|
|
Category: "Resource Usage / Kernel Resources",
|
|
ShortDesc: "Sets the maximum number of simultaneously open files for each server process.",
|
|
Context: ParameterContextPostmaster,
|
|
Type: types.NewSystemIntType("max_files_per_process", 64, math.MaxInt32, false),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int64(1000),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"max_function_args": &Parameter{
|
|
Name: "max_function_args",
|
|
Default: int64(100),
|
|
Category: "Preset Options",
|
|
ShortDesc: "Shows the maximum number of function arguments.",
|
|
Context: ParameterContextInternal,
|
|
Type: types.NewSystemIntType("max_function_args", 100, 100, false),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int64(100),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"max_identifier_length": &Parameter{
|
|
Name: "max_identifier_length",
|
|
Default: int64(63),
|
|
Category: "Preset Options",
|
|
ShortDesc: "Shows the maximum identifier length.",
|
|
Context: ParameterContextInternal,
|
|
Type: types.NewSystemIntType("max_identifier_length", 63, 63, false),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int64(63),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"max_index_keys": &Parameter{
|
|
Name: "max_index_keys",
|
|
Default: int64(32),
|
|
Category: "Preset Options",
|
|
ShortDesc: "Shows the maximum number of index keys.",
|
|
Context: ParameterContextInternal,
|
|
Type: types.NewSystemIntType("max_index_keys", 32, 32, false),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int64(32),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"max_locks_per_transaction": &Parameter{
|
|
Name: "max_locks_per_transaction",
|
|
Default: int64(64),
|
|
Category: "Lock Management",
|
|
ShortDesc: "Sets the maximum number of locks per transaction.",
|
|
Context: ParameterContextPostmaster,
|
|
Type: types.NewSystemIntType("max_locks_per_transaction", 10, math.MaxInt32, false),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int64(64),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"max_logical_replication_workers": &Parameter{
|
|
Name: "max_logical_replication_workers",
|
|
Default: int64(4),
|
|
Category: "Replication / Subscribers",
|
|
ShortDesc: "Maximum number of logical replication worker processes.",
|
|
Context: ParameterContextPostmaster,
|
|
Type: types.NewSystemIntType("max_logical_replication_workers", 0, 262143, false),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int64(4),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"max_parallel_apply_workers_per_subscription": &Parameter{
|
|
Name: "max_parallel_apply_workers_per_subscription",
|
|
Default: int64(2),
|
|
Category: "Replication / Subscribers",
|
|
ShortDesc: "Maximum number of parallel apply workers per subscription.",
|
|
Context: ParameterContextSighup,
|
|
Type: types.NewSystemIntType("max_parallel_apply_workers_per_subscription", 0, 1024, false),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int64(2),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"max_parallel_maintenance_workers": &Parameter{
|
|
Name: "max_parallel_maintenance_workers",
|
|
Default: int64(2),
|
|
Category: "Resource Usage / Asynchronous Behavior",
|
|
ShortDesc: "Sets the maximum number of parallel processes per maintenance operation.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemIntType("max_parallel_maintenance_workers", 0, 1024, false),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int64(2),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"max_parallel_workers": &Parameter{
|
|
Name: "max_parallel_workers",
|
|
Default: int64(8),
|
|
Category: "Resource Usage / Asynchronous Behavior",
|
|
ShortDesc: "Sets the maximum number of parallel workers that can be active at one time.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemIntType("max_parallel_workers", 0, 1024, false),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int64(8),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"max_parallel_workers_per_gather": &Parameter{
|
|
Name: "max_parallel_workers_per_gather",
|
|
Default: int64(2),
|
|
Category: "Resource Usage / Asynchronous Behavior",
|
|
ShortDesc: "Sets the maximum number of parallel processes per executor node.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemIntType("max_parallel_workers_per_gather", 0, 1024, false),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int64(2),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"max_pred_locks_per_page": &Parameter{
|
|
Name: "max_pred_locks_per_page",
|
|
Default: int64(2),
|
|
Category: "Lock Management",
|
|
ShortDesc: "Sets the maximum number of predicate-locked tuples per page.",
|
|
Context: ParameterContextSighup,
|
|
Type: types.NewSystemIntType("max_pred_locks_per_page", 0, math.MaxInt32, false),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int64(2),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"max_pred_locks_per_relation": &Parameter{
|
|
Name: "max_pred_locks_per_relation",
|
|
Default: int64(-2),
|
|
Category: "Lock Management",
|
|
ShortDesc: "Sets the maximum number of predicate-locked pages and tuples per relation.",
|
|
Context: ParameterContextSighup,
|
|
Type: types.NewSystemIntType("max_pred_locks_per_relation", math.MinInt32, math.MaxInt32, false),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int64(-2),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"max_pred_locks_per_transaction": &Parameter{
|
|
Name: "max_pred_locks_per_transaction",
|
|
Default: int64(64),
|
|
Category: "Lock Management",
|
|
ShortDesc: "Sets the maximum number of predicate locks per transaction.",
|
|
Context: ParameterContextPostmaster,
|
|
Type: types.NewSystemIntType("max_pred_locks_per_transaction", 10, math.MaxInt32, false),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int64(64),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"max_prepared_transactions": &Parameter{
|
|
Name: "max_prepared_transactions",
|
|
Default: int64(0),
|
|
Category: "Resource Usage / Memory",
|
|
ShortDesc: "Sets the maximum number of simultaneously prepared transactions.",
|
|
Context: ParameterContextPostmaster,
|
|
Type: types.NewSystemIntType("max_prepared_transactions", 0, 262143, false),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int64(0),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"max_replication_slots": &Parameter{
|
|
Name: "max_replication_slots",
|
|
Default: int64(10),
|
|
Category: "Replication / Sending Servers",
|
|
ShortDesc: "Sets the maximum number of simultaneously defined replication slots.",
|
|
Context: ParameterContextPostmaster,
|
|
Type: types.NewSystemIntType("max_replication_slots", 0, 262143, false),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int64(10),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"max_slot_wal_keep_size": &Parameter{
|
|
Name: "max_slot_wal_keep_size",
|
|
Default: int64(-1),
|
|
// Unit: "MB",
|
|
Category: "Replication / Sending Servers",
|
|
ShortDesc: "Sets the maximum WAL size that can be reserved by replication slots.",
|
|
Context: ParameterContextSighup,
|
|
Type: types.NewSystemIntType("max_slot_wal_keep_size", -1, math.MaxInt32, true),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int64(-1),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"max_stack_depth": &Parameter{
|
|
Name: "max_stack_depth",
|
|
Default: int64(2048),
|
|
// Unit: "kB",
|
|
Category: "Resource Usage / Memory",
|
|
ShortDesc: "Sets the maximum stack depth, in kilobytes.",
|
|
Context: ParameterContextSuperUser,
|
|
Type: types.NewSystemIntType("max_stack_depth", 100, math.MaxInt32, false),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int64(2048),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"max_standby_archive_delay": &Parameter{
|
|
Name: "max_standby_archive_delay",
|
|
Default: int64(30000),
|
|
// Unit: "ms",
|
|
Category: "Replication / Sending Servers",
|
|
ShortDesc: "Sets the maximum delay before canceling queries when a hot standby server is processing archived WAL data.",
|
|
Context: ParameterContextSighup,
|
|
Type: types.NewSystemIntType("max_standby_archive_delay", -1, math.MaxInt32, true),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int64(30000),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"max_standby_streaming_delay": &Parameter{
|
|
Name: "max_standby_streaming_delay",
|
|
Default: int64(30000),
|
|
// Unit: "ms",
|
|
Category: "Replication / Standby Servers",
|
|
ShortDesc: "Sets the maximum delay before canceling queries when a hot standby server is processing streamed WAL data.",
|
|
Context: ParameterContextSighup,
|
|
Type: types.NewSystemIntType("max_standby_streaming_delay", -1, math.MaxInt32, true),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int64(30000),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"max_sync_workers_per_subscription": &Parameter{
|
|
Name: "max_sync_workers_per_subscription",
|
|
Default: int64(2),
|
|
Category: "Replication / Subscribers",
|
|
ShortDesc: "Maximum number of table synchronization workers per subscription.",
|
|
Context: ParameterContextSighup,
|
|
Type: types.NewSystemIntType("max_sync_workers_per_subscription", 0, 262143, false),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int64(2),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"max_wal_senders": &Parameter{
|
|
Name: "max_wal_senders",
|
|
Default: int64(10),
|
|
Category: "Replication / Sending Servers",
|
|
ShortDesc: "Sets the maximum number of simultaneously running WAL sender processes.",
|
|
Context: ParameterContextPostmaster,
|
|
Type: types.NewSystemIntType("max_wal_senders", 0, 262143, false),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int64(10),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"max_wal_size": &Parameter{
|
|
Name: "max_wal_size",
|
|
Default: int64(1024),
|
|
// Unit: "MB",
|
|
Category: "Write-Ahead Log / Checkpoints",
|
|
ShortDesc: "Sets the WAL size that triggers a checkpoint.",
|
|
Context: ParameterContextSighup,
|
|
Type: types.NewSystemIntType("max_wal_size", 2, math.MaxInt32, false),
|
|
Source: ParameterSourceConfigurationFile,
|
|
ResetVal: int64(1024),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"max_worker_processes": &Parameter{
|
|
Name: "max_worker_processes",
|
|
Default: int64(8),
|
|
Category: "Resource Usage / Asynchronous Behavior",
|
|
ShortDesc: "Maximum number of concurrent worker processes.",
|
|
Context: ParameterContextPostmaster,
|
|
Type: types.NewSystemIntType("max_worker_processes", 0, 262143, false),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int64(8),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"min_dynamic_shared_memory": &Parameter{
|
|
Name: "min_dynamic_shared_memory",
|
|
Default: int64(0),
|
|
Category: "Resource Usage / Memory",
|
|
ShortDesc: "Amount of dynamic shared memory reserved at startup.",
|
|
Context: ParameterContextPostmaster,
|
|
Type: types.NewSystemIntType("min_dynamic_shared_memory", 0, math.MaxInt32, false),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int64(0),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"min_parallel_index_scan_size": &Parameter{
|
|
Name: "min_parallel_index_scan_size",
|
|
Default: int64(1024),
|
|
// Unit: "8kB",
|
|
Category: "Query Tuning / Planner Cost Constants",
|
|
ShortDesc: "Sets the minimum amount of table data for a parallel scan.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemIntType("min_parallel_index_scan_size", 0, 715827882, false),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int64(1024),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"min_parallel_table_scan_size": &Parameter{
|
|
Name: "min_parallel_table_scan_size",
|
|
Default: int64(1024),
|
|
// Unit: "8kB",
|
|
Category: "Query Tuning / Planner Cost Constants",
|
|
ShortDesc: "Sets the minimum amount of table data for a parallel scan.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemIntType("min_parallel_table_scan_size", 0, 715827882, false),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int64(1024),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"min_wal_size": &Parameter{
|
|
Name: "min_wal_size",
|
|
Default: int64(80),
|
|
// Unit: "MB",
|
|
Category: "Write-Ahead Log / Checkpoints",
|
|
ShortDesc: "Sets the minimum size to shrink the WAL to.",
|
|
Context: ParameterContextSighup,
|
|
Type: types.NewSystemIntType("min_wal_size", 2, math.MaxInt32, false),
|
|
Source: ParameterSourceConfigurationFile,
|
|
ResetVal: int64(80),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"old_snapshot_threshold": &Parameter{
|
|
Name: "old_snapshot_threshold",
|
|
Default: int64(-1),
|
|
Category: "Resource Usage / Asynchronous Behavior",
|
|
ShortDesc: "Time before a snapshot is too old to read pages changed after the snapshot was taken.",
|
|
Context: ParameterContextPostmaster,
|
|
Type: types.NewSystemIntType("old_snapshot_threshold", -1, 86400, true),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int64(-1),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"parallel_leader_participation": &Parameter{
|
|
Name: "parallel_leader_participation",
|
|
Default: int8(1),
|
|
Category: "Resource Usage / Asynchronous Behavior",
|
|
ShortDesc: "Controls whether Gather and Gather Merge also run subplans.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemBoolType("parallel_leader_participation"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int8(1),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"parallel_setup_cost": &Parameter{
|
|
Name: "parallel_setup_cost",
|
|
Default: float64(1000),
|
|
Category: "Query Tuning / Planner Cost Constants",
|
|
ShortDesc: "Sets the planner's estimate of the cost of starting up worker processes for parallel query.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemDoubleType("parallel_setup_cost", 0, math.MaxFloat64),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: float64(1000),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"parallel_tuple_cost": &Parameter{
|
|
Name: "parallel_tuple_cost",
|
|
Default: float64(0.1),
|
|
Category: "Query Tuning / Planner Cost Constants",
|
|
ShortDesc: "Sets the planner's estimate of the cost of passing each tuple (row) from worker to leader backend.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemDoubleType("parallel_tuple_cost", 0, math.MaxFloat64),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: float64(0.1),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"password_encryption": &Parameter{
|
|
Name: "password_encryption",
|
|
Default: "scram-sha-256",
|
|
Category: "Connections and Authentication / Authentication",
|
|
ShortDesc: "Chooses the algorithm for encrypting passwords.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemEnumType("password_encryption", "md5", "scram-sha-256"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: "scram-sha-256",
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"plan_cache_mode": &Parameter{
|
|
Name: "plan_cache_mode",
|
|
Default: "auto",
|
|
Category: "Query Tuning / Other Planner Options",
|
|
ShortDesc: "Controls the planner's selection of custom or generic plan.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemEnumType("plan_cache_mode", "auto", "force_generic_plan", "force_custom_plan"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: "auto",
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"port": &Parameter{
|
|
Name: "port",
|
|
Default: int64(5432),
|
|
Category: "Connections and Authentication / Connection Settings",
|
|
ShortDesc: "Sets the TCP port the server listens on.",
|
|
Context: ParameterContextPostmaster,
|
|
Type: types.NewSystemIntType("port", 1, 65535, false),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int64(5432),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"post_auth_delay": &Parameter{
|
|
Name: "post_auth_delay",
|
|
Default: int64(0),
|
|
// Unit: "s",
|
|
Category: "Developer Options",
|
|
ShortDesc: "Sets the amount of time to wait after authentication on connection startup.",
|
|
Context: ParameterContextBackend,
|
|
Type: types.NewSystemIntType("post_auth_delay", 0, 2147, false),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int64(0),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"pre_auth_delay": &Parameter{
|
|
Name: "pre_auth_delay",
|
|
Default: int64(0),
|
|
// Unit: "s",
|
|
Category: "Developer Options",
|
|
ShortDesc: "Sets the amount of time to wait before authentication on connection startup.",
|
|
Context: ParameterContextSighup,
|
|
Type: types.NewSystemIntType("pre_auth_delay", 0, 60, false),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int64(0),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"primary_conninfo": &Parameter{
|
|
Name: "primary_conninfo",
|
|
Default: "",
|
|
Category: "Replication / Standby Servers",
|
|
ShortDesc: "Sets the connection string to be used to connect to the sending server.",
|
|
Context: ParameterContextSighup,
|
|
Type: types.NewSystemStringType("primary_conninfo"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: "",
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"primary_slot_name": &Parameter{
|
|
Name: "primary_slot_name",
|
|
Default: "",
|
|
Category: "Replication / Standby Servers",
|
|
ShortDesc: "Sets the name of the replication slot to use on the sending server.",
|
|
Context: ParameterContextSighup,
|
|
Type: types.NewSystemStringType("primary_slot_name"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: "",
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"quote_all_identifiers": &Parameter{
|
|
Name: "quote_all_identifiers",
|
|
Default: int8(0),
|
|
Category: "Version and Platform Compatibility / Previous PostgreSQL Versions",
|
|
ShortDesc: "When generating SQL fragments, quote all identifiers.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemBoolType("quote_all_identifiers"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int8(0),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"random_page_cost": &Parameter{
|
|
Name: "random_page_cost",
|
|
Default: float64(4),
|
|
Category: "Query Tuning / Planner Cost Constants",
|
|
ShortDesc: "Sets the planner's estimate of the cost of a nonsequentially fetched disk page.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemDoubleType("random_page_cost", 0, math.MaxFloat64),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: float64(4),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"recovery_end_command": &Parameter{
|
|
Name: "recovery_end_command",
|
|
Default: "",
|
|
Category: "Write-Ahead Log / Archive Recovery",
|
|
ShortDesc: "Sets the shell command that will be executed once at the end of recovery.",
|
|
Context: ParameterContextSighup,
|
|
Type: types.NewSystemStringType("recovery_end_command"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: "",
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"recovery_init_sync_method": &Parameter{
|
|
Name: "recovery_init_sync_method",
|
|
Default: "fsync",
|
|
Category: "Error Handling",
|
|
ShortDesc: "Sets the method for synchronizing the data directory before crash recovery.",
|
|
Context: ParameterContextSighup,
|
|
Type: types.NewSystemEnumType("recovery_init_sync_method", "fsync"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: "fsync",
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"recovery_min_apply_delay": &Parameter{
|
|
Name: "recovery_min_apply_delay",
|
|
Default: int64(0),
|
|
// Unit: "ms",
|
|
Category: "Replication / Standby Servers",
|
|
ShortDesc: "Sets the minimum delay for applying changes during recovery.",
|
|
Context: ParameterContextSighup,
|
|
Type: types.NewSystemIntType("recovery_min_apply_delay", 0, math.MaxInt32, false),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int64(0),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"recovery_prefetch": &Parameter{
|
|
Name: "recovery_prefetch",
|
|
Default: "try",
|
|
Category: "Write-Ahead Log / Recovery",
|
|
ShortDesc: "Prefetch referenced blocks during recovery.",
|
|
Context: ParameterContextSighup,
|
|
Type: types.NewSystemEnumType("recovery_prefetch", "off", "on", "try"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: "try",
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"recovery_target": &Parameter{
|
|
Name: "recovery_target",
|
|
Default: "",
|
|
Category: "Write-Ahead Log / Recovery Target",
|
|
ShortDesc: "Set to \"immediate\" to end recovery as soon as a consistent state is reached.",
|
|
Context: ParameterContextPostmaster,
|
|
Type: types.NewSystemStringType("recovery_target"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: "",
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"recovery_target_action": &Parameter{
|
|
Name: "recovery_target_action",
|
|
Default: "pause",
|
|
Category: "Write-Ahead Log / Recovery Target",
|
|
ShortDesc: "Sets the action to perform upon reaching the recovery target.",
|
|
Context: ParameterContextPostmaster,
|
|
Type: types.NewSystemEnumType("recovery_target_action", "pause", "promote", "shutdown"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: "pause",
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"recovery_target_inclusive": &Parameter{
|
|
Name: "recovery_target_inclusive",
|
|
Default: int8(1),
|
|
Category: "Write-Ahead Log / Recovery Target",
|
|
ShortDesc: "Sets whether to include or exclude transaction with recovery target.",
|
|
Context: ParameterContextPostmaster,
|
|
Type: types.NewSystemBoolType("recovery_target_inclusive"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int8(1),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"recovery_target_lsn": &Parameter{
|
|
Name: "recovery_target_lsn",
|
|
Default: "",
|
|
Category: "Write-Ahead Log / Recovery Target",
|
|
ShortDesc: "Sets the LSN of the write-ahead log location up to which recovery will proceed.",
|
|
Context: ParameterContextPostmaster,
|
|
Type: types.NewSystemStringType("recovery_target_lsn"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: "",
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"recovery_target_name": &Parameter{
|
|
Name: "recovery_target_name",
|
|
Default: "",
|
|
Category: "Write-Ahead Log / Recovery Target",
|
|
ShortDesc: "Sets the named restore point up to which recovery will proceed.",
|
|
Context: ParameterContextPostmaster,
|
|
Type: types.NewSystemStringType("recovery_target_name"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: "",
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"recovery_target_time": &Parameter{
|
|
Name: "recovery_target_time",
|
|
Default: "",
|
|
Category: "Write-Ahead Log / Recovery Target",
|
|
ShortDesc: "Sets the time stamp up to which recovery will proceed.",
|
|
Context: ParameterContextPostmaster,
|
|
Type: types.NewSystemStringType("recovery_target_time"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: "",
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"recovery_target_timeline": &Parameter{
|
|
Name: "recovery_target_timeline",
|
|
Default: "latest",
|
|
Category: "Write-Ahead Log / Recovery Target",
|
|
ShortDesc: "Specifies the timeline to recover into.",
|
|
Context: ParameterContextPostmaster,
|
|
Type: types.NewSystemStringType("recovery_target_timeline"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: "latest",
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"recovery_target_xid": &Parameter{
|
|
Name: "recovery_target_xid",
|
|
Default: "",
|
|
Category: "Write-Ahead Log / Recovery Target",
|
|
ShortDesc: "Sets the transaction ID up to which recovery will proceed.",
|
|
Context: ParameterContextPostmaster,
|
|
Type: types.NewSystemStringType("recovery_target_xid"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: "",
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"recursive_worktable_factor": &Parameter{
|
|
Name: "recursive_worktable_factor",
|
|
Default: float64(10),
|
|
Category: "Query Tuning / Other Planner Options",
|
|
ShortDesc: "Sets the planner's estimate of the average size of a recursive query's working table.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemDoubleType("recursive_worktable_factor", 0.001, 1000000),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: float64(10),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"remove_temp_files_after_crash": &Parameter{
|
|
Name: "remove_temp_files_after_crash",
|
|
Default: int8(0),
|
|
Category: "Developer Options",
|
|
ShortDesc: "Remove temporary files after backend crash.",
|
|
Context: ParameterContextSighup,
|
|
Type: types.NewSystemBoolType("remove_temp_files_after_crash"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int8(0),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"reserved_connections": &Parameter{
|
|
Name: "reserved_connections",
|
|
Default: int64(0),
|
|
Category: "Connections and Authentication / Connection Settings",
|
|
ShortDesc: "Sets the number of connection slots reserved for roles with privileges of pg_use_reserved_connections.",
|
|
Context: ParameterContextPostmaster,
|
|
Type: types.NewSystemIntType("reserved_connections", 0, 262143, false),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int64(0),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"restart_after_crash": &Parameter{
|
|
Name: "restart_after_crash",
|
|
Default: int8(1),
|
|
Category: "Error Handling",
|
|
ShortDesc: "Reinitialize server after backend crash.",
|
|
Context: ParameterContextSighup,
|
|
Type: types.NewSystemBoolType("restart_after_crash"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int8(1),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"restore_command": &Parameter{
|
|
Name: "restore_command",
|
|
Default: "",
|
|
Category: "Write-Ahead Log / Archive Recovery",
|
|
ShortDesc: "Sets the shell command that will be called to retrieve an archived WAL file.",
|
|
Context: ParameterContextSighup,
|
|
Type: types.NewSystemStringType("restore_command"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: "",
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"row_security": &Parameter{
|
|
Name: "row_security",
|
|
Default: int8(1),
|
|
Category: "Client Connection Defaults / Statement Behavior",
|
|
ShortDesc: "Enable row security.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemBoolType("row_security"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int8(1),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"scram_iterations": &Parameter{
|
|
Name: "scram_iterations",
|
|
Default: int64(4096),
|
|
Category: "Connections and Authentication / Authentication",
|
|
ShortDesc: "Sets the iteration count for SCRAM secret generation.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemIntType("scram_iterations", 1, math.MaxInt32, false),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int64(4096),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
// search_path has a hack currently: user-space dolt tables are stored with no schema, so to find them on the search
|
|
// path we need an empty schema path element. Instead, we should store them in the `dolt` schema and put the `dolt`
|
|
// schema on the path here.
|
|
"search_path": &Parameter{
|
|
Name: "search_path",
|
|
Default: "\"$user\", public",
|
|
Category: "Client Connection Defaults / Statement Behavior",
|
|
ShortDesc: "Sets the schema search order for names that are not schema-qualified.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemStringType("search_path"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: "\"$user\", public",
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"segment_size": &Parameter{
|
|
Name: "segment_size",
|
|
Default: int64(131072),
|
|
// Unit: "8kB",
|
|
Category: "Preset Options",
|
|
ShortDesc: "Shows the number of pages per disk file.",
|
|
Context: ParameterContextInternal,
|
|
Type: types.NewSystemIntType("segment_size", 131072, 131072, false),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int64(131072),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"send_abort_for_crash": &Parameter{
|
|
Name: "send_abort_for_crash",
|
|
Default: int8(0),
|
|
Category: "Developer Options",
|
|
ShortDesc: "Send SIGABRT not SIGQUIT to child processes after backend crash.",
|
|
Context: ParameterContextSighup,
|
|
Type: types.NewSystemBoolType("send_abort_for_crash"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int8(0),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"send_abort_for_kill": &Parameter{
|
|
Name: "send_abort_for_kill",
|
|
Default: int8(0),
|
|
Category: "Developer Options",
|
|
ShortDesc: "Send SIGABRT not SIGKILL to stuck child processes.",
|
|
Context: ParameterContextSighup,
|
|
Type: types.NewSystemBoolType("send_abort_for_kill"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int8(0),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"seq_page_cost": &Parameter{
|
|
Name: "seq_page_cost",
|
|
Default: float64(1),
|
|
Category: "Query Tuning / Planner Cost Constants",
|
|
ShortDesc: "Sets the planner's estimate of the cost of a sequentially fetched disk page.",
|
|
Context: ParameterContextSighup,
|
|
Type: types.NewSystemDoubleType("seq_page_cost", 0, math.MaxFloat64),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: float64(1),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"server_encoding": &Parameter{
|
|
Name: "server_encoding",
|
|
Default: "UTF8",
|
|
Category: "Preset Options",
|
|
ShortDesc: "Shows the server (database) character set encoding.",
|
|
Context: ParameterContextInternal,
|
|
Type: types.NewSystemStringType("server_encoding"),
|
|
Source: ParameterSourceDefault,
|
|
// BootVal: "SQL_ASCII",
|
|
ResetVal: "UTF8",
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"server_version": &Parameter{
|
|
Name: "server_version",
|
|
Default: "15.17 (Homebrew)",
|
|
Category: "Preset Options",
|
|
ShortDesc: "Shows the server version.",
|
|
Context: ParameterContextInternal,
|
|
Type: types.NewSystemStringType("server_version"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: "15.17 (Homebrew)",
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"server_version_num": &Parameter{
|
|
Name: "server_version_num",
|
|
Default: int64(150017),
|
|
Category: "Preset Options",
|
|
ShortDesc: "Shows the server version as an integer.",
|
|
Context: ParameterContextInternal,
|
|
Type: types.NewSystemIntType("server_version_num", 150017, 150017, false),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int64(150017),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"session_preload_libraries": &Parameter{
|
|
Name: "session_preload_libraries",
|
|
Default: "",
|
|
Category: "Client Connection Defaults / Shared Library Preloading",
|
|
ShortDesc: "Lists shared libraries to preload into each backend.",
|
|
Context: ParameterContextSuperUser,
|
|
Type: types.NewSystemStringType("session_preload_libraries"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: "",
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"session_replication_role": &Parameter{
|
|
Name: "session_replication_role",
|
|
Default: "origin",
|
|
Category: "Write-Ahead Log / Archive Recovery",
|
|
ShortDesc: "Sets the session's behavior for triggers and rewrite rules.",
|
|
Context: ParameterContextSuperUser,
|
|
Type: types.NewSystemEnumType("session_replication_role", "origin", "replica", "local"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: "origin",
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"shared_buffers": &Parameter{
|
|
Name: "shared_buffers",
|
|
Default: int64(16384),
|
|
// Unit: "8kB",
|
|
Category: "Resource Usage / Memory",
|
|
ShortDesc: "Sets the number of shared memory buffers used by the server.",
|
|
Context: ParameterContextPostmaster,
|
|
Type: types.NewSystemIntType("shared_buffers", 16, 1073741823, false),
|
|
Source: ParameterSourceConfigurationFile,
|
|
ResetVal: int64(16384),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"shared_memory_size": &Parameter{
|
|
Name: "shared_memory_size",
|
|
Default: int64(143),
|
|
// Unit: "MB",
|
|
Category: "Preset Options",
|
|
ShortDesc: "Shows the size of the server's main shared memory area (rounded up to the nearest MB).",
|
|
Context: ParameterContextInternal,
|
|
Type: types.NewSystemIntType("shared_memory_size", 0, math.MaxInt32, false),
|
|
Source: ParameterSourceDefault,
|
|
// BootVal: int64(0);
|
|
ResetVal: int64(143),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"shared_memory_size_in_huge_pages": &Parameter{
|
|
Name: "shared_memory_size_in_huge_pages",
|
|
Default: int64(-1),
|
|
Category: "Preset Options",
|
|
ShortDesc: "Shows the number of huge pages needed for the main shared memory area.",
|
|
Context: ParameterContextInternal,
|
|
Type: types.NewSystemIntType("shared_memory_size_in_huge_pages", -1, math.MaxInt32, true),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int64(-1),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"shared_memory_type": &Parameter{
|
|
Name: "shared_memory_type",
|
|
Default: "mmap",
|
|
Category: "Resource Usage / Memory",
|
|
ShortDesc: "Selects the shared memory implementation used for the main shared memory region.",
|
|
Context: ParameterContextPostmaster,
|
|
Type: types.NewSystemEnumType("shared_memory_type", "sysv", "mmap"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: "mmap",
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"shared_preload_libraries": &Parameter{
|
|
Name: "shared_preload_libraries",
|
|
Default: "",
|
|
Category: "Client Connection Defaults / Shared Library Preloading",
|
|
ShortDesc: "Lists shared libraries to preload into server.",
|
|
Context: ParameterContextPostmaster,
|
|
Type: types.NewSystemStringType("shared_preload_libraries"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: "",
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"ssl": &Parameter{
|
|
Name: "ssl",
|
|
Default: int8(0),
|
|
Category: "Connections and Authentication / SSL",
|
|
ShortDesc: "Enables SSL connections.",
|
|
Context: ParameterContextSighup,
|
|
Type: types.NewSystemBoolType("ssl"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int8(0),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"ssl_ca_file": &Parameter{
|
|
Name: "ssl_ca_file",
|
|
Default: "",
|
|
Category: "Connections and Authentication / SSL",
|
|
ShortDesc: "Location of the SSL certificate authority file.",
|
|
Context: ParameterContextSighup,
|
|
Type: types.NewSystemStringType("ssl_ca_file"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: "",
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"ssl_cert_file": &Parameter{
|
|
Name: "ssl_cert_file",
|
|
Default: "server.crt",
|
|
Category: "Connections and Authentication / SSL",
|
|
ShortDesc: "Location of the SSL server certificate file.",
|
|
Context: ParameterContextSighup,
|
|
Type: types.NewSystemStringType("ssl_cert_file"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: "server.crt",
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"ssl_ciphers": &Parameter{
|
|
Name: "ssl_ciphers",
|
|
Default: "HIGH:MEDIUM:+3DES:!aNULL",
|
|
Category: "Connections and Authentication / SSL",
|
|
ShortDesc: "Sets the list of allowed SSL ciphers.",
|
|
Context: ParameterContextSighup,
|
|
Type: types.NewSystemStringType("ssl_ciphers"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: "HIGH:MEDIUM:+3DES:!aNULL",
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"ssl_crl_dir": &Parameter{
|
|
Name: "ssl_crl_dir",
|
|
Default: "",
|
|
Category: "Connections and Authentication / SSL",
|
|
ShortDesc: "Location of the SSL certificate revocation list directory.",
|
|
Context: ParameterContextSighup,
|
|
Type: types.NewSystemStringType("ssl_crl_dir"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: "",
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"ssl_crl_file": &Parameter{
|
|
Name: "ssl_crl_file",
|
|
Default: "",
|
|
Category: "Connections and Authentication / SSL",
|
|
ShortDesc: "Location of the SSL certificate revocation list file.",
|
|
Context: ParameterContextSighup,
|
|
Type: types.NewSystemStringType("ssl_crl_file"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: "",
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"ssl_dh_params_file": &Parameter{
|
|
Name: "ssl_dh_params_file",
|
|
Default: "",
|
|
Category: "Connections and Authentication / SSL",
|
|
ShortDesc: "Location of the SSL DH parameters file.",
|
|
Context: ParameterContextSighup,
|
|
Type: types.NewSystemStringType("ssl_dh_params_file"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: "",
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"ssl_ecdh_curve": &Parameter{
|
|
Name: "ssl_ecdh_curve",
|
|
Default: "prime256v1",
|
|
Category: "Connections and Authentication / SSL",
|
|
ShortDesc: "Sets the curve to use for ECDH.",
|
|
Context: ParameterContextSighup,
|
|
Type: types.NewSystemStringType("ssl_ecdh_curve"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: "prime256v1",
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"ssl_key_file": &Parameter{
|
|
Name: "ssl_key_file",
|
|
Default: "server.key",
|
|
Category: "Connections and Authentication / SSL",
|
|
ShortDesc: "Location of the SSL server private key file.",
|
|
Context: ParameterContextSighup,
|
|
Type: types.NewSystemStringType("ssl_key_file"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: "server.key",
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"ssl_library": &Parameter{
|
|
Name: "ssl_library",
|
|
Default: "OpenSSL",
|
|
Category: "Preset Options",
|
|
ShortDesc: "Shows the name of the SSL library.",
|
|
Context: ParameterContextInternal,
|
|
Type: types.NewSystemStringType("ssl_library"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: "OpenSSL",
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"ssl_max_protocol_version": &Parameter{
|
|
Name: "ssl_max_protocol_version",
|
|
Default: "",
|
|
Category: "Connections and Authentication / SSL",
|
|
ShortDesc: "Sets the maximum SSL/TLS protocol version to use.",
|
|
Context: ParameterContextSighup,
|
|
Type: types.NewSystemEnumType("ssl_max_protocol_version", "", "TLSv1", "TLSv1.1", "TLSv1.2", "TLSv1.3"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: "",
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"ssl_min_protocol_version": &Parameter{
|
|
Name: "ssl_min_protocol_version",
|
|
Default: "TLSv1.2",
|
|
Category: "Connections and Authentication / SSL",
|
|
ShortDesc: "Sets the minimum SSL/TLS protocol version to use.",
|
|
Context: ParameterContextSighup,
|
|
Type: types.NewSystemEnumType("ssl_min_protocol_version", "TLSv1", "TLSv1.1", "TLSv1.2", "TLSv1.3"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: "TLSv1.2",
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"ssl_passphrase_command": &Parameter{
|
|
Name: "ssl_passphrase_command",
|
|
Default: "",
|
|
Category: "Connections and Authentication / SSL",
|
|
ShortDesc: "Command to obtain passphrases for SSL.",
|
|
Context: ParameterContextSighup,
|
|
Type: types.NewSystemStringType("ssl_passphrase_command"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: "",
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"ssl_passphrase_command_supports_reload": &Parameter{
|
|
Name: "ssl_passphrase_command_supports_reload",
|
|
Default: int8(0),
|
|
Category: "Connections and Authentication / SSL",
|
|
ShortDesc: "Controls whether ssl_passphrase_command is called during server reload.",
|
|
Context: ParameterContextSighup,
|
|
Type: types.NewSystemBoolType("ssl_passphrase_command_supports_reload"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int8(0),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"ssl_prefer_server_ciphers": &Parameter{
|
|
Name: "ssl_prefer_server_ciphers",
|
|
Default: int8(1),
|
|
Category: "Connections and Authentication / SSL",
|
|
ShortDesc: "Give priority to server ciphersuite order.",
|
|
Context: ParameterContextSighup,
|
|
Type: types.NewSystemBoolType("ssl_prefer_server_ciphers"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int8(1),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"standard_conforming_strings": &Parameter{
|
|
Name: "standard_conforming_strings",
|
|
Default: int8(1),
|
|
Category: "Version and Platform Compatibility / Previous PostgreSQL Versions",
|
|
ShortDesc: "Causes '...' strings to treat backslashes literally.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemBoolType("standard_conforming_strings"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int8(1),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"statement_timeout": &Parameter{
|
|
Name: "statement_timeout",
|
|
Default: int64(0),
|
|
// Unit: "ms",
|
|
Category: "Client Connection Defaults / Statement Behavior",
|
|
ShortDesc: "Sets the maximum allowed duration of any statement.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemIntType("statement_timeout", 0, math.MaxInt32, false),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int64(0),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"stats_fetch_consistency": &Parameter{
|
|
Name: "stats_fetch_consistency",
|
|
Default: "cache",
|
|
Category: "Statistics / Cumulative Query and Index Statistics",
|
|
ShortDesc: "Sets the consistency of accesses to statistics data.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemEnumType("stats_fetch_consistency", "none", "cache", "snapshot"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: "cache",
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"superuser_reserved_connections": &Parameter{
|
|
Name: "superuser_reserved_connections",
|
|
Default: int64(3),
|
|
Category: "Connections and Authentication / Connection Settings",
|
|
ShortDesc: "Sets the number of connection slots reserved for superusers.",
|
|
Context: ParameterContextPostmaster,
|
|
Type: types.NewSystemIntType("superuser_reserved_connections", 0, 262143, false),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int64(3),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"synchronize_seqscans": &Parameter{
|
|
Name: "synchronize_seqscans",
|
|
Default: int8(1),
|
|
Category: "Version and Platform Compatibility / Previous PostgreSQL Versions",
|
|
ShortDesc: "Enable synchronized sequential scans.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemBoolType("synchronize_seqscans"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int8(1),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"synchronous_commit": &Parameter{
|
|
Name: "synchronous_commit",
|
|
Default: "on",
|
|
Category: "Write-Ahead Log / Settings",
|
|
ShortDesc: "Sets the current transaction's synchronization level.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemEnumType("synchronous_commit", "local", "remote_write", "remote_apply", "on", "off"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: "on",
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"synchronous_standby_names": &Parameter{
|
|
Name: "synchronous_standby_names",
|
|
Default: "",
|
|
Category: "Replication / Primary Server",
|
|
ShortDesc: "Number of synchronous standbys and list of names of potential synchronous ones.",
|
|
Context: ParameterContextSighup,
|
|
Type: types.NewSystemStringType("synchronous_standby_names"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: "",
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"syslog_facility": &Parameter{
|
|
Name: "syslog_facility",
|
|
Default: "local0",
|
|
Category: "Reporting and Logging / Where to Log",
|
|
ShortDesc: "Sets the syslog \"facility\" to be used when syslog enabled.",
|
|
Context: ParameterContextSighup,
|
|
Type: types.NewSystemEnumType("syslog_facility", "local0", "local1", "local2", "local3", "local4", "local5", "local6", "local7"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: "local0",
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"syslog_ident": &Parameter{
|
|
Name: "syslog_ident",
|
|
Default: "postgres",
|
|
Category: "Reporting and Logging / Where to Log",
|
|
ShortDesc: "Sets the program name used to identify PostgreSQL messages in syslog.",
|
|
Context: ParameterContextSighup,
|
|
Type: types.NewSystemStringType("syslog_ident"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: "postgres",
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"syslog_sequence_numbers": &Parameter{
|
|
Name: "syslog_sequence_numbers",
|
|
Default: int8(1),
|
|
Category: "Reporting and Logging / Where to Log",
|
|
ShortDesc: "Add sequence number to syslog messages to avoid duplicate suppression.",
|
|
Context: ParameterContextSighup,
|
|
Type: types.NewSystemBoolType("syslog_sequence_numbers"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int8(1),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"syslog_split_messages": &Parameter{
|
|
Name: "syslog_split_messages",
|
|
Default: int8(1),
|
|
Category: "Reporting and Logging / Where to Log",
|
|
ShortDesc: "Split messages sent to syslog by lines and to fit into 1024 bytes.",
|
|
Context: ParameterContextSighup,
|
|
Type: types.NewSystemBoolType("syslog_split_messages"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int8(1),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"tcp_keepalives_count": &Parameter{
|
|
Name: "tcp_keepalives_count",
|
|
Default: int64(0),
|
|
Category: "Connections and Authentication / TCP Settings",
|
|
ShortDesc: "Maximum number of TCP keepalive retransmits.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemIntType("tcp_keepalives_count", 0, math.MaxInt32, false),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int64(0),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"tcp_keepalives_idle": &Parameter{
|
|
Name: "tcp_keepalives_idle",
|
|
Default: int64(0),
|
|
// Unit: "s",
|
|
Category: "Connections and Authentication / TCP Settings",
|
|
ShortDesc: "Time between issuing TCP keepalives.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemIntType("tcp_keepalives_idle", 0, math.MaxInt32, false),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int64(0),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"tcp_keepalives_interval": &Parameter{
|
|
Name: "tcp_keepalives_interval",
|
|
Default: int64(0),
|
|
// Unit: "s",
|
|
Category: "Connections and Authentication / TCP Settings",
|
|
ShortDesc: "Time between TCP keepalive retransmits.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemIntType("tcp_keepalives_interval", 0, math.MaxInt32, false),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int64(0),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"tcp_user_timeout": &Parameter{
|
|
Name: "tcp_user_timeout",
|
|
Default: int64(0),
|
|
// Unit: "ms",
|
|
Category: "Connections and Authentication / TCP Settings",
|
|
ShortDesc: "TCP user timeout.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemIntType("tcp_user_timeout", 0, math.MaxInt32, false),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int64(0),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"temp_buffers": &Parameter{
|
|
Name: "temp_buffers",
|
|
Default: int64(1024),
|
|
// Unit: "8kB",
|
|
Category: "Resource Usage / Memory",
|
|
ShortDesc: "Sets the maximum number of temporary buffers used by each session.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemIntType("temp_buffers", 100, 1073741823, false),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int64(1024),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"temp_file_limit": &Parameter{
|
|
Name: "temp_file_limit",
|
|
Default: int64(-1),
|
|
// Unit: "kB",
|
|
Category: "Resource Usage / Disk",
|
|
ShortDesc: "Limits the total size of all temporary files used by each process.",
|
|
Context: ParameterContextSuperUser,
|
|
Type: types.NewSystemIntType("temp_file_limit", -1, math.MaxInt32, true),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int64(-1),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"temp_tablespaces": &Parameter{
|
|
Name: "temp_tablespaces",
|
|
Default: "",
|
|
Category: "Client Connection Defaults / Statement Behavior",
|
|
ShortDesc: "Sets the tablespace(s) to use for temporary tables and sort files.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemStringType("temp_tablespaces"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: "",
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"timezone": &Parameter{
|
|
Name: "TimeZone",
|
|
Default: time.Local.String(),
|
|
Category: "Client Connection Defaults / Locale and Formatting",
|
|
ShortDesc: "Sets the time zone for displaying and interpreting time stamps.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemStringType("timezone"),
|
|
Source: ParameterSourceConfigurationFile,
|
|
ResetVal: time.Local.String(),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
ValidateFunc: func(_, new any) (any, bool) {
|
|
switch v := new.(type) {
|
|
case string:
|
|
v = strings.TrimSpace(v)
|
|
vplus := "+" + v // This allows for 10:00:00 to match since we'd expect +10:00:00 for a time zone
|
|
if strings.ToLower(v) == "local" {
|
|
// TODO: this should be the IANA name, not whatever Go decides to use
|
|
// https://pkg.go.dev/github.com/thlib/go-timezone-local/tzlocal seems useful in this case.
|
|
return time.Local.String(), true
|
|
} else {
|
|
if strings.ToLower(v) == "utc" {
|
|
v = "UTC"
|
|
}
|
|
loc, err := time.LoadLocation(v)
|
|
if err == nil {
|
|
return loc.String(), true
|
|
}
|
|
_, err = TzOffsetToDuration(v)
|
|
if err == nil {
|
|
return v, true
|
|
}
|
|
for _, layout := range []string{
|
|
"-07",
|
|
"-0700",
|
|
"-070000",
|
|
"-07:00",
|
|
"-07:00:00",
|
|
"UTC-07",
|
|
"UTC-0700",
|
|
"UTC-070000",
|
|
"UTC-07:00",
|
|
"UTC-07:00:00",
|
|
"MST",
|
|
} {
|
|
parsed, err := time.Parse(layout, v)
|
|
if err == nil {
|
|
return parsed.Format("-07:00:00"), true
|
|
}
|
|
parsed, err = time.Parse(layout, vplus)
|
|
if err == nil {
|
|
return parsed.Format("-07:00:00"), true
|
|
}
|
|
}
|
|
return nil, false
|
|
}
|
|
}
|
|
return new, true
|
|
},
|
|
},
|
|
"timezone_abbreviations": &Parameter{
|
|
Name: "timezone_abbreviations",
|
|
Default: "Default",
|
|
Category: "Client Connection Defaults / Locale and Formatting",
|
|
ShortDesc: "Selects a file of time zone abbreviations.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemStringType("timezone_abbreviations"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: "Default",
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"trace_notify": &Parameter{
|
|
Name: "trace_notify",
|
|
Default: int8(0),
|
|
Category: "Developer Options",
|
|
ShortDesc: "Generates debugging output for LISTEN and NOTIFY.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemBoolType("trace_notify"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int8(0),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"trace_recovery_messages": &Parameter{
|
|
Name: "trace_recovery_messages",
|
|
Default: "log",
|
|
Category: "Developer Options",
|
|
ShortDesc: "Enables logging of recovery-related debugging information.",
|
|
Context: ParameterContextSighup,
|
|
Type: types.NewSystemEnumType("trace_recovery_messages", "debug5", "debug4", "debug3", "debug2", "debug1", "log", "notice", "warning", "error"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: "log",
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"trace_sort": &Parameter{
|
|
Name: "trace_sort",
|
|
Default: int8(0),
|
|
Category: "Developer Options",
|
|
ShortDesc: "Emit information about resource usage in sorting.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemBoolType("trace_sort"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int8(0),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"track_activities": &Parameter{
|
|
Name: "track_activities",
|
|
Default: int8(1),
|
|
Category: "Statistics / Cumulative Query and Index Statistics",
|
|
ShortDesc: "Collects information about executing commands.",
|
|
Context: ParameterContextSuperUser,
|
|
Type: types.NewSystemBoolType("track_activities"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int8(1),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"track_activity_query_size": &Parameter{
|
|
Name: "track_activity_query_size",
|
|
Default: int64(1024),
|
|
// Unit: "B",
|
|
Category: "Statistics / Cumulative Query and Index Statistics",
|
|
ShortDesc: "Sets the size reserved for pg_stat_activity.query, in bytes.",
|
|
Context: ParameterContextPostmaster,
|
|
Type: types.NewSystemIntType("track_activity_query_size", 100, 1048576, false),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int64(1024),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"track_commit_timestamp": &Parameter{
|
|
Name: "track_commit_timestamp",
|
|
Default: int8(0),
|
|
Category: "Replication / Sending Servers",
|
|
ShortDesc: "Collects transaction commit time.",
|
|
Context: ParameterContextPostmaster,
|
|
Type: types.NewSystemBoolType("track_commit_timestamp"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int8(0),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"track_counts": &Parameter{
|
|
Name: "track_counts",
|
|
Default: int8(1),
|
|
Category: "Statistics / Cumulative Query and Index Statistics",
|
|
ShortDesc: "Collects statistics on database activity.",
|
|
Context: ParameterContextSuperUser,
|
|
Type: types.NewSystemBoolType("track_counts"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int8(1),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"track_functions": &Parameter{
|
|
Name: "track_functions",
|
|
Default: "none",
|
|
Category: "Statistics / Cumulative Query and Index Statistics",
|
|
ShortDesc: "Collects function-level statistics on database activity.",
|
|
Context: ParameterContextSuperUser,
|
|
Type: types.NewSystemEnumType("track_functions", "none", "pl", "all"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: "none",
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"track_io_timing": &Parameter{
|
|
Name: "track_io_timing",
|
|
Default: int8(0),
|
|
Category: "Statistics / Cumulative Query and Index Statistics",
|
|
ShortDesc: "Collects timing statistics for database I/O activity.",
|
|
Context: ParameterContextSuperUser,
|
|
Type: types.NewSystemBoolType("track_io_timing"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int8(0),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"track_wal_io_timing": &Parameter{
|
|
Name: "track_wal_io_timing",
|
|
Default: int8(0),
|
|
Category: "Statistics / Cumulative Query and Index Statistics",
|
|
ShortDesc: "Collects timing statistics for WAL I/O activity.",
|
|
Context: ParameterContextSuperUser,
|
|
Type: types.NewSystemBoolType("track_wal_io_timing"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int8(0),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"transaction_deferrable": &Parameter{
|
|
Name: "transaction_deferrable",
|
|
Default: int8(0),
|
|
Category: "Client Connection Defaults / Statement Behavior",
|
|
ShortDesc: "Whether to defer a read-only serializable transaction until it can be executed with no possible serialization failures.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemBoolType("transaction_deferrable"),
|
|
Source: ParameterSourceOverride,
|
|
ResetVal: int8(0),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"transaction_isolation": &Parameter{
|
|
Name: "transaction_isolation",
|
|
Default: "read committed",
|
|
Category: "Client Connection Defaults / Statement Behavior",
|
|
ShortDesc: "Sets the current transaction's isolation level.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemEnumType("transaction_isolation", "serializable", "repeatable read", "read committed", "read uncommitted"),
|
|
Source: ParameterSourceOverride,
|
|
ResetVal: "read committed",
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"transaction_read_only": &Parameter{
|
|
Name: "transaction_read_only",
|
|
Default: int8(0),
|
|
Category: "Client Connection Defaults / Statement Behavior",
|
|
ShortDesc: "Sets the current transaction's read-only status.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemBoolType("transaction_read_only"),
|
|
Source: ParameterSourceOverride,
|
|
ResetVal: int8(0),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"transaction_timeout": &Parameter{
|
|
Name: "transaction_timeout",
|
|
Default: int64(0), // Unit: "ms"
|
|
Category: "Client Connection Defaults / Statement Behavior",
|
|
ShortDesc: "Sets the maximum allowed duration of any transaction within a session (not a prepared transaction).",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemIntType("transaction_timeout", 0, math.MaxInt32, false),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int64(0),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"transform_null_equals": &Parameter{
|
|
Name: "transform_null_equals",
|
|
Default: int8(0),
|
|
Category: "Version and Platform Compatibility / Other Platforms and Clients",
|
|
ShortDesc: "Treats \"expr=NULL\" as \"expr IS NULL\".",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemBoolType("transform_null_equals"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int8(0),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"unix_socket_directories": &Parameter{
|
|
Name: "unix_socket_directories",
|
|
Default: "/tmp",
|
|
Category: "Connections and Authentication / Connection Settings",
|
|
ShortDesc: "Sets the directories where Unix-domain sockets will be created.",
|
|
Context: ParameterContextPostmaster,
|
|
Type: types.NewSystemStringType("unix_socket_directories"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: "/tmp",
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"unix_socket_group": &Parameter{
|
|
Name: "unix_socket_group",
|
|
Default: "",
|
|
Category: "Connections and Authentication / Connection Settings",
|
|
ShortDesc: "Sets the owning group of the Unix-domain socket.",
|
|
Context: ParameterContextPostmaster,
|
|
Type: types.NewSystemStringType("unix_socket_group"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: "",
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"unix_socket_permissions": &Parameter{
|
|
Name: "unix_socket_permissions",
|
|
Default: int64(511), // displays in octal, which is 0777
|
|
Category: "Connections and Authentication / Connection Settings",
|
|
ShortDesc: "Sets the access permissions of the Unix-domain socket.",
|
|
Context: ParameterContextPostmaster,
|
|
Type: types.NewSystemIntType("unix_socket_permissions", 0, 511, false),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int64(511),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"update_process_title": &Parameter{
|
|
Name: "update_process_title",
|
|
Default: int8(1),
|
|
Category: "Reporting and Logging / Process Title",
|
|
ShortDesc: "Updates the process title to show the active SQL command.",
|
|
Context: ParameterContextSuperUser,
|
|
Type: types.NewSystemBoolType("update_process_title"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int8(1),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"vacuum_buffer_usage_limit": &Parameter{
|
|
Name: "vacuum_buffer_usage_limit",
|
|
Default: int64(256),
|
|
// Unit: "kB",
|
|
Category: "Resource Usage / Memory",
|
|
ShortDesc: "Sets the buffer pool size for VACUUM, ANALYZE, and autovacuum.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemIntType("vacuum_buffer_usage_limit", 0, 16777216, false),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int64(256),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"vacuum_cost_delay": &Parameter{
|
|
Name: "vacuum_cost_delay",
|
|
Default: float64(0),
|
|
// Unit: "ms",
|
|
Category: "Resource Usage / Cost-Based Vacuum Delay",
|
|
ShortDesc: "Vacuum cost delay in milliseconds.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemDoubleType("vacuum_cost_delay", 0, 100),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: float64(0),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"vacuum_cost_limit": &Parameter{
|
|
Name: "vacuum_cost_limit",
|
|
Default: int64(200),
|
|
Category: "Resource Usage / Cost-Based Vacuum Delay",
|
|
ShortDesc: "Vacuum cost amount available before napping.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemIntType("vacuum_cost_limit", 1, 10000, false),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int64(200),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"vacuum_cost_page_dirty": &Parameter{
|
|
Name: "vacuum_cost_page_dirty",
|
|
Default: int64(20),
|
|
Category: "Resource Usage / Cost-Based Vacuum Delay",
|
|
ShortDesc: "Vacuum cost for a page dirtied by vacuum.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemIntType("vacuum_cost_page_dirty", 0, 10000, false),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int64(20),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"vacuum_cost_page_hit": &Parameter{
|
|
Name: "vacuum_cost_page_hit",
|
|
Default: int64(1),
|
|
Category: "Resource Usage / Cost-Based Vacuum Delay",
|
|
ShortDesc: "Vacuum cost for a page found in the buffer cache.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemIntType("vacuum_cost_page_hit", 0, 10000, false),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int64(1),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"vacuum_cost_page_miss": &Parameter{
|
|
Name: "vacuum_cost_page_miss",
|
|
Default: int64(2),
|
|
Category: "Resource Usage / Cost-Based Vacuum Delay",
|
|
ShortDesc: "Vacuum cost for a page not found in the buffer cache.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemIntType("vacuum_cost_page_miss", 0, 10000, false),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int64(2),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"vacuum_failsafe_age": &Parameter{
|
|
Name: "vacuum_failsafe_age",
|
|
Default: int64(1600000000),
|
|
Category: "Client Connection Defaults / Statement Behavior",
|
|
ShortDesc: "Age at which VACUUM should trigger failsafe to avoid a wraparound outage.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemIntType("vacuum_failsafe_age", 0, 2100000000, false),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int64(1600000000),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"vacuum_freeze_min_age": &Parameter{
|
|
Name: "vacuum_freeze_min_age",
|
|
Default: int64(50000000),
|
|
Category: "Client Connection Defaults / Statement Behavior",
|
|
ShortDesc: "Minimum age at which VACUUM should freeze a table row.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemIntType("vacuum_freeze_min_age", 0, 1000000000, false),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int64(50000000),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"vacuum_freeze_table_age": &Parameter{
|
|
Name: "vacuum_freeze_table_age",
|
|
Default: int64(150000000),
|
|
Category: "Client Connection Defaults / Statement Behavior",
|
|
ShortDesc: "Age at which VACUUM should scan whole table to freeze tuples.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemIntType("vacuum_freeze_table_age", 0, 2000000000, false),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int64(150000000),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"vacuum_multixact_failsafe_age": &Parameter{
|
|
Name: "vacuum_multixact_failsafe_age",
|
|
Default: int64(1600000000),
|
|
Category: "Client Connection Defaults / Statement Behavior",
|
|
ShortDesc: "Multixact age at which VACUUM should trigger failsafe to avoid a wraparound outage.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemIntType("vacuum_multixact_failsafe_age", 0, 2100000000, false),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int64(1600000000),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"vacuum_multixact_freeze_min_age": &Parameter{
|
|
Name: "vacuum_multixact_freeze_min_age",
|
|
Default: int64(5000000),
|
|
Category: "Client Connection Defaults / Statement Behavior",
|
|
ShortDesc: "Minimum age at which VACUUM should freeze a MultiXactId in a table row.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemIntType("vacuum_multixact_freeze_min_age", 0, 1000000000, false),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int64(5000000),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"vacuum_multixact_freeze_table_age": &Parameter{
|
|
Name: "vacuum_multixact_freeze_table_age",
|
|
Default: int64(150000000),
|
|
Category: "Client Connection Defaults / Statement Behavior",
|
|
ShortDesc: "Multixact age at which VACUUM should scan whole table to freeze tuples.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemIntType("vacuum_multixact_freeze_table_age", 0, 2000000000, false),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int64(150000000),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"wal_block_size": &Parameter{
|
|
Name: "wal_block_size",
|
|
Default: int64(8192),
|
|
Category: "Preset Options",
|
|
ShortDesc: "Shows the block size in the write ahead log.",
|
|
Context: ParameterContextInternal,
|
|
Type: types.NewSystemIntType("wal_block_size", 8192, 8192, false),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int64(8192),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"wal_buffers": &Parameter{
|
|
Name: "wal_buffers",
|
|
Default: int64(512),
|
|
// Unit: "8kB",
|
|
Category: "Write-Ahead Log / Settings",
|
|
ShortDesc: "Sets the number of disk-page buffers in shared memory for WAL.",
|
|
Context: ParameterContextPostmaster,
|
|
Type: types.NewSystemIntType("wal_buffers", -1, 262143, true),
|
|
Source: ParameterSourceDefault,
|
|
// BootVal: int64(-1),
|
|
ResetVal: int64(512),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"wal_compression": &Parameter{
|
|
Name: "wal_compression",
|
|
Default: "off",
|
|
Category: "Write-Ahead Log / Settings",
|
|
ShortDesc: "Compresses full-page writes written in WAL file with specified method.",
|
|
Context: ParameterContextSuperUser,
|
|
Type: types.NewSystemEnumType("wal_compression", "pglz", "lz4", "on", "off"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: "off",
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"wal_consistency_checking": &Parameter{
|
|
Name: "wal_consistency_checking",
|
|
Default: "",
|
|
Category: "Developer Options",
|
|
ShortDesc: "Sets the WAL resource managers for which WAL consistency checks are done.",
|
|
Context: ParameterContextSuperUser,
|
|
Type: types.NewSystemStringType("wal_consistency_checking"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: "",
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"wal_decode_buffer_size": &Parameter{
|
|
Name: "wal_decode_buffer_size",
|
|
Default: int64(524288),
|
|
// Unit: "B",
|
|
Category: "Write-Ahead Log / Recovery",
|
|
ShortDesc: "Buffer size for reading ahead in the WAL during recovery.",
|
|
Context: ParameterContextPostmaster,
|
|
Type: types.NewSystemIntType("wal_decode_buffer_size", math.MaxUint16, 1073741823, false),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int64(524288),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"wal_init_zero": &Parameter{
|
|
Name: "wal_init_zero",
|
|
Default: int8(1),
|
|
Category: "Write-Ahead Log / Settings",
|
|
ShortDesc: "Writes zeroes to new WAL files before first use.",
|
|
Context: ParameterContextSuperUser,
|
|
Type: types.NewSystemBoolType("wal_init_zero"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int8(1),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"wal_keep_size": &Parameter{
|
|
Name: "wal_keep_size",
|
|
Default: int64(0),
|
|
// Unit: "MB",
|
|
Category: "Replication / Sending Servers",
|
|
ShortDesc: "Sets the size of WAL files held for standby servers.",
|
|
Context: ParameterContextSighup,
|
|
Type: types.NewSystemIntType("wal_keep_size", 0, math.MaxInt32, false),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int64(0),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"wal_level": &Parameter{
|
|
Name: "wal_level",
|
|
Default: "replica",
|
|
Category: "Write-Ahead Log / Settings",
|
|
ShortDesc: "Sets the level of information written to the WAL.",
|
|
Context: ParameterContextPostmaster,
|
|
Type: types.NewSystemEnumType("wal_level", "minimal", "replica", "logical"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: "replica",
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"wal_log_hints": &Parameter{
|
|
Name: "wal_log_hints",
|
|
Default: int8(0),
|
|
Category: "Write-Ahead Log / Settings",
|
|
ShortDesc: "Writes full pages to WAL when first modified after a checkpoint, even for a non-critical modification.",
|
|
Context: ParameterContextPostmaster,
|
|
Type: types.NewSystemBoolType("wal_log_hints"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int8(0),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"wal_receiver_create_temp_slot": &Parameter{
|
|
Name: "wal_receiver_create_temp_slot",
|
|
Default: int8(0),
|
|
Category: "Replication / Standby Servers",
|
|
ShortDesc: "Sets whether a WAL receiver should create a temporary replication slot if no permanent slot is configured.",
|
|
Context: ParameterContextSighup,
|
|
Type: types.NewSystemBoolType("wal_receiver_create_temp_slot"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int8(0),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"wal_receiver_status_interval": &Parameter{
|
|
Name: "wal_receiver_status_interval",
|
|
Default: int64(10),
|
|
// Unit: "s",
|
|
Category: "Replication / Standby Servers",
|
|
ShortDesc: "Sets the maximum interval between WAL receiver status reports to the sending server.",
|
|
Context: ParameterContextSighup,
|
|
Type: types.NewSystemIntType("wal_receiver_status_interval", 0, 2147483, false),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int64(10),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"wal_receiver_timeout": &Parameter{
|
|
Name: "wal_receiver_timeout",
|
|
Default: int64(60000),
|
|
Category: "Replication / Standby Servers",
|
|
ShortDesc: "Sets the maximum wait time to receive data from the sending server.",
|
|
Context: ParameterContextSighup,
|
|
Type: types.NewSystemIntType("wal_receiver_timeout", 0, math.MaxInt32, false),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int64(60000),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"wal_recycle": &Parameter{
|
|
Name: "wal_recycle",
|
|
Default: int8(1),
|
|
Category: "Write-Ahead Log / Settings",
|
|
ShortDesc: "Recycles WAL files by renaming them.",
|
|
Context: ParameterContextSuperUser,
|
|
Type: types.NewSystemBoolType("wal_recycle"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int8(1),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"wal_retrieve_retry_interval": &Parameter{
|
|
Name: "wal_retrieve_retry_interval",
|
|
Default: int64(5000),
|
|
Category: "Replication / Standby Servers",
|
|
ShortDesc: "Sets the time to wait before retrying to retrieve WAL after a failed attempt.",
|
|
Context: ParameterContextSighup,
|
|
Type: types.NewSystemIntType("wal_retrieve_retry_interval", 1, math.MaxInt32, false),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int64(5000),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"wal_segment_size": &Parameter{
|
|
Name: "wal_segment_size",
|
|
Default: int64(16777216),
|
|
// Unit: "B",
|
|
Category: "Preset Options",
|
|
ShortDesc: "Shows the size of write ahead log segments.",
|
|
Context: ParameterContextInternal,
|
|
Type: types.NewSystemIntType("wal_segment_size", 1048576, 1073741824, false),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int64(16777216),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"wal_sender_timeout": &Parameter{
|
|
Name: "wal_sender_timeout",
|
|
Default: int64(60000),
|
|
// Unit: "ms",
|
|
Category: "Replication / Sending Servers",
|
|
ShortDesc: "Sets the maximum time to wait for WAL replication.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemIntType("wal_sender_timeout", 0, math.MaxInt32, false),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int64(60000),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"wal_skip_threshold": &Parameter{
|
|
Name: "wal_skip_threshold",
|
|
Default: int64(2048),
|
|
// Unit: "kB",
|
|
Category: "Write-Ahead Log / Settings",
|
|
ShortDesc: "Minimum size of new file to fsync instead of writing WAL.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemIntType("wal_skip_threshold", 0, math.MaxInt32, false),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int64(2048),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"wal_sync_method": &Parameter{
|
|
Name: "wal_sync_method",
|
|
Default: "open_datasync",
|
|
Category: "Write-Ahead Log / Settings",
|
|
ShortDesc: "Selects the method used for forcing WAL updates to disk.",
|
|
Context: ParameterContextSighup,
|
|
Type: types.NewSystemEnumType("wal_sync_method", "fsync", "fsync_writethrough", "fdatasync", "open_sync", "open_datasync"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: "open_datasync",
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"wal_writer_delay": &Parameter{
|
|
Name: "wal_writer_delay",
|
|
Default: int64(200),
|
|
// Unit: "ms",
|
|
Category: "Write-Ahead Log / Settings",
|
|
ShortDesc: "Time between WAL flushes performed in the WAL writer.",
|
|
Context: ParameterContextSighup,
|
|
Type: types.NewSystemIntType("wal_writer_delay", 1, 10000, false),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int64(200),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"wal_writer_flush_after": &Parameter{
|
|
Name: "wal_writer_flush_after",
|
|
Default: int64(128),
|
|
// Unit: "8kB",
|
|
Category: "Write-Ahead Log / Settings",
|
|
ShortDesc: "Amount of WAL written out by WAL writer that triggers a flush.",
|
|
Context: ParameterContextSighup,
|
|
Type: types.NewSystemIntType("wal_writer_flush_after", 0, math.MaxInt32, false),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int64(128),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"work_mem": &Parameter{
|
|
Name: "work_mem",
|
|
Default: int64(4096),
|
|
// Unit: "kB",
|
|
Category: "Resource Usage / Memory",
|
|
ShortDesc: "Sets the maximum memory to be used for query workspaces.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemIntType("work_mem", 64, math.MaxInt32, false),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int64(4096),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"xmlbinary": &Parameter{
|
|
Name: "xmlbinary",
|
|
Default: "base64",
|
|
Category: "Client Connection Defaults / Statement Behavior",
|
|
ShortDesc: "Sets how binary values are to be encoded in XML.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemEnumType("xmlbinary", "base64", "hex"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: "base64",
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"xmloption": &Parameter{
|
|
Name: "xmloption",
|
|
Default: "content",
|
|
Category: "Client Connection Defaults / Statement Behavior",
|
|
ShortDesc: "Sets whether XML data in implicit parsing and serialization operations is to be considered as documents or content fragments.",
|
|
Context: ParameterContextUser,
|
|
Type: types.NewSystemEnumType("xmloption", "content", "document"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: "content",
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
"zero_damaged_pages": &Parameter{
|
|
Name: "zero_damaged_pages",
|
|
Default: int8(0),
|
|
Category: "Developer Options",
|
|
ShortDesc: "Continues processing past damaged page headers.",
|
|
Context: ParameterContextSuperUser,
|
|
Type: types.NewSystemBoolType("zero_damaged_pages"),
|
|
Source: ParameterSourceDefault,
|
|
ResetVal: int8(0),
|
|
Scope: GetPgsqlScope(PsqlScopeSession),
|
|
},
|
|
}
|