pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。
7.4 是本数据集的收录基线,不代表该参数首次于 7.4 引入。本页列出 7.4 当时已有的全部 117 个参数。
| 参数 | 类型 | 上下文 | 默认值 | 版本变动 | 最近变更 |
|---|---|---|---|---|---|
| 连接设置 6 | |||||
max_connections |
整数 | — | 9.62 次 | ||
| 决定数据库服务器允许的最大并发连接数。 | 现存 | ||||
port |
整数 | — | — | ||
| 服务器监听的 TCP 端口,默认是 5432。 | 现存 | ||||
superuser_reserved_connections |
整数 | — | 9.62 次 | ||
| 决定为 PostgreSQL 超级用户连接保留多少个连接“槽”。 | 现存 | ||||
unix_socket_directory |
字符串 | — | — | ||
| 指定服务器用于监听来自客户端应用连接的 Unix 域套接字的目录。 | 于 9.3 移除 | ||||
unix_socket_group |
字符串 | — | — | ||
| 设置 Unix 域套接字的所属组(套接字的所属用户总是启动服务器的用户)。 | 现存 | ||||
unix_socket_permissions |
整数 | — | — | ||
| 设置 Unix 域套接字的访问权限。 | 现存 | ||||
| 认证 4 | |||||
authentication_timeout |
整数 | — | — | ||
| 允许完成客户端认证的最长时间。 | 现存 | ||||
db_user_namespace |
布尔 | — | — | ||
| 此参数启用各数据库独立的用户名。 | 于 17 移除 | ||||
krb_server_keyfile |
字符串 | — | 9.11 次 | ||
| 设置服务器的 Kerberos 密钥文件的位置。 | 现存 | ||||
password_encryption |
布尔 | — | 142 次 | ||
| 当在 CREATE ROLE 或 ALTER ROLE 中指定密码时,该参数决定用于加密密码的算法。 | 现存 | ||||
| 安全和认证 1 | |||||
ssl_renegotiation_limit |
整数 | — | — | ||
| 指定在一个SSL加密连接上可以流过多少数据之后将进行会话密钥的重新协商。 | 于 9.5 移除 | ||||
| SSL 1 | |||||
ssl |
布尔 | — | 101 次 | ||
| 启用 SSL 连接。 | 现存 | ||||
| Connections and Authentication 3 | |||||
rendezvous_name |
字符串 | — | — | ||
| 指定Rendezvous广播名称。 | 于 8.1 移除 | ||||
tcpip_socket |
布尔 | — | — | ||
| 如果为真,服务器将接受 TCP/IP 连接。 | 于 8.0 移除 | ||||
virtual_host |
字符串 | — | — | ||
| 指定服务器用于监听来自客户端应用连接的主机名或 IP 地址。 | 于 8.0 移除 | ||||
| 内存 1 | |||||
shared_buffers |
整数 | — | 151 次 | ||
| 设置数据库服务器用于共享内存缓冲区的内存量。 | 现存 | ||||
| 内核资源 1 | |||||
max_files_per_process |
整数 | — | 131 次 | ||
| 设置每个服务器子进程允许同时打开的最大文件数量。 | 现存 | ||||
| Resource Usage 5 | |||||
max_fsm_pages |
整数 | — | — | ||
| 设置共享空闲空间映射中跟踪其空闲空间的磁盘页面的最大数量。 | 于 8.4 移除 | ||||
max_fsm_relations |
整数 | — | — | ||
| 设置共享空闲空间映射中跟踪其空闲空间的关系(表和索引)的最大数量。 | 于 8.4 移除 | ||||
preload_libraries |
字符串 | — | — | ||
| 这个变量指定在服务器启动时预装载的一个或多个共享库。 | 于 8.2 移除 | ||||
sort_mem |
整数 | — | — | ||
| 指定内部排序操作和哈希表在切换到临时磁盘文件之前可使用的内存量。 | 于 8.0 移除 | ||||
vacuum_mem |
整数 | — | — | ||
| 指定 VACUUM 用于跟踪待回收行所用的最大内存量。 | 于 8.0 移除 | ||||
| 设置 5 | |||||
commit_delay |
整数 | — | 9.31 次 | ||
| 设置 commit_delay 会在发起 WAL 刷盘之前添加时间延迟。 | 现存 | ||||
commit_siblings |
整数 | — | 9.11 次 | ||
| 执行 commit_delay 延迟前要求的并发活动事务的最小数目。 | 现存 | ||||
fsync |
布尔 | — | — | ||
| 如果打开这个参数,PostgreSQL 服务器将尝试确保更新被物理地写入到磁盘,做法是发出 fsync() 系统调用或者使用多种等价的方法(见 wal_sync_method)。 | 现存 | ||||
wal_buffers |
整数 | — | 9.11 次 | ||
| 用于还未写入磁盘的 WAL 数据的共享内存量。 | 现存 | ||||
wal_sync_method |
字符串 | — | 8.41 次 | ||
| 用于将 WAL 更新强制写入磁盘的方法。 | 现存 | ||||
| 检查点 3 | |||||
checkpoint_segments |
整数 | — | — | ||
| 自动 WAL 检查点之间日志文件段的最大数量(每个段通常为 16 兆字节)。 | 于 9.5 移除 | ||||
checkpoint_timeout |
整数 | — | 9.61 次 | ||
| 自动 WAL 检查点之间的最长时间。 | 现存 | ||||
checkpoint_warning |
整数 | — | — | ||
| 如果由于填充 WAL 段文件导致的检查点之间的间隔低于这个参数表示的时间量,那么就向服务器日志写一个消息(它建议增加 max_wal_size 的值)。 | 现存 | ||||
| 规划器方法配置 8 | |||||
enable_hashagg |
布尔 | — | — | ||
| 启用或禁用查询规划器对 hash 聚合计划类型的使用。 | 现存 | ||||
enable_hashjoin |
布尔 | — | — | ||
| 启用或禁用查询规划器对哈希连接计划类型的使用。 | 现存 | ||||
enable_indexscan |
布尔 | — | — | ||
| 启用或禁用查询规划器对索引扫描和仅索引扫描计划类型的使用。 | 现存 | ||||
enable_mergejoin |
布尔 | — | — | ||
| 启用或禁用查询规划器对归并连接计划类型的使用。 | 现存 | ||||
enable_nestloop |
布尔 | — | — | ||
| 允许或禁止查询规划器使用嵌套循环连接计划。 | 现存 | ||||
enable_seqscan |
布尔 | — | — | ||
| 允许或禁止查询规划器使用顺序扫描计划类型。 | 现存 | ||||
enable_sort |
布尔 | — | — | ||
| 允许或禁止查询规划器使用显式排序步骤。 | 现存 | ||||
enable_tidscan |
布尔 | — | — | ||
| 允许或禁止查询规划器使用 TID 扫描计划类型。 | 现存 | ||||
| 规划器代价常量 5 | |||||
cpu_index_tuple_cost |
浮点 | — | — | ||
| 设置规划器对一次索引扫描中处理每一个索引项的代价估计。 | 现存 | ||||
cpu_operator_cost |
浮点 | — | — | ||
| 设置规划器对于一次查询中处理每个操作符或函数的代价估计。 | 现存 | ||||
cpu_tuple_cost |
浮点 | — | — | ||
| 设置规划器对一次查询中处理每一行的代价估计。 | 现存 | ||||
effective_cache_size |
浮点 | — | 9.42 次 | ||
| 设置规划器对一个单一查询可用的有效磁盘缓存尺寸的假设。 | 现存 | ||||
random_page_cost |
浮点 | — | — | ||
| 设置规划器对一次非顺序磁盘页面读取的代价估计。 | 现存 | ||||
| 遗传查询优化 6 | |||||
geqo |
布尔 | — | — | ||
| 允许或禁止遗传查询优化。 | 现存 | ||||
geqo_effort |
整数 | — | — | ||
| 控制 GEQO 中规划时间和查询计划质量之间的权衡。 | 现存 | ||||
geqo_generations |
整数 | — | — | ||
| 控制 GEQO 使用的代数,即算法的迭代次数。 | 现存 | ||||
geqo_pool_size |
整数 | — | — | ||
| 控制 GEQO 使用的池大小,它就是遗传种群中的个体数目。 | 现存 | ||||
geqo_selection_bias |
整数 | — | 8.01 次 | ||
| 控制 GEQO 使用的选择偏好。 | 现存 | ||||
geqo_threshold |
整数 | — | — | ||
| 对涉及至少这么多个 FROM 项的查询,使用遗传查询优化来生成计划。 | 现存 | ||||
| 其他规划器选项 3 | |||||
default_statistics_target |
整数 | — | — | ||
| 为没有通过 ALTER TABLE SET STATISTICS 设置列相关目标的表列设置默认统计目标。 | 现存 | ||||
from_collapse_limit |
整数 | — | — | ||
| 如果生成的 FROM 列表不超过这么多项,规划器将把子查询融合到上层查询。 | 现存 | ||||
join_collapse_limit |
整数 | — | — | ||
| 如果得出的列表中不超过这么多项,那么规划器将把显式 JOIN(除了 FULL JOIN)结构重写到 FROM 项列表中。 | 现存 | ||||
| 记录到哪里 3 | |||||
silent_mode |
布尔 | — | — | ||
| 静默地运行服务器。 | 于 9.2 移除 | ||||
syslog_facility |
字符串 | — | 8.41 次 | ||
| 当启用了向 syslog 记录时,这个参数决定要使用的 syslog“设施”。 | 现存 | ||||
syslog_ident |
字符串 | — | — | ||
| 当启用了向 syslog 记录时,这个参数决定用来标识 syslog 中的 PostgreSQL 消息的程序名。 | 现存 | ||||
| 何时记录 3 | |||||
log_min_duration_statement |
整数 | — | 9.11 次 | ||
| 记录每个已完成语句的持续时间,如果语句运行时间至少达到指定时间。 | 现存 | ||||
log_min_error_statement |
字符串 | — | 8.41 次 | ||
| 控制在服务器日志中记录哪些导致错误条件的 SQL 语句。 | 现存 | ||||
log_min_messages |
字符串 | — | 192 次 | ||
| 控制将哪些消息级别写入服务器日志。 | 现存 | ||||
| 记录什么 9 | |||||
debug_pretty_print |
布尔 | — | — | ||
| 当被设置时,debug_pretty_print 会缩进由 debug_print_raw_parse、debug_print_parse、debug_print_rewritten 或 debug_print_plan 产生的输出。 | 现存 | ||||
debug_print_parse |
布尔 | — | — | ||
| 这些参数会启用多种调试输出。 | 现存 | ||||
debug_print_plan |
布尔 | — | — | ||
| 这些参数会启用多种调试输出。 | 现存 | ||||
debug_print_rewritten |
布尔 | — | — | ||
| 这些参数会启用多种调试输出。 | 现存 | ||||
log_connections |
布尔 | — | 182 次 | ||
| 控制是否记录到服务器的每次连接的相关信息。 | 现存 | ||||
log_duration |
布尔 | — | — | ||
| 记录每个已完成语句的持续时间。 | 现存 | ||||
log_error_verbosity |
字符串 | — | 8.41 次 | ||
| 控制在服务器日志中记录的每条消息的详细程度。 | 现存 | ||||
log_hostname |
布尔 | — | — | ||
| 默认情况下,连接日志消息只显示连接主机的 IP 地址。 | 现存 | ||||
log_statement |
布尔 | — | 8.42 次 | ||
| 控制哪些 SQL 语句被记录。 | 现存 | ||||
| Reporting and Logging 4 | |||||
log_pid |
布尔 | — | — | ||
| 在服务器日志文件的每条消息前加上服务器进程的进程 ID。 | 于 8.0 移除 | ||||
log_source_port |
布尔 | — | — | ||
| 在连接日志消息中显示连接主机的源端口号。 | 于 8.0 移除 | ||||
log_timestamp |
布尔 | — | — | ||
| 在服务器日志的每条消息前加上时间戳。 | 于 8.0 移除 | ||||
syslog |
整数 | — | — | ||
| PostgreSQL 允许使用 syslog 记录日志。 | 于 8.0 移除 | ||||
| 统计监控 4 | |||||
log_executor_stats |
布尔 | — | — | ||
| 对于每个查询,将各自模块的性能统计输出到服务器日志中。 | 现存 | ||||
log_parser_stats |
布尔 | — | — | ||
| 对于每个查询,将各自模块的性能统计输出到服务器日志中。 | 现存 | ||||
log_planner_stats |
布尔 | — | — | ||
| 对于每个查询,将各自模块的性能统计输出到服务器日志中。 | 现存 | ||||
log_statement_stats |
布尔 | — | — | ||
| 对于每个查询,将各自模块的性能统计输出到服务器日志中。 | 现存 | ||||
| Statistics 5 | |||||
stats_block_level |
布尔 | — | — | ||
| 启用对数据库活动的块级统计收集。 | 于 8.3 移除 | ||||
stats_command_string |
布尔 | — | — | ||
| 启用对每个会话当前正在执行的命令的信息收集,包括该命令开始执行的时间。 | 于 8.3 移除 | ||||
stats_reset_on_server_start |
布尔 | — | — | ||
| 如果打开,已收集的块级和行级统计会在每次服务器重启时清零。 | 于 8.3 移除 | ||||
stats_row_level |
布尔 | — | — | ||
| 启用对数据库活动的行级统计收集。 | 于 8.3 移除 | ||||
stats_start_collector |
布尔 | — | — | ||
| 控制服务器是否应启动统计收集子进程。 | 于 8.3 移除 | ||||
| 语句行为 6 | |||||
check_function_bodies |
布尔 | — | — | ||
| 这个参数通常为打开。 | 现存 | ||||
client_min_messages |
字符串 | — | 8.41 次 | ||
| 控制被发送给客户端的消息级别。 | 现存 | ||||
default_transaction_isolation |
字符串 | — | 8.41 次 | ||
| 每个 SQL 事务都有一个隔离级别,可以是“读未提交”、“读已提交”、“可重复读”或者“可串行化”。 | 现存 | ||||
default_transaction_read_only |
布尔 | — | — | ||
| 一个只读的 SQL 事务不能修改非临时表。 | 现存 | ||||
search_path |
字符串 | — | 9.51 次 | ||
| 这个变量指定当一个对象(表、数据类型、函数等)被用一个无模式限定的简单名称引用时,搜索该对象时的模式顺序。 | 现存 | ||||
statement_timeout |
整数 | — | — | ||
| 中止任何使用了超过指定时间量的语句。 | 现存 | ||||
| 区域和格式化 8 | |||||
client_encoding |
字符串 | — | — | ||
| 设置客户端编码(字符集)。 | 现存 | ||||
DateStyle |
字符串 | — | — | ||
| 设置日期和时间值的显示格式,以及解释有歧义的日期输入值的规则。 | 现存 | ||||
extra_float_digits |
整数 | — | 121 次 | ||
| 这个参数调整以文本形式输出浮点值时所用的位数,包括 float4,float8 以及几何数据类型。 | 现存 | ||||
lc_messages |
字符串 | — | — | ||
| 设置消息显示的语言。 | 现存 | ||||
lc_monetary |
字符串 | — | — | ||
| 设置用于格式化货币量的区域设置,例如用 to_char 函数族。 | 现存 | ||||
lc_numeric |
字符串 | — | — | ||
| 设置用于格式化数字的区域设置,例如用 to_char 函数族。 | 现存 | ||||
lc_time |
字符串 | — | — | ||
| 设置用于格式化日期和时间的区域设置,例如用 to_char 函数族。 | 现存 | ||||
TimeZone |
字符串 | — | 9.22 次 | ||
| 设置用于显示和解释时间戳的时区。 | 现存 | ||||
| 其他默认值 1 | |||||
dynamic_library_path |
字符串 | — | — | ||
| 如果需要打开一个可以动态装载的模块并且在 CREATE FUNCTION 或 LOAD 命令中指定的文件名没有目录部分(即名字中不包含斜线),那么系统将搜索这个路径以查找所需的文件。 | 现存 | ||||
| Client Connection Defaults 3 | |||||
australian_timezones |
布尔 | — | — | ||
| 如果设为 on,ACST、CST、EST和SAT将被解释为澳大利亚时区,而不是北美/南美时区和星期六。 | 于 8.2 移除 | ||||
explain_pretty_print |
布尔 | — | — | ||
| 决定EXPLAIN VERBOSE显示详细查询树转储时使用缩进格式还是非缩进格式。 | 于 8.4 移除 | ||||
max_expr_depth |
整数 | — | — | ||
| 设置解析器的最大表达式嵌套深度。 | 于 8.0 移除 | ||||
deadlock_timeout |
整数 | — | 9.22 次 | ||
| 指定在检查是否发生死锁之前等待锁的时间。 | 现存 | ||||
max_locks_per_transaction |
整数 | — | 191 次 | ||
| 共享锁表为每个服务器进程或预备事务预留可容纳 max_locks_per_transaction 个对象(例如表)的空间;因此,在任何时刻可被锁住的不同对象数都不能超过总容量。 | 现存 | ||||
| 以前的 PostgreSQL 版本 2 | |||||
backslash_quote |
字符串 | — | 8.41 次 | ||
| 这个参数控制转义字符串语法(E'...')中的单引号是否能够用\' 来表示。 | 现存 | ||||
sql_inheritance |
布尔 | — | — | ||
| 这个设置控制不带修饰的表引用是否被认为包括继承子表。 | 于 10 移除 | ||||
| 其他平台和客户端 1 | |||||
transform_null_equals |
布尔 | — | — | ||
| 当打开时,形如 expr = NULL(或 NULL = expr)的表达式将被当做 expr IS NULL,也就是说,如果 expr 计算结果为空值则返回真,否则返回假。 | 现存 | ||||
| Version and Platform Compatibility 2 | |||||
add_missing_from |
布尔 | — | — | ||
| 打开时,如果查询引用的表尚未出现在FROM子句中,会自动把它添加进去。 | 于 9.0 移除 | ||||
regex_flavor |
字符串 | — | 8.41 次 | ||
| 正则表达式的“风格”可以设置为 advanced、extended 或 basic。 | 于 9.0 移除 | ||||
debug_assertions |
布尔 | — | 9.51 次 | ||
| 报告 PostgreSQL 是否在构建时启用了断言。 | 现存 | ||||
debug_deadlocks |
布尔 | — | — | ||
| 如果设置,当死锁超时发生时,转储所有当前锁的信息。 | 现存 | ||||
log_btree_build_stats |
布尔 | — | — | ||
| 如果设置,会记录 B-树操作上的系统资源使用情况统计(内存和 CPU)。 | 现存 | ||||
pre_auth_delay |
整数 | — | — | ||
| 新服务器进程刚刚派生之后、执行认证过程之前的延迟时间。 | 现存 | ||||
trace_lock_oidmin |
布尔 | — | 8.41 次 | ||
| 如果设置,不会跟踪 OID 小于此值的表上的锁(用于避免在系统表上的输出)。 | 现存 | ||||
trace_lock_table |
布尔 | — | 8.41 次 | ||
| 无条件地跟踪此表(OID)上的锁。 | 现存 | ||||
trace_locks |
布尔 | — | — | ||
| 如果开启,发出锁使用情况的信息。 | 现存 | ||||
trace_lwlocks |
布尔 | — | — | ||
| 如果开启,发出轻量级锁的使用信息。 | 现存 | ||||
trace_notify |
布尔 | — | — | ||
| 为 LISTEN 和 NOTIFY 命令生成大量调试输出。 | 现存 | ||||
trace_userlocks |
布尔 | — | — | ||
| 如果开启,发出关于用户锁使用的信息。 | 现存 | ||||
wal_debug |
整数 | — | 8.01 次 | ||
| 如果被打开,WAL 相关的调试输出将被发出。 | 现存 | ||||
zero_damaged_pages |
布尔 | — | — | ||
| 检测到损坏的页面头通常会导致 PostgreSQL 报告错误,中止当前事务。 | 现存 | ||||