↑↓ 选择 ↵ 打开 ⌫ 改范围 完整检索页

pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。

百科 / 配置参数

PostgreSQL 配置参数

配置参数(GUC)决定 PostgreSQL 运行时的行为:内存分配、预写式日志、检查点、查询规划、日志记录与自动清理都由它们控制,每一个都是 pg_settings 里的一行。本栏目收录 492 个参数,分属 16 个一级分类,覆盖 PostgreSQL 7.4 至 20,逐版本记下每个参数的默认值、生效方式、取值范围与说明变化。7.4 是本数据集的收录基线,不代表这些参数首次于 7.4 引入。

按分类浏览

按版本看变更

版本变动 未收录 存在 新增 属性或默认值变化 已移除

参数 类型 上下文 默认值 版本变动 最近变更
File Locations 文件位置 7 个 ↑
config_file 字符串 重启生效 未设置 —
指定主服务器配置文件(通常叫 postgresql.conf)。 现存
data_directory 字符串 重启生效 未设置 —
指定用于数据存储的目录。 现存
extension_destdir 字符串 会话(超级用户) 空字符串 —
加载扩展时添加到路径前面的目录。 于 18 移除
external_pid_file 字符串 重启生效 未设置 —
指定服务器应创建的额外进程 ID(PID)文件的名称,供服务器管理程序使用。 现存
hba_file 字符串 重启生效 未设置 —
指定基于主机的认证配置文件(通常叫 pg_hba.conf)。 现存
hosts_file 字符串 — —
指定基于主机的 SSL 配置文件(通常称为 pg_hosts.conf)。 现存
ident_file 字符串 重启生效 未设置 —
指定用于用户名称映射的配置文件(通常叫 pg_ident.conf)。 现存
Connections and Authentication 连接和认证 50 个 ↑
连接设置 11
bonjour 布尔 重启生效 off —
启用通过 Bonjour 通告服务器存在的功能。 现存
bonjour_name 字符串 重启生效 空字符串 —
指定 Bonjour 服务名。 现存
listen_addresses 字符串 重启生效 localhost —
指定服务器用于监听来自客户端应用程序的连接的 TCP/IP 地址。 现存
max_connections 整数 重启生效 100 9.62 次
决定数据库服务器允许的最大并发连接数。 现存
port 整数 重启生效 5432 —
服务器监听的 TCP 端口,默认是 5432。 现存
reserved_connections 整数 重启生效 0 —
确定为具有 pg_use_reserved_connections 角色权限的角色保留多少个连接“槽”。 现存
superuser_reserved_connections 整数 重启生效 3 9.62 次
决定为 PostgreSQL 超级用户连接保留多少个连接“槽”。 现存
unix_socket_directories 字符串 重启生效 /var/run/postgresql —
指定服务器用于监听来自客户端应用的连接的 Unix 域套接字目录。 现存
unix_socket_directory 字符串 重启生效 空字符串 —
指定服务器用于监听来自客户端应用连接的 Unix 域套接字的目录。 于 9.3 移除
unix_socket_group 字符串 重启生效 空字符串 —
设置 Unix 域套接字的所属组(套接字的所属用户总是启动服务器的用户)。 现存
unix_socket_permissions 整数 重启生效 511 —
设置 Unix 域套接字的访问权限。 现存
TCP 设置 5
client_connection_check_interval 整数 会话 0 ms —
设置查询执行期间可选的客户端连接检查的时间间隔,用于检查客户端是否仍然连接。 现存
tcp_keepalives_count 整数 会话 0 —
指定在服务器与客户端之间的连接被视为中断之前,可以丢失多少个 TCP keepalive 消息。 现存
tcp_keepalives_idle 整数 会话 0 s —
指定在多久没有网络活动后,操作系统应向客户端发送 TCP keepalive 消息。 现存
tcp_keepalives_interval 整数 会话 0 s —
指定未被客户端确认收到的 TCP keepalive 消息在多久之后应被重传。 现存
tcp_user_timeout 整数 会话 0 ms —
指定已发送的数据在 TCP 连接被强制关闭之前最多可以保持未确认状态多长时间。 现存
认证 10
authentication_timeout 整数 重载生效 1 min —
允许完成客户端认证的最长时间。 现存
db_user_namespace 布尔 重载生效 off —
此参数启用各数据库独立的用户名。 于 17 移除
gss_accept_delegation 布尔 重载生效 off —
设置是否接受客户端的 GSSAPI 委派。 现存
krb_caseins_users 布尔 重载生效 off —
设置是否应该以大小写不敏感的方式对待 GSSAPI 用户名。 现存
krb_server_keyfile 字符串 重载生效 FILE:/etc/postgresql-common/krb5.keytab 9.11 次
设置服务器的 Kerberos 密钥文件的位置。 现存
md5_password_warnings 布尔 会话 on —
控制在使用 MD5 加密密码成功认证时,或者在 CREATE ROLE 或 ALTER ROLE 语句设置 MD5 加密密码时,是否生成有关 MD5 密码已弃用的 WARNING。 现存
oauth_validator_libraries 字符串 重载生效 空字符串 —
设置用于验证 OAuth 连接令牌的库。 现存
password_encryption 枚举 会话 scram-sha-256 142 次
当在 CREATE ROLE 或 ALTER ROLE 中指定密码时,该参数决定用于加密密码的算法。 现存
password_expiration_warning_threshold 整数 — —
当此参数大于零时,如果距离已认证角色的密码过期剩余时间少于这个时长,服务器会在成功完成密码认证后发出 WARNING。 现存
scram_iterations 整数 会话 4096 —
使用 SCRAM-SHA-256 加密密码时执行的计算迭代次数。 现存
安全和认证 2
krb_srvname 字符串 重载生效 postgres —
设置 Kerberos 服务名。 于 9.4 移除
ssl_renegotiation_limit 整数 会话 0 B —
指定在一个SSL加密连接上可以流过多少数据之后将进行会话密钥的重新协商。 于 9.5 移除
SSL 17
ssl 布尔 重载生效 off 101 次
启用 SSL 连接。 现存
ssl_ca_file 字符串 重载生效 空字符串 101 次
指定包含 SSL 服务器证书颁发机构(CA)的文件名。 现存
ssl_cert_file 字符串 重载生效 server.crt 101 次
指定包含 SSL 服务器证书的文件名。 现存
ssl_ciphers 字符串 重载生效 HIGH:MEDIUM:+3DES:!aNULL 103 次
指定允许用于 TLS 1.2 及更低版本连接的 SSL 密码套件列表;对于 TLS 1.3 连接,请参见 ssl_tls13_ciphers。 现存
ssl_crl_dir 字符串 重载生效 空字符串 —
指定包含 SSL 客户端证书吊销列表(CRL)的目录名称。 现存
ssl_crl_file 字符串 重载生效 空字符串 101 次
指定包含 SSL 客户端证书吊销列表(CRL)的文件名。 现存
ssl_dh_params_file 字符串 重载生效 空字符串 —
指定包含 Diffie-Hellman 参数的文件名,这些参数用于所谓临时 DH 系列的 SSL 密码套件。 现存
ssl_ecdh_curve 字符串 重载生效 prime256v1 101 次
指定在 ECDH 密钥交换中使用的曲线名称。 于 18 移除
ssl_groups 字符串 重载生效 X25519:prime256v1 —
指定用于 TLS 密钥交换的命名组。 现存
ssl_key_file 字符串 重载生效 server.key 101 次
指定包含 SSL 服务器私钥的文件名。 现存
ssl_max_protocol_version 枚举 重载生效 空字符串 —
设置要使用的最高 SSL/TLS 协议版本。 现存
ssl_min_protocol_version 枚举 重载生效 TLSv1.2 131 次
设置要使用的最低 SSL/TLS 协议版本。 现存
ssl_passphrase_command 字符串 重载生效 空字符串 —
设置获取用于解密私钥等 SSL 文件的口令时要调用的外部命令。 现存
ssl_passphrase_command_supports_reload 布尔 重载生效 off —
此参数决定:配置重载期间,如果密钥文件需要口令,是否也调用 ssl_passphrase_command 设置的口令命令。 现存
ssl_prefer_server_ciphers 布尔 重载生效 on 101 次
指定是否使用服务器的 SSL 密码套件优先顺序,而非客户端的优先顺序。 现存
ssl_sni 布尔 — —
启用 SSL 连接的 SNI 配置。 现存
ssl_tls13_ciphers 字符串 重载生效 空字符串 —
指定允许用于 TLS 版本 1.3 连接的密码套件列表。 现存
Connections and Authentication 5
krb_realm 字符串 — —
设置对 Kerberos、GSSAPI 和 SSPI 用户名进行匹配时所用的 realm。 于 8.4 移除
krb_server_hostname 字符串 — —
设置服务主体的主机名部分。 于 8.4 移除
rendezvous_name 字符串 — —
指定Rendezvous广播名称。 于 8.1 移除
tcpip_socket 布尔 — —
如果为真,服务器将接受 TCP/IP 连接。 于 8.0 移除
virtual_host 字符串 — —
指定服务器用于监听来自客户端应用连接的主机名或 IP 地址。 于 8.0 移除
Resource Usage 资源消耗 61 个 ↑
内存 23
autovacuum_work_mem 整数 重载生效 -1 kB —
指定每个自动清理工作进程可使用的最大内存量。 现存
commit_timestamp_buffers 整数 重启生效 0 B (0 × 8kB) —
指定用于缓存 pg_commit_ts 内容的内存量(参见表 66.1)。 现存
dynamic_shared_memory_type 枚举 重启生效 posix 121 次
指定服务器应使用的动态共享内存实现。 现存
hash_mem_multiplier 浮点 会话 2 151 次
用于计算基于 hash 的操作可以使用的最大内存量。 现存
huge_page_size 整数 重启生效 0 B —
控制通过 huge_pages 启用巨型页时所使用的页大小。 现存
huge_pages 枚举 重启生效 try —
控制是否为主共享内存区域请求巨型页。 现存
logical_decoding_work_mem 整数 会话 64 MiB —
指定逻辑解码在将部分已解码的更改写入本地磁盘之前可使用的最大内存量。 现存
maintenance_work_mem 整数 会话 64 MiB 172 次
指定维护操作(如 VACUUM、CREATE INDEX 和 ALTER TABLE ADD FOREIGN KEY)可使用的最大内存量。 现存
max_prepared_transactions 整数 重启生效 0 9.62 次
设置可同时处于“预备”状态的事务的最大数量(见 PREPARE TRANSACTION)。 现存
max_stack_depth 整数 会话(超级用户) 100 KiB —
指定服务器执行栈的最大安全深度。 现存
min_dynamic_shared_memory 整数 重启生效 0 B —
指定服务器启动时为并行查询分配的内存量。 现存
multixact_member_buffers 整数 重启生效 256 KiB (32 × 8kB) —
指定用于缓存 pg_multixact/members 内容的共享内存量(参见表 66.1)。 现存
multixact_offset_buffers 整数 重启生效 128 KiB (16 × 8kB) —
指定用于缓存 pg_multixact/offsets 内容的共享内存量(参见表 66.1)。 现存
notify_buffers 整数 重启生效 128 KiB (16 × 8kB) —
指定用于缓存 pg_notify 内容的共享内存量(参见表 66.1)。 现存
replacement_sort_tuples 整数 会话 150000 —
当待排序的元组数小于此数值时,排序会使用置换选择而非快速排序来产生第一个输出有序段。 于 11 移除
serializable_buffers 整数 重启生效 256 KiB (32 × 8kB) —
指定用于缓存 pg_serial 内容的共享内存量(参见表 66.1)。 现存
shared_buffers 整数 重启生效 128 MiB (16384 × 8kB) 151 次
设置数据库服务器用于共享内存缓冲区的内存量。 现存
shared_memory_type 枚举 重启生效 mmap —
指定服务器用于主共享内存区域的共享内存实现,该区域存放 PostgreSQL 的共享缓冲区及其他共享数据。 现存
subtransaction_buffers 整数 重启生效 0 B (0 × 8kB) —
指定用于缓存 pg_subtrans 内容的共享内存量(参见表 66.1)。 现存
temp_buffers 整数 会话 8 MiB (1024 × 8kB) —
设置每个数据库会话用于临时缓冲区的最大内存量。 现存
transaction_buffers 整数 重启生效 0 B (0 × 8kB) —
指定用于缓存 pg_xact 内容的共享内存量(参见表 66.1)。 现存
vacuum_buffer_usage_limit 整数 会话 2 MiB 171 次
指定 VACUUM 和 ANALYZE 命令使用的缓冲区访问策略的大小。 现存
work_mem 整数 会话 4 MiB 9.41 次
设置查询操作(如排序或 hash 表)在写入临时磁盘文件之前可使用的基础最大内存量。 现存
磁盘 4
file_copy_method 枚举 会话 copy —
指定用于复制文件的方法。 现存
file_extend_method 枚举 重载生效 posix_fallocate —
指定在诸如 COPY 这类批量操作期间扩展数据文件时所使用的方法。 现存
max_notify_queue_pages 整数 重启生效 1048576 —
指定 NOTIFY / LISTEN 队列可分配页面的最大数量。 现存
temp_file_limit 整数 会话(超级用户) -1 kB —
指定一个进程可用于临时文件的最大磁盘空间,例如排序和 hash 临时文件,或保留游标的存储文件。 现存
内核资源 1
max_files_per_process 整数 重启生效 1000 131 次
设置每个服务器子进程允许同时打开的最大文件数量。 现存
计时 1
timing_clock_source 枚举 — —
选择使用操作系统或专用 CPU 指令进行计时测量的方法。 现存
后台写入器 4
bgwriter_delay 整数 重载生效 200 ms —
指定后台写入器各轮活动之间的延迟。 现存
bgwriter_flush_after 整数 重载生效 512 KiB (64 × 8kB) —
每当后台写入器写出的数据超过此数量时,就尝试强制操作系统将这些写操作发往底层存储。 现存
bgwriter_lru_maxpages 整数 重载生效 100 101 次
后台写入器每轮写出的缓冲区数量不会超过此值。 现存
bgwriter_lru_multiplier 浮点 重载生效 2 —
每轮写出的脏缓冲区数量取决于最近几轮服务器进程所需的新缓冲区数量。 现存
I/O 12
backend_flush_after 整数 会话 0 B (0 × 8kB) —
每当单个后端写出的数据超过此数量时,就尝试强制操作系统将这些写操作发往底层存储。 现存
effective_io_concurrency 整数 会话 16 181 次
设置 PostgreSQL 预期可以同时执行的并发存储 I/O 操作数量。 现存
io_combine_limit 整数 会话 128 KiB (16 × 8kB) 181 次
控制合并 I/O 操作时允许的最大 I/O 大小。 现存
io_max_combine_limit 整数 重启生效 128 KiB (16 × 8kB) —
控制合并 I/O 操作时允许的最大 I/O 大小,并会静默限制用户可设置的参数 io_combine_limit。 现存
io_max_concurrency 整数 重启生效 -1 —
控制一个进程可以同时执行的最大 I/O 操作数。 现存
io_max_workers 整数 — —
设置 I/O 工作进程的最大数量。 现存
io_method 枚举 重启生效 worker —
选择执行异步 I/O 的方法。 现存
io_min_workers 整数 — —
设置 I/O 工作进程的最小数量。 现存
io_worker_idle_timeout 整数 — —
设置完全空闲的 I/O 工作进程退出前经过的时间,从而将池大小缩减到与需求匹配。 现存
io_worker_launch_interval 整数 — —
设置启动另一个 I/O 工作进程之前的最短时间。 现存
io_workers 整数 重载生效 3 —
选择要使用的 I/O 工作进程数量。 于 19 移除
maintenance_io_concurrency 整数 会话 16 181 次
与 effective_io_concurrency 类似,但用于为多个客户端会话执行的维护工作。 现存
异步行为 1
old_snapshot_threshold 整数 重启生效 -1 min —
设置查询快照在使用时不发生“snapshot too old”错误的最短可用时间。 于 17 移除
工作进程 5
max_parallel_maintenance_workers 整数 会话 2 —
设置单个工具命令能够启动的并行工作进程的最大数量。 现存
max_parallel_workers 整数 会话 8 —
设置集簇能够为并行操作提供的工作进程的最大数量。 现存
max_parallel_workers_per_gather 整数 会话 2 101 次
设置单个 Gather 或 Gather Merge 节点能够启动的工作进程的最大数量。 现存
max_worker_processes 整数 重启生效 8 9.61 次
设置集簇能够支持的后台进程的最大数量。 现存
parallel_leader_participation 布尔 会话 on —
允许领导者进程执行 Gather 和 Gather Merge 节点下的查询计划,而不是等待工作进程。 现存
Resource Usage 10
bgwriter_all_maxpages 整数 — —
在每一轮中,由于对整个缓冲池的扫描而写出的缓冲区不会多于这个数目。 于 8.3 移除
bgwriter_all_percent 浮点 — —
为了减少检查点时刻需要完成的工作量,后台写入器还会对整个缓冲池做循环扫描,写出发现为脏的缓冲区。 于 8.3 移除
bgwriter_lru_percent 浮点 — —
为了降低服务器进程需要自己发出写操作的可能性,后台写入器会尝试写那些可能很快被回收的缓冲区。 于 8.3 移除
bgwriter_maxpages 整数 — —
在每一轮中,写入的脏缓冲区不会超过这个数目。 于 8.1 移除
bgwriter_percent 整数 — —
在每一轮中,写入的当前脏缓冲区不会超过这个百分比(任何小数部分都向上取整为整数个缓冲区)。 于 8.1 移除
max_fsm_pages 整数 — —
设置共享空闲空间映射中跟踪其空闲空间的磁盘页面的最大数量。 于 8.4 移除
max_fsm_relations 整数 — —
设置共享空闲空间映射中跟踪其空闲空间的关系(表和索引)的最大数量。 于 8.4 移除
preload_libraries 字符串 — —
这个变量指定在服务器启动时预装载的一个或多个共享库。 于 8.2 移除
sort_mem 整数 — —
指定内部排序操作和哈希表在切换到临时磁盘文件之前可使用的内存量。 于 8.0 移除
vacuum_mem 整数 — —
指定 VACUUM 用于跟踪待回收行所用的最大内存量。 于 8.0 移除
Write-Ahead Log 预写式日志 41 个 ↑
设置 15
commit_delay 整数 会话(超级用户) 0 9.31 次
设置 commit_delay 会在发起 WAL 刷盘之前添加时间延迟。 现存
commit_siblings 整数 会话 5 9.11 次
执行 commit_delay 延迟前要求的并发活动事务的最小数目。 现存
fsync 布尔 重载生效 on —
如果打开这个参数,PostgreSQL 服务器将尝试确保更新被物理地写入到磁盘,做法是发出 fsync() 系统调用或者使用多种等价的方法(见 wal_sync_method)。 现存
full_page_writes 布尔 重载生效 on —
启用此参数时,PostgreSQL 服务器会在检查点之后首次修改每个磁盘页面时,将该页面的全部内容写入 WAL。 现存
synchronous_commit 枚举 会话 on 9.63 次
指定数据库服务器向客户端返回“成功”指示之前,必须完成多少 WAL 处理。 现存
wal_buffers 整数 重启生效 -1 8kB 9.11 次
用于还未写入磁盘的 WAL 数据的共享内存量。 现存
wal_compression 枚举 会话(超级用户) off 151 次
此参数启用使用指定的压缩方法对 WAL 进行压缩。 现存
wal_init_zero 布尔 会话(超级用户) on —
如果设置为 on(默认值),此选项会导致新的 WAL 文件被零填充。 现存
wal_level 枚举 重启生效 replica 103 次
wal_level 决定多少信息写入到 WAL 中。 现存
wal_log_hints 布尔 重启生效 off —
当这个参数为 on 时,PostgreSQL 服务器在检查点之后首次修改页面时把该磁盘页面的整个内容都写入 WAL,即使对所谓的提示位做非关键修改也会这样做。 现存
wal_recycle 布尔 会话(超级用户) on —
如果设置为 on(默认值),此选项通过重命名来回收 WAL 文件,从而避免创建新文件。 现存
wal_skip_threshold 整数 会话 2 MiB —
当 wal_level 为 minimal,且事务在创建或重写永久关系后提交时,此设置决定如何持久保存新数据。 现存
wal_sync_method 枚举 重载生效 fdatasync 8.41 次
用于将 WAL 更新强制写入磁盘的方法。 现存
wal_writer_delay 整数 重载生效 200 ms —
指定 WAL 写入器刷写 WAL 的频繁程度,以时间为单位。 现存
wal_writer_flush_after 整数 重载生效 1 MiB (128 × 8kB) —
指定 WAL 写入器刷写 WAL 的频繁程度,按数据量衡量。 现存
检查点 7
checkpoint_completion_target 浮点 重载生效 0.9 141 次
指定检查点完成所用时间的目标值,以检查点之间总时间的比例表示。 现存
checkpoint_flush_after 整数 重载生效 256 KiB (32 × 8kB) —
当执行检查点时写入的数据量超过此数量时,就尝试强制 OS 把这些写发送到底层存储。 现存
checkpoint_segments 整数 重载生效 3 —
自动 WAL 检查点之间日志文件段的最大数量(每个段通常为 16 兆字节)。 于 9.5 移除
checkpoint_timeout 整数 重载生效 5 min 9.61 次
自动 WAL 检查点之间的最长时间。 现存
checkpoint_warning 整数 重载生效 30 s —
如果由于填充 WAL 段文件导致的检查点之间的间隔低于这个参数表示的时间量,那么就向服务器日志写一个消息(它建议增加 max_wal_size 的值)。 现存
max_wal_size 整数 重载生效 1 GiB 101 次
在自动检查点期间允许 WAL 增长的最大大小。 现存
min_wal_size 整数 重载生效 80 MiB 101 次
只要 WAL 磁盘用量保持在这个设置之下,在检查点时旧的 WAL 文件总是被回收以便未来使用,而不是直接被删除。 现存
归档 4
archive_command 字符串 重载生效 空字符串 —
本地 shell 命令被执行来归档一个完成的 WAL 段文件。 现存
archive_library 字符串 重载生效 空字符串 —
用于归档已完成的 WAL 段文件的库。 现存
archive_mode 枚举 重启生效 off 9.51 次
当启用 archive_mode 时,完成的 WAL 段会通过设置 archive_command 或 archive_library 发送到归档存储。 现存
archive_timeout 整数 重载生效 0 s —
archive_command 或 archive_library 只针对已完成的 WAL 段调用。 现存
恢复 2
recovery_prefetch 枚举 重载生效 try —
是否在恢复期间尝试预取 WAL 中引用但尚未在缓冲池中的块。 现存
wal_decode_buffer_size 整数 重启生效 512 KiB —
服务器可以在 WAL 中查找预取块的最大提前量限制。 现存
归档恢复 3
archive_cleanup_command 字符串 重载生效 空字符串 —
这个可选参数指定了一个 shell 命令,它将在每一个重启点被执行。 现存
recovery_end_command 字符串 重载生效 空字符串 —
这个参数指定了一个将只在恢复末尾被执行一次的 shell 命令。 现存
restore_command 字符串 重载生效 空字符串 141 次
用于获取 WAL 文件系列的一个已归档段的本地 shell 命令。 现存
恢复目标 8
recovery_target 字符串 重启生效 空字符串 201 次
这个参数指定恢复应该在达到一个一致状态后尽快结束,即尽早结束。 现存
recovery_target_action 枚举 重启生效 pause —
指定在达到恢复目标时服务器应该立刻采取的动作。 现存
recovery_target_inclusive 布尔 重启生效 on —
指定我们是否仅在指定的恢复目标之后停止(on),或者仅在恢复目标之前停止(off)。 现存
recovery_target_lsn 字符串 重启生效 空字符串 —
此参数指定恢复要进行到的预写日志位置的 LSN。 现存
recovery_target_name 字符串 重启生效 空字符串 —
这个参数指定(pg_create_restore_point() 所创建)的已命名的恢复点,恢复将进行到该恢复点。 现存
recovery_target_time 字符串 重启生效 空字符串 —
此参数指定恢复要进行到的时间戳。 现存
recovery_target_timeline 字符串 重启生效 latest —
指定恢复到一个特定的时间线中。 现存
recovery_target_xid 字符串 重启生效 空字符串 —
这个参数指定恢复要进行到的事务 ID。 现存
WAL 汇总 2
summarize_wal 布尔 重载生效 off —
启用 WAL 汇总进程。 现存
wal_summary_keep_time 整数 重载生效 10 d —
配置 WAL 汇总器自动删除旧 WAL 汇总文件之前保留它们的时间。 现存
Replication 复制 33 个 ↑
发送服务器 12
idle_replication_slot_timeout 整数 重载生效 0 s —
使保持空闲状态(未被复制连接使用)超过此持续时间的复制槽失效。 现存
max_repack_replication_slots 整数 — —
指定可供 REPACK 命令使用的复制槽最大数量。 现存
max_replication_slots 整数 重启生效 10 102 次
指定服务器可以支持的复制槽(见第 26.2.6 节)最大数量。 现存
max_slot_wal_keep_size 整数 重载生效 -1 MB —
指定检查点时复制槽允许在 pg_wal 目录中保留的 WAL 文件最大总量。 现存
max_wal_senders 整数 重启生效 10 103 次
指定来自备库或流式基础备份客户端的最大并发连接数(即同时运行的 WAL 发送进程的最大数量)。 现存
output_plugin_libraries 字符串 会话(超级用户) pgoutput, test_decoding —
列出安装在 dynamic_library_path 所指定位置中、同时也受信任、可供复制客户端用作逻辑输出插件的库。 现存
replication_timeout 整数 重载生效 1 min —
终止不活动时间超过指定毫秒数的复制连接。 于 9.3 移除
track_commit_timestamp 布尔 重启生效 off —
记录事务的提交时间。 现存
wal_keep_segments 整数 重载生效 0 —
指定在 pg_wal 目录中保留的过去日志文件段的最小数量,以便备库可能需要获取它们来进行流复制。 于 13 移除
wal_keep_size 整数 重载生效 0 B —
指定在 pg_wal 目录中保留的旧 WAL 文件的最小总量,以便备库需要时获取这些文件进行流复制。 现存
wal_sender_shutdown_timeout 整数 — —
指定服务器在关闭期间等待所有 WAL 数据复制到接收端的最长时间。 现存
wal_sender_timeout 整数 会话 1 min 121 次
终止非活动时间超过此值的复制连接。 现存
主服务器 1
wal_sender_delay 整数 重载生效 1 s 9.11 次
指定 WAL 发送进程各轮活动之间的延迟。 于 9.2 移除
主库 3
synchronized_standby_slots 字符串 重载生效 空字符串 —
逻辑 WAL 发送进程将等待的流复制备库槽名称的逗号分隔列表。 现存
synchronous_standby_names 字符串 重载生效 空字符串 —
如第 26.2.8 节所述,这个参数指定一个支持同步复制的备库的列表。 现存
vacuum_defer_cleanup_age 整数 重载生效 0 —
指定 VACUUM 和 HOT 更新延迟清理死行版本的事务数。 于 16 移除
备库 13
hot_standby 布尔 重启生效 on 101 次
指定在恢复期间,你是否能够连接并运行查询,如第 26.4 节中所述。 现存
hot_standby_feedback 布尔 重载生效 off —
指定一个热备机是否将会向主库或上游备库发送有关于备库上当前正被执行的查询的反馈。 现存
max_standby_archive_delay 整数 重载生效 30 s 9.11 次
当热备处于活动状态时,此参数确定备库在取消与即将应用的 WAL 条目冲突的备库查询之前应等待多长时间,如第 26.4.2 节中所述。 现存
max_standby_streaming_delay 整数 重载生效 30 s 9.11 次
当热备处于活动状态时,此参数确定备库在取消与即将应用的 WAL 条目冲突的备库查询之前应等待多长时间,如第 26.4.2 节中所述。 现存
primary_conninfo 字符串 重载生效 空字符串 131 次
指定备库用来连接发送服务器的连接字符串。 现存
primary_slot_name 字符串 重载生效 空字符串 131 次
可选地指定通过流复制连接到发送服务器时使用一个现有的复制槽来控制上游节点上的资源移除(见第 26.2.6 节)。 现存
promote_trigger_file 字符串 重载生效 空字符串 —
指定一个触发文件,该文件的存在会结束备库上的恢复。 于 16 移除
recovery_min_apply_delay 整数 重载生效 0 ms —
默认情况下,备库会尽快恢复来自发送服务器的 WAL 记录。 现存
sync_replication_slots 布尔 重载生效 off —
使物理备库能够从主库同步逻辑故障切换槽,以便逻辑订阅者在故障切换后能够从新的主库恢复复制。 现存
wal_receiver_create_temp_slot 布尔 重载生效 off —
指定在未使用 primary_slot_name 配置要使用的永久复制槽时,WAL 接收进程是否应在远程实例上创建临时复制槽。 现存
wal_receiver_status_interval 整数 重载生效 10 s —
指定在备库上的 WAL 接收进程向主库或上游备库发送有关复制进度的信息的最小频度,它可以使用 pg_stat_replication 视图看到。 现存
wal_receiver_timeout 整数 重载生效 1 min 191 次
中止处于非活动状态超过这个时间量的复制连接。 现存
wal_retrieve_retry_interval 整数 重载生效 5 s —
指定当从任何来源(物理流复制、本地 pg_wal 或者 WAL 归档)都得不到 WAL 数据时,备库应该等待多久才去重新尝试获取 WAL 数据。 现存
订阅者 4
max_active_replication_origins 整数 重启生效 10 —
指定同时可以跟踪多少个复制源(参见第 48 章),从而实际上限制了服务器上可以创建多少逻辑复制订阅。 现存
max_logical_replication_workers 整数 重启生效 4 —
指定逻辑复制工作进程的最大数量,其中包括领导者应用工作进程、并行应用工作进程和表/序列同步工作进程。 现存
max_parallel_apply_workers_per_subscription 整数 重载生效 2 —
每个订阅可使用的并行应用工作进程最大数。 现存
max_sync_workers_per_subscription 整数 重载生效 2 —
每个订阅允许的最大同步工作进程数。 现存
Query Tuning 查询规划 56 个 ↑
规划器方法配置 26
enable_async_append 布尔 会话 on —
启用或禁用查询规划器对支持异步执行的 append 计划类型的使用。 现存
enable_bitmapscan 布尔 会话 on —
启用或禁用查询规划器对位图扫描计划类型的使用。 现存
enable_distinct_reordering 布尔 会话 on —
启用或禁用查询规划器重新排序 DISTINCT 键以匹配输入路径的路径键的能力。 现存
enable_eager_aggregate 布尔 — —
启用或禁用查询规划器使用急切聚合的能力,即将聚合部分地下推到连接之前,并在所有关系完成连接后再做最终聚合。 现存
enable_gathermerge 布尔 会话 on —
启用或禁用查询规划器对收集归并计划类型的使用。 现存
enable_group_by_reordering 布尔 会话 on —
控制查询规划器是否生成让 GROUP BY 键按照计划子节点(例如索引扫描)的键顺序排序的计划。 现存
enable_groupagg 布尔 — —
启用或禁用查询规划器使用基于排序的分组和聚合计划类型。 现存
enable_hashagg 布尔 会话 on —
启用或禁用查询规划器对 hash 聚合计划类型的使用。 现存
enable_hashjoin 布尔 会话 on —
启用或禁用查询规划器对哈希连接计划类型的使用。 现存
enable_incremental_sort 布尔 会话 on —
启用或禁用查询规划器对增量排序步骤的使用。 现存
enable_indexonlyscan 布尔 会话 on —
启用或禁用查询规划器对仅索引扫描计划类型的使用(参见第 11.9 节)。 现存
enable_indexscan 布尔 会话 on —
启用或禁用查询规划器对索引扫描和仅索引扫描计划类型的使用。 现存
enable_material 布尔 会话 on —
允许或者禁止查询规划器使用物化。 现存
enable_memoize 布尔 会话 on —
启用或禁用查询规划器使用 memoize 计划来缓存嵌套循环连接中参数化扫描的结果。 现存
enable_mergejoin 布尔 会话 on —
启用或禁用查询规划器对归并连接计划类型的使用。 现存
enable_nestloop 布尔 会话 on —
允许或禁止查询规划器使用嵌套循环连接计划。 现存
enable_parallel_append 布尔 会话 on —
启用或禁用查询规划器对支持并行执行的 append 计划类型的使用。 现存
enable_parallel_hash 布尔 会话 on —
启用或禁用查询规划器对使用并行 hash 的哈希连接计划类型的使用。 现存
enable_partition_pruning 布尔 会话 on —
允许或者禁止查询规划器从查询计划中消除一个分区表的分区。 现存
enable_partitionwise_aggregate 布尔 会话 off —
启用或禁用查询规划器对分区分组或聚合的使用,使分区表上的分组或聚合可以在各个分区上分别执行。 现存
enable_partitionwise_join 布尔 会话 off —
启用或禁用查询规划器对分区连接的使用,使分区表之间的连接可以通过连接相匹配的分区来完成。 现存
enable_presorted_aggregate 布尔 会话 on —
控制查询规划器是否生成这样的计划:提供的行已按查询中带有 ORDER BY / DISTINCT 的聚合函数所要求的顺序预先排序。 现存
enable_self_join_elimination 布尔 会话 on —
启用或禁用查询规划器的一项优化,该优化会分析查询树并将自连接替换为语义等价的单次扫描。 现存
enable_seqscan 布尔 会话 on —
允许或禁止查询规划器使用顺序扫描计划类型。 现存
enable_sort 布尔 会话 on —
允许或禁止查询规划器使用显式排序步骤。 现存
enable_tidscan 布尔 会话 on —
允许或禁止查询规划器使用 TID 扫描计划类型。 现存
规划器代价常量 15
cpu_index_tuple_cost 浮点 会话 0.005 —
设置规划器对一次索引扫描中处理每一个索引项的代价估计。 现存
cpu_operator_cost 浮点 会话 0.0025 —
设置规划器对于一次查询中处理每个操作符或函数的代价估计。 现存
cpu_tuple_cost 浮点 会话 0.01 —
设置规划器对一次查询中处理每一行的代价估计。 现存
effective_cache_size 整数 会话 4 GiB (524288 × 8kB) 9.42 次
设置规划器对一个单一查询可用的有效磁盘缓存尺寸的假设。 现存
jit_above_cost 浮点 会话 100000 —
设置激活 JIT 编译的查询代价,如果查询代价超过这个值就会激活 JIT 编译(如果启用了 JIT,见第 30 章)。 现存
jit_inline_above_cost 浮点 会话 500000 —
设置 JIT 编译尝试内联函数和操作符的查询代价阈值,如果查询代价超过这个值,JIT 编译就会尝试内联。 现存
jit_optimize_above_cost 浮点 会话 500000 —
设置 JIT 编译应用优化的查询代价阈值,如果查询代价超过这个值,JIT 编译就会应用开销较大的优化。 现存
min_eager_agg_group_size 浮点 — —
设置考虑应用急切聚合所需的最小平均分组大小。 现存
min_parallel_index_scan_size 整数 会话 512 KiB (64 × 8kB) —
设置考虑使用并行扫描时必须扫描的最小索引数据量。 现存
min_parallel_relation_size 整数 会话 8 MiB (1024 × 8kB) —
设置为并行扫描所考虑的关系的最小尺寸。 于 10 移除
min_parallel_table_scan_size 整数 会话 8 MiB (1024 × 8kB) —
设置考虑使用并行扫描时必须扫描的最小表数据量。 现存
parallel_setup_cost 浮点 会话 1000 —
设置规划器对启动并行工作进程的代价估计。 现存
parallel_tuple_cost 浮点 会话 0.1 —
设置规划器对于从一个并行工作进程传递一个元组给另一个进程的代价估计。 现存
random_page_cost 浮点 会话 4 —
设置规划器对一次非顺序磁盘页面读取的代价估计。 现存
seq_page_cost 浮点 会话 1 —
设置规划器对一系列顺序磁盘页面读取中单次读取的代价估计。 现存
遗传查询优化 7
geqo 布尔 会话 on —
允许或禁止遗传查询优化。 现存
geqo_effort 整数 会话 5 —
控制 GEQO 中规划时间和查询计划质量之间的权衡。 现存
geqo_generations 整数 会话 0 —
控制 GEQO 使用的代数,即算法的迭代次数。 现存
geqo_pool_size 整数 会话 0 —
控制 GEQO 使用的池大小,它就是遗传种群中的个体数目。 现存
geqo_seed 浮点 会话 0 —
控制 GEQO 使用的随机数生成器的初始值,随机数生成器用于在连接顺序搜索空间中选择随机路径。 现存
geqo_selection_bias 浮点 会话 2 8.01 次
控制 GEQO 使用的选择偏好。 现存
geqo_threshold 整数 会话 12 —
对涉及至少这么多个 FROM 项的查询,使用遗传查询优化来生成计划。 现存
其他规划器选项 8
constraint_exclusion 枚举 会话 partition 8.41 次
控制查询规划器对表约束的使用,以优化查询。 现存
cursor_tuple_fraction 浮点 会话 0.1 —
设置规划器对将被检索的一个游标的行的比例的估计。 现存
default_statistics_target 整数 会话 100 —
为没有通过 ALTER TABLE SET STATISTICS 设置列相关目标的表列设置默认统计目标。 现存
from_collapse_limit 整数 会话 8 —
如果生成的 FROM 列表不超过这么多项,规划器将把子查询融合到上层查询。 现存
jit 布尔 会话 on 192 次
决定如果可用(见第 30 章),PostgreSQL 是否可以使用 JIT 编译。 现存
join_collapse_limit 整数 会话 8 —
如果得出的列表中不超过这么多项,那么规划器将把显式 JOIN(除了 FULL JOIN)结构重写到 FROM 项列表中。 现存
plan_cache_mode 枚举 会话 auto —
预备语句(无论是显式预备的,还是由 PL/pgSQL 等隐式生成的)可以使用自定义计划或通用计划执行。 现存
recursive_worktable_factor 浮点 会话 10 —
设置规划器对递归查询的工作表的平均大小的估计值,作为查询初始非递归项的估计大小的倍数。 现存
Reporting and Logging 错误报告和日志 53 个 ↑
记录到哪里 14
event_source 字符串 重启生效 PostgreSQL —
当启用了向事件日志记录时,这个参数决定用来标识日志中 PostgreSQL 消息的程序名。 现存
log_destination 字符串 重载生效 stderr —
PostgreSQL 支持多种记录服务器消息的方法,包括 stderr,csvlog,jsonlog 和 syslog。 现存
log_directory 字符串 重载生效 log 101 次
当 logging_collector 被启用时,这个参数决定日志文件将被在哪个目录下创建。 现存
log_file_mode 整数 重载生效 384 —
在 Unix 系统上,当 logging_collector 被启用时,这个参数设置日志文件的权限(在微软 Windows 上这个参数将被忽略)。 现存
log_filename 字符串 重载生效 postgresql-%Y-%m-%d_%H%M%S.log —
当 logging_collector 被启用时,这个参数设置被创建的日志文件的文件名。 现存
log_rotation_age 整数 重载生效 1 d —
当 logging_collector 被启用时,这个参数决定单个日志文件使用的最长时间,超过后创建一个新的日志文件。 现存
log_rotation_size 整数 重载生效 10 MiB 181 次
当 logging_collector 被启用时,这个参数决定单个日志文件的最大尺寸。 现存
log_truncate_on_rotation 布尔 重载生效 off —
当 logging_collector 被启用时,这个参数将导致 PostgreSQL 截断(覆盖而不是追加)任何已有的同名日志文件。 现存
logging_collector 布尔 重启生效 off —
这个参数启用日志收集器,它是一个捕捉被发送到 stderr 的日志消息的后台进程,并且它会将这些消息重定向到日志文件中。 现存
silent_mode 布尔 重启生效 off —
静默地运行服务器。 于 9.2 移除
syslog_facility 枚举 重载生效 local0 8.41 次
当启用了向 syslog 记录时,这个参数决定要使用的 syslog“设施”。 现存
syslog_ident 字符串 重载生效 postgres —
当启用了向 syslog 记录时,这个参数决定用来标识 syslog 中的 PostgreSQL 消息的程序名。 现存
syslog_sequence_numbers 布尔 重载生效 on —
当日志被记录到 syslog 并且这个设置为 on(默认)时,每一个消息会被加上一个增长的序号作为前缀(例如[2])。 现存
syslog_split_messages 布尔 重载生效 on —
当启用把日志记录到 syslog 时,这个参数决定消息如何送达 syslog。 现存
何时记录 7
log_min_duration_sample 整数 会话(超级用户) -1 ms —
允许对运行时间至少达到指定时间的已完成语句进行采样。 现存
log_min_duration_statement 整数 会话(超级用户) -1 ms 9.11 次
记录每个已完成语句的持续时间,如果语句运行时间至少达到指定时间。 现存
log_min_error_statement 枚举 会话(超级用户) error 8.41 次
控制在服务器日志中记录哪些导致错误条件的 SQL 语句。 现存
log_min_messages 枚举 会话(超级用户) warning 192 次
控制将哪些消息级别写入服务器日志。 现存
log_startup_progress_interval 整数 重载生效 10 s —
设置启动进程在长时间运行的操作开始后,等待多久才记录第一条进度消息,以及此后该操作的进度消息之间的时间间隔。 现存
log_statement_sample_rate 浮点 会话(超级用户) 1 —
确定持续时间超过 log_min_duration_sample 的语句中,将被记录的语句比例。 现存
log_transaction_sample_rate 浮点 会话(超级用户) 0 —
设置需要记录全部语句的事务比例,这些记录是在因其他原因记录的语句之外额外进行的。 现存
记录什么 25
application_name 字符串 会话 空字符串 —
application_name 可以是任意小于 NAMEDATALEN 个字符(标准编译中是 64 个字符)的字符串。 现存
debug_pretty_print 布尔 会话 on —
当被设置时,debug_pretty_print 会缩进由 debug_print_raw_parse、debug_print_parse、debug_print_rewritten 或 debug_print_plan 产生的输出。 现存
debug_print_parse 布尔 会话 off —
这些参数会启用多种调试输出。 现存
debug_print_plan 布尔 会话 off —
这些参数会启用多种调试输出。 现存
debug_print_raw_parse 布尔 — —
这些参数会启用多种调试输出。 现存
debug_print_rewritten 布尔 会话 off —
这些参数会启用多种调试输出。 现存
log_autoanalyze_min_duration 整数 — —
当自动清理执行的分析操作运行时间至少达到指定时间时,就会记录该操作。 现存
log_autovacuum_min_duration 整数 重载生效 10 min 152 次
当自动清理执行的清理操作运行时间至少达到指定时间时,就会记录该操作。 现存
log_checkpoints 布尔 重载生效 on 151 次
导致检查点和重启点在服务器日志中记录。 现存
log_connections 字符串 连接时(超级用户) 空字符串 182 次
控制是否记录到服务器的每次连接的相关信息。 现存
log_disconnections 布尔 连接时(超级用户) off 9.51 次
导致会话终止被记录。 现存
log_duration 布尔 会话(超级用户) off —
记录每个已完成语句的持续时间。 现存
log_error_verbosity 枚举 会话(超级用户) default 8.41 次
控制在服务器日志中记录的每条消息的详细程度。 现存
log_hostname 布尔 重载生效 off —
默认情况下,连接日志消息只显示连接主机的 IP 地址。 现存
log_line_prefix 字符串 重载生效 %m [%p] 101 次
这是一个 printf 风格的字符串,它在发送到 stderr、syslog 或 eventlog 的每条日志条目的开头输出。 现存
log_lock_failures 布尔 会话(超级用户) off —
控制当获取锁失败时是否生成详细日志消息。 现存
log_lock_waits 布尔 会话(超级用户) off 191 次
控制会话为获取锁而等待的时间超过 deadlock_timeout 时是否生成日志消息。 现存
log_parameter_max_length 整数 会话(超级用户) -1 B —
如果大于零,则记录在非错误语句日志消息中的每个绑定参数值都会被截断为指定的字节数。 现存
log_parameter_max_length_on_error 整数 会话 0 B —
如果大于零,则错误消息中报告的每个绑定参数值都将裁剪为这么多字节。 现存
log_recovery_conflict_waits 布尔 重载生效 off —
控制启动进程因恢复冲突而等待超过 deadlock_timeout 时是否产生日志消息。 现存
log_replication_commands 布尔 会话(超级用户) off —
在服务器日志中记录每个复制命令,以及 walsender 进程获取和释放复制槽的操作。 现存
log_statement 枚举 会话(超级用户) none 8.42 次
控制哪些 SQL 语句被记录。 现存
log_statement_max_length 整数 — —
如果大于零,通过 log_statement、log_min_duration_statement、log_min_duration_sample 或 log_transaction_sample_rate 记录的每条语句,其文本都会被截断为最多这么多字节。 现存
log_temp_files 整数 会话(超级用户) -1 kB —
控制临时文件名和大小的日志记录。 现存
log_timezone 字符串 重载生效 GMT 9.22 次
设置在服务器日志中写入的时间戳的时区。 现存
进程标题 2
cluster_name 字符串 重启生效 空字符串 —
设置一个用于各种目的、标识此数据库集簇(实例)的名称。 现存
update_process_title 布尔 会话(超级用户) on —
启用后,每次服务器接收到新的 SQL 命令时都会更新进程标题。 现存
Reporting and Logging 5
log_pid 布尔 — —
在服务器日志文件的每条消息前加上服务器进程的进程 ID。 于 8.0 移除
log_source_port 布尔 — —
在连接日志消息中显示连接主机的源端口号。 于 8.0 移除
log_timestamp 布尔 — —
在服务器日志的每条消息前加上时间戳。 于 8.0 移除
redirect_stderr 布尔 — —
这个参数允许把发送到stderr的消息捕获并重定向到日志文件中。 于 8.3 移除
syslog 整数 — —
PostgreSQL 允许使用 syslog 记录日志。 于 8.0 移除
Statistics 运行时统计数据 19 个 ↑
累积查询和索引统计 8
stats_fetch_consistency 枚举 会话 cache —
确定在事务中多次访问累积统计信息时的行为。 现存
track_activities 布尔 会话(超级用户) on —
启用对每个会话当前执行命令的信息收集,包括其标识符和命令开始执行的时间。 现存
track_activity_query_size 整数 重启生效 1 KiB 132 次
为每个活动会话指定存储当前执行命令的文本所预留的内存量,它们被用于 pg_stat_activity.query 字段。 现存
track_cost_delay_timing 布尔 会话(超级用户) off —
启用基于代价的清理延迟计时(参见第 19.10.2 节)。 现存
track_counts 布尔 会话(超级用户) on —
启用对数据库活动的统计信息收集。 现存
track_functions 枚举 会话(超级用户) none —
启用函数调用次数和耗时的跟踪。 现存
track_io_timing 布尔 会话(超级用户) off —
启用数据库 I/O 等待的计时。 现存
track_wal_io_timing 布尔 会话(超级用户) off —
启用 WAL I/O 等待的计时。 现存
查询和索引统计收集器 1
stats_temp_directory 字符串 重载生效 pg_stat_tmp —
设置存放临时统计信息数据的目录。 于 15 移除
统计监控 5
compute_query_id 枚举 会话(超级用户) auto —
启用内置的查询标识符计算功能。 现存
log_executor_stats 布尔 会话(超级用户) off —
对于每个查询,将各自模块的性能统计输出到服务器日志中。 现存
log_parser_stats 布尔 会话(超级用户) off —
对于每个查询,将各自模块的性能统计输出到服务器日志中。 现存
log_planner_stats 布尔 会话(超级用户) off —
对于每个查询,将各自模块的性能统计输出到服务器日志中。 现存
log_statement_stats 布尔 会话(超级用户) off —
对于每个查询,将各自模块的性能统计输出到服务器日志中。 现存
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 移除
Vacuuming 清理 34 个 ↑
自动清理 21
autovacuum 布尔 重载生效 on —
控制服务器是否运行自动清理启动器后台进程。 现存
autovacuum_analyze_scale_factor 浮点 重载生效 0.1 —
指定一个表尺寸的分数,在决定是否触发 ANALYZE 时将它加到 autovacuum_analyze_threshold 上。 现存
autovacuum_analyze_score_weight 浮点 — —
指定自动清理在确定优先级时所用评分中,分析阈值分量的缩放因子。 现存
autovacuum_analyze_threshold 整数 重载生效 50 —
指定能在一个表上触发 ANALYZE 的被插入、被更新或被删除元组的最小数量。 现存
autovacuum_freeze_max_age 整数 重启生效 200000000 —
指定在必须强制执行 VACUUM 以防止表内事务 ID 回卷之前,一个表的 pg_class.relfrozenxid 字段可以达到的最大年龄(以事务计)。 现存
autovacuum_freeze_score_weight 浮点 — —
指定自动清理在确定优先级时所用评分中,事务 ID 年龄分量的缩放因子。 现存
autovacuum_max_parallel_workers 整数 — —
设置单个自动清理工作进程在处理索引时可使用的并行工作进程最大数量。 现存
autovacuum_max_workers 整数 重载生效 3 183 次
指定能同时运行的自动清理进程(除了自动清理启动器之外)的最大数量。 现存
autovacuum_multixact_freeze_max_age 整数 重启生效 400000000 —
指定在必须强制执行 VACUUM 以防止表内多事务 ID 回卷之前,一个表的 pg_class.relminmxid 字段可以达到的最大年龄(以多事务计)。 现存
autovacuum_multixact_freeze_score_weight 浮点 — —
指定自动清理在确定优先级时所用评分中,多事务 ID 年龄分量的缩放因子。 现存
autovacuum_naptime 整数 重载生效 1 min —
指定自动清理在任意给定数据库上各次运行之间的最小间隔。 现存
autovacuum_vacuum_cost_delay 浮点 重载生效 2 ms 121 次
指定用于自动 VACUUM 操作中的代价延迟值。 现存
autovacuum_vacuum_cost_limit 整数 重载生效 -1 —
指定用于自动 VACUUM 操作中的代价限制值。 现存
autovacuum_vacuum_insert_scale_factor 浮点 重载生效 0.2 —
指定表中未冻结页面的比例,在决定是否触发 VACUUM 时,将由该比例计算出的数量加到 autovacuum_vacuum_insert_threshold 上。 现存
autovacuum_vacuum_insert_score_weight 浮点 — —
指定自动清理在确定优先级时所用评分中,由插入触发的清理阈值分量的缩放因子。 现存
autovacuum_vacuum_insert_threshold 整数 重载生效 1000 —
指定在任何一个表中触发 VACUUM 所需要插入的元组数。 现存
autovacuum_vacuum_max_threshold 整数 重载生效 100000000 —
指定在任意一个表上触发 VACUUM 所需更新或删除元组数的最大值,也就是对 autovacuum_vacuum_threshold 和 autovacuum_vacuum_scale_factor 计算结果所施加的上限。 现存
autovacuum_vacuum_scale_factor 浮点 重载生效 0.2 —
指定一个表尺寸的分数,在决定是否触发 VACUUM 时将它加到 autovacuum_vacuum_threshold 上。 现存
autovacuum_vacuum_score_weight 浮点 — —
指定自动清理在确定优先级时所用评分中,清理阈值分量的缩放因子。 现存
autovacuum_vacuum_threshold 整数 重载生效 50 —
指定能在一个表上触发 VACUUM 的被更新或被删除元组的最小数量。 现存
autovacuum_worker_slots 整数 重启生效 16 —
指定为自动清理工作进程保留的后端槽位数。 现存
基于代价的清理延迟 5
vacuum_cost_delay 浮点 会话 0 ms 121 次
超过代价上限后,进程将休眠的时长。 现存
vacuum_cost_limit 整数 会话 200 —
会使清理进程休眠 vacuum_cost_delay 指定时长的累计代价。 现存
vacuum_cost_page_dirty 整数 会话 20 —
清理操作修改原本干净的数据块时所计入的估算代价。 现存
vacuum_cost_page_hit 整数 会话 1 —
清理在共享缓冲区缓存中找到的缓冲区时所计入的估算代价。 现存
vacuum_cost_page_miss 整数 会话 2 141 次
清理必须从磁盘读取的缓冲区时所计入的估算代价。 现存
默认行为 1
vacuum_truncate 布尔 会话 on —
启用或禁用 vacuum 尝试截断表末尾的空页。 现存
冻结 7
vacuum_failsafe_age 整数 会话 1600000000 —
指定表的 pg_class.relfrozenxid 字段在 VACUUM 采取非常措施以避免系统范围事务 ID 回卷失败之前所允许达到的最大年龄(以事务数计)。 现存
vacuum_freeze_min_age 整数 会话 50000000 —
指定 VACUUM 在决定是否冻结带有较旧 XID 的页面时应采用的截止年龄(以事务数计)。 现存
vacuum_freeze_table_age 整数 会话 150000000 —
如果表的 pg_class.relfrozenxid 字段达到此设置指定的年龄,VACUUM 就会执行一次激进扫描。 现存
vacuum_max_eager_freeze_failure_rate 浮点 会话 0.03 —
指定 VACUUM 在急切扫描模式下可以扫描但未能在可见性映射中设置为 all-frozen 的页面数量占整个关系总页面数的比例,超过该比例后就会禁用急切扫描。 现存
vacuum_multixact_failsafe_age 整数 会话 1600000000 —
指定表的 pg_class.relminmxid 字段在 VACUUM 采取特别措施避免系统范围的多事务 ID 回卷故障之前,所能达到的最大年龄(以多事务计)。 现存
vacuum_multixact_freeze_min_age 整数 会话 5000000 —
指定 VACUUM 在决定是否冻结带有较旧多事务 ID 的页面时应采用的截止年龄(以多事务计)。 现存
vacuum_multixact_freeze_table_age 整数 会话 150000000 —
如果表的 pg_class.relminmxid 字段达到此设置指定的年龄,VACUUM 就会执行一次激进扫描。 现存
Client Connection Defaults 客户端连接默认值 50 个 ↑
语句行为 28
bytea_output 枚举 会话 hex —
设置 bytea 类型值的输出格式。 现存
check_function_bodies 布尔 会话 on —
这个参数通常为打开。 现存
client_min_messages 枚举 会话 notice 8.41 次
控制被发送给客户端的消息级别。 现存
createrole_self_grant 字符串 会话 空字符串 —
如果一个拥有 CREATEROLE 但不拥有 SUPERUSER 权限的用户创建了角色,并且此选项被设置为非空值,则新创建的角色将以指定选项授予创建者。 现存
default_table_access_method 字符串 会话 heap —
创建表或物化视图时,如果 CREATE 命令没有显式指定访问方法,或者使用了不允许指定表访问方法的 SELECT ... 现存
default_tablespace 字符串 会话 空字符串 —
这个变量指定当一个 CREATE 命令没有显式指定一个表空间时,创建对象(表和索引)的默认表空间。 现存
default_toast_compression 枚举 会话 pglz 191 次
这个变量设置可压缩列的值所使用的默认 TOAST 压缩方法。 现存
default_transaction_deferrable 布尔 会话 off —
当运行在 serializable 隔离级别时,一个可延迟只读 SQL 事务可能在获准继续之前被延迟一段时间。 现存
default_transaction_isolation 枚举 会话 read committed 8.41 次
每个 SQL 事务都有一个隔离级别,可以是“读未提交”、“读已提交”、“可重复读”或者“可串行化”。 现存
default_transaction_read_only 布尔 会话 off —
一个只读的 SQL 事务不能修改非临时表。 现存
event_triggers 布尔 会话(超级用户) on —
允许临时禁用事件触发器的执行,以便对有故障的事件触发器进行故障排查和修复。 现存
gin_pending_list_limit 整数 会话 4 MiB —
设置 fastupdate 被启用时可以使用的 GIN 索引的待处理列表的最大尺寸。 现存
idle_in_transaction_session_timeout 整数 会话 0 ms —
终止在打开的事务中空闲(即等待客户端查询)超过指定时长的任何会话。 现存
idle_session_timeout 整数 会话 0 ms —
终止不在打开的事务中、且空闲(即等待客户端查询)超过指定时长的任何会话。 现存
lock_timeout 整数 会话 0 ms —
如果任何语句在试图获取表、索引、行或其他数据库对象上的锁时等待超过指定的时间量,该语句将被中止。 现存
restrict_nonsystem_relation_kind 字符串 会话 空字符串 —
设置禁止访问非系统关系的关系类型。 现存
row_security 布尔 会话 on —
这个变量控制是否以抛出一个错误来代替应用一条行安全性策略。 现存
search_path 字符串 会话 "$user", public 9.51 次
这个变量指定当一个对象(表、数据类型、函数等)被用一个无模式限定的简单名称引用时,搜索该对象时的模式顺序。 现存
session_replication_role 枚举 会话(超级用户) origin 8.41 次
控制当前会话中复制相关触发器和规则的触发。 现存
statement_timeout 整数 会话 0 ms —
中止任何使用了超过指定时间量的语句。 现存
temp_tablespaces 字符串 会话 空字符串 —
这个变量指定当一个 CREATE 命令没有显式指定一个表空间时,创建临时对象(临时表和临时表上的索引)的默认表空间。 现存
transaction_deferrable 布尔 会话 off —
此参数反映当前事务的可延迟性状态。 现存
transaction_isolation 枚举 会话 read committed 122 次
此参数反映当前事务的隔离级别。 现存
transaction_read_only 布尔 会话 off —
此参数反映当前事务的只读状态。 现存
transaction_timeout 整数 会话 0 ms —
终止任何在一个事务中运行时间超过指定时长的会话。 现存
vacuum_cleanup_index_scale_factor 浮点 会话 0.1 —
执行索引清理前插入的元组数量,以 reltuples 的比例表示。 于 14 移除
xmlbinary 枚举 会话 base64 8.41 次
设置二进制值如何被编码为 XML。 现存
xmloption 枚举 会话 content 8.41 次
设置在 XML 与字符串值之间进行转换时,隐含采用 DOCUMENT 还是 CONTENT。 现存
区域和格式化 12
client_encoding 字符串 会话 SQL_ASCII —
设置客户端编码(字符集)。 现存
DateStyle 字符串 会话 ISO, MDY —
设置日期和时间值的显示格式,以及解释有歧义的日期输入值的规则。 现存
default_text_search_config 字符串 会话 pg_catalog.simple —
选择被那些没有显式参数指定配置的文本检索函数变体使用的文本检索配置。 现存
extra_float_digits 整数 会话 1 121 次
这个参数调整以文本形式输出浮点值时所用的位数,包括 float4,float8 以及几何数据类型。 现存
icu_validation_level 枚举 会话 warning —
控制在遇到 ICU 区域设置验证问题时使用何种消息严重级别报告该问题。 现存
IntervalStyle 枚举 会话 postgres —
设置时间间隔值的显示格式。 现存
lc_messages 字符串 会话(超级用户) 空字符串 —
设置消息显示的语言。 现存
lc_monetary 字符串 会话 C —
设置用于格式化货币量的区域设置,例如用 to_char 函数族。 现存
lc_numeric 字符串 会话 C —
设置用于格式化数字的区域设置,例如用 to_char 函数族。 现存
lc_time 字符串 会话 C —
设置用于格式化日期和时间的区域设置,例如用 to_char 函数族。 现存
TimeZone 字符串 会话 GMT 9.22 次
设置用于显示和解释时间戳的时区。 现存
timezone_abbreviations 字符串 会话 未设置 9.11 次
设置服务器在日期时间输入中接受的额外时区缩写集合(除当前 TimeZone 设置所定义的缩写之外)。 现存
共享库预载入 4
jit_provider 字符串 重启生效 llvmjit —
这个变量是要被使用的 JIT 提供者库的名称(见第 30.4.2 节)。 现存
local_preload_libraries 字符串 会话 空字符串 9.51 次
这个变量指定一个或者多个要在连接开始时预载入的共享库。 现存
session_preload_libraries 字符串 会话(超级用户) 空字符串 —
这个变量指定在连接开始时要预加载的一个或多个共享库。 现存
shared_preload_libraries 字符串 重启生效 空字符串 —
这个变量指定一个或者多个要在服务器启动时预载入的共享库。 现存
其他默认值 3
dynamic_library_path 字符串 会话(超级用户) $libdir —
如果需要打开一个可以动态装载的模块并且在 CREATE FUNCTION 或 LOAD 命令中指定的文件名没有目录部分(即名字中不包含斜线),那么系统将搜索这个路径以查找所需的文件。 现存
extension_control_path 字符串 会话(超级用户) $system —
搜索扩展的路径,特别是扩展控制文件(name.control)。 现存
gin_fuzzy_search_limit 整数 会话 0 —
GIN 索引扫描返回的集合尺寸的软上限。 现存
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 移除
Lock Management 锁管理 5 个 ↑
deadlock_timeout 整数 会话(超级用户) 1 s 9.22 次
指定在检查是否发生死锁之前等待锁的时间。 现存
max_locks_per_transaction 整数 重启生效 64 191 次
共享锁表为每个服务器进程或预备事务预留可容纳 max_locks_per_transaction 个对象(例如表)的空间;因此,在任何时刻可被锁住的不同对象数都不能超过总容量。 现存
max_pred_locks_per_page 整数 重载生效 2 —
这个参数控制在谓词锁被提升为覆盖整个页面之前,可以对单个页面中的多少行加谓词锁。 现存
max_pred_locks_per_relation 整数 重载生效 -2 —
这个参数控制在谓词锁被提升为覆盖整个关系之前,可以对单个关系中的多少页面或元组加谓词锁。 现存
max_pred_locks_per_transaction 整数 重启生效 64 —
共享谓词锁表为每个服务器进程或预备事务预留可容纳 max_pred_locks_per_transaction 个对象(例如表)的空间;因此,在任何时刻可被锁住的不同对象数都不能超过总容量。 现存
Version and Platform Compatibility 版本和平台兼容性 14 个 ↑
以前的 PostgreSQL 版本 10
array_nulls 布尔 会话 on —
这个参数控制数组输入解析器是否把未用引号的 NULL 识别为一个值为空值的数组元素。 现存
backslash_quote 枚举 会话 safe_encoding 8.41 次
这个参数控制转义字符串语法(E'...')中的单引号是否能够用\' 来表示。 现存
default_with_oids 布尔 会话 off —
此参数控制在既未指定 WITH OIDS 也未指定 WITHOUT OIDS 时,CREATE TABLE 和 CREATE TABLE AS 是否在新建表中包含 OID 列。 于 12 移除
escape_string_warning 布尔 会话 on —
打开时,如果在普通字符串字面量中('...' 语法)出现了一个反斜线(\)并且 standard_conforming_strings 为关闭,那么就会发出一个警告。 于 19 移除
lo_compat_privileges 布尔 会话(超级用户) off —
在 PostgreSQL 9.0 之前的版本中,大对象没有访问权限,因此始终可以被所有用户读取和写入。 现存
operator_precedence_warning 布尔 会话 off —
开启时,对于任何可能因操作符优先级的变化而在 PostgreSQL 9.4 之后改变含义的构造,解析器都会发出警告。 于 14 移除
quote_all_identifiers 布尔 会话 off —
当数据库产生 SQL 时,强制所有标识符被引号包围,即使它们(当前)不是关键字。 现存
sql_inheritance 布尔 会话 on —
这个设置控制不带修饰的表引用是否被认为包括继承子表。 于 10 移除
standard_conforming_strings 布尔 会话 on 9.11 次
从 PostgreSQL 19 开始,这个参数始终为 on。 现存
synchronize_seqscans 布尔 会话 on —
它允许对大型表的顺序扫描与其他扫描同步,因此并发扫描可以在几乎相同的时刻读取相同的块,这样可以分担 I/O 负载。 现存
其他平台和客户端 2
allow_alter_system 布尔 重载生效 on —
当 allow_alter_system 被设置为 off 时,执行 ALTER SYSTEM 命令会返回错误。 现存
transform_null_equals 布尔 会话 off —
当打开时,形如 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 移除
Error Handling 错误处理 4 个 ↑
data_sync_retry 布尔 重启生效 off —
当设置为 off(默认值)时,PostgreSQL 在将修改后的数据文件刷盘到文件系统失败时,将引发 PANIC 级错误。 现存
exit_on_error 布尔 会话 off —
如果为开(on),任何错误将中止当前会话。 现存
recovery_init_sync_method 枚举 重载生效 fsync —
当设置为 fsync,也就是默认值,PostgreSQL 将在崩溃恢复开始之前递归地打开并同步数据目录中的所有文件。 现存
restart_after_crash 布尔 重载生效 on —
当设置为 on(默认值)时,PostgreSQL 将在一次后端崩溃后自动重新初始化。 现存
Preset Options 预置选项 24 个 ↑
block_size 整数 内部 8192 —
报告一个磁盘块的大小。 现存
data_checksums 布尔 内部 off 201 次
报告这个集簇的数据校验和状态。 现存
data_directory_mode 整数 内部 448 —
在 Unix 系统上,这个参数报告服务器启动时数据目录(由 data_directory 定义)的权限。 现存
debug_assertions 布尔 内部 off 9.51 次
报告 PostgreSQL 是否在构建时启用了断言。 现存
debug_exec_backend 布尔 — —
报告 PostgreSQL 是否在构建时启用了 EXEC_BACKEND。 现存
effective_wal_level 枚举 — —
报告当前系统中实际生效的 WAL 记录级别。 现存
huge_pages_status 枚举 内部 unknown —
报告当前实例中大页的状态:on、off 或 unknown(当通过 postgres -C 查看时)。 现存
in_hot_standby 布尔 内部 off —
报告服务器当前是否处于热备模式。 现存
integer_datetimes 布尔 内部 on —
报告 PostgreSQL 是否在编译时启用了对 64 位整数日期和时间的支持。 现存
lc_collate 字符串 内部 C —
报告对文本数据进行排序所使用的区域设置。 于 16 移除
lc_ctype 字符串 内部 C —
报告决定字符分类的区域设置。 于 16 移除
max_function_args 整数 内部 100 —
报告函数参数的最大数量。 现存
max_identifier_length 整数 内部 63 —
报告标识符的最大长度。 现存
max_index_keys 整数 内部 32 —
报告索引键的最大数目。 现存
num_os_semaphores 整数 内部 0 —
根据配置的最大连接数(max_connections)、允许的自动清理工作进程数(autovacuum_max_workers)、允许的 WAL 发送进程数(max_wal_senders)、允许的后台进程数(max_worker_processes)等,报告服务器所需的信号量数量。 现存
segment_size 整数 内部 1 GiB (131072 × 8kB) —
报告一个文件段中可以存储的块(页)的数量。 现存
server_encoding 字符串 内部 SQL_ASCII —
报告数据库的编码(字符集)。 现存
server_version 字符串 内部 18.6 (Debian 18.6-1.pgdg13+2) 1916 次
报告服务器的版本号。 现存
server_version_num 整数 内部 180006 1916 次
以整数形式报告服务器的版本号。 现存
shared_memory_size 整数 内部 0 B —
报告主共享内存区域的大小,向上取整到整数兆字节。 现存
shared_memory_size_in_huge_pages 整数 内部 -1 —
报告基于指定的 huge_page_size 所需的主共享内存区域的大页数。 现存
ssl_library 字符串 内部 OpenSSL —
报告此 PostgreSQL 服务器在构建时使用的 SSL 库的名称(即使此实例当前未配置或使用 SSL),例如 OpenSSL,如果没有使用 SSL 库,则报告空字符串。 现存
wal_block_size 整数 内部 8192 —
报告一个 WAL 磁盘块的尺寸。 现存
wal_segment_size 整数 内部 16 MiB 111 次
报告 WAL 段文件的大小。 现存
Customized Options 自定义选项 1 个 ↑
custom_variable_classes 字符串 重载生效 未设置 —
这个变量指定一个或多个用于自定义变量的类名,形式为逗号分隔的列表。 于 9.2 移除
Developer Options 开发者选项 40 个 ↑
composite_type_mismatch 枚举 会话(超级用户) error —
设置如何处理复合类型数据的版本不匹配。 现存
allow_in_place_tablespaces 布尔 会话(超级用户) off —
当向 CREATE TABLESPACE 命令提供空的位置字符串时,允许将表空间创建为 pg_tblspc 内的目录。 现存
allow_system_table_mods 布尔 会话(超级用户) off 131 次
允许修改系统表的结构以及对系统表进行某些其他风险操作。 现存
backtrace_functions 字符串 会话(超级用户) 空字符串 —
这个参数包含一个以逗号分隔的 C 函数名称列表。 现存
debug_copy_parse_plan_trees 布尔 — —
启用该选项会强制所有解析树和计划树都经过 copyObject() 处理,以便更容易发现 copyObject() 中的错误和遗漏。 现存
debug_deadlocks 布尔 — —
如果设置,当死锁超时发生时,转储所有当前锁的信息。 现存
debug_discard_caches 整数 会话(超级用户) 0 —
当设置为 1 时,每个系统目录缓存条目都会在最早可能的时刻被置为无效,无论是否真的发生了使其失效的事件。 现存
debug_io_direct 字符串 重启生效 空字符串 —
要求内核使用 O_DIRECT(大多数类 Unix 系统)、F_NOCACHE(macOS)或 FILE_FLAG_NO_BUFFERING(Windows),尽量减小关系数据和 WAL 文件缓存的影响。 现存
debug_logical_replication_streaming 枚举 会话 buffered —
允许值为 buffered 和 immediate。 现存
debug_parallel_query 枚举 会话 off —
允许出于测试目的使用并行查询,即使预计不会带来性能收益也是如此。 现存
debug_raw_expression_coverage_test 布尔 — —
启用该选项会强制所有 DML 语句的原始解析树都经过 raw_expression_tree_walker() 扫描,以便更容易发现该函数中的错误和遗漏。 现存
debug_shared_buffers 整数 — —
缓冲区空闲列表报告之间的秒数。 于 8.1 移除
debug_write_read_parse_plan_trees 布尔 — —
启用该选项会强制所有解析树和计划树都经过 outfuncs.c/readfuncs.c 处理,以便更容易发现这些模块中的错误和遗漏。 现存
force_parallel_mode 枚举 会话 off —
允许为测试目的使用并行查询,即使预期不会带来性能收益。 于 16 移除
ignore_checksum_failure 布尔 会话(超级用户) off —
只有启用数据校验和时才有效。 现存
ignore_invalid_pages 布尔 重启生效 off —
如果设置为 off(默认值),则在恢复期间检测到引用无效页面的 WAL 记录会导致 PostgreSQL 引发 PANIC 级别错误,中止恢复。 现存
ignore_system_indexes 布尔 连接时 off —
读取系统表时忽略系统索引(但是修改系统表时依然同时更新索引)。 现存
jit_debugging_support 布尔 连接时(超级用户) off —
如果 LLVM 具有所需的功能,则向 GDB 注册生成的函数。 现存
jit_dump_bitcode 布尔 会话(超级用户) off —
将生成的 LLVM IR 写入文件系统,位于 data_directory 内。 现存
jit_expressions 布尔 会话 on —
当 JIT 编译被激活时(见第 30.2 节),确定表达式是否用 JIT 编译。 现存
jit_profiling_support 布尔 连接时(超级用户) off —
如果 LLVM 具有所需的功能,则输出让 perf 对 JIT 生成的函数进行性能分析所需的数据。 现存
jit_tuple_deforming 布尔 会话 on —
当 JIT 编译被激活时(见第 30.2 节),确定元组拆解是否被 JIT 编译。 现存
log_btree_build_stats 布尔 — —
如果设置,会记录 B-树操作上的系统资源使用情况统计(内存和 CPU)。 现存
post_auth_delay 整数 连接时 0 s —
新服务器进程启动并完成认证过程之后的延迟时间。 现存
pre_auth_delay 整数 重载生效 0 s —
新服务器进程刚刚派生之后、执行认证过程之前的延迟时间。 现存
remove_temp_files_after_crash 布尔 重载生效 on —
当设置为 on(默认值)时,PostgreSQL 将在后端崩溃后自动删除临时文件。 现存
send_abort_for_crash 布尔 重载生效 off —
默认情况下,后端崩溃后,postmaster 会向其余子进程发送 SIGQUIT 信号使其停止,这样它们可以较为平稳地退出。 现存
send_abort_for_kill 布尔 重载生效 off —
默认情况下,在尝试用 SIGQUIT 停止子进程之后,postmaster 会等待五秒,然后发送 SIGKILL 强制立即终止。 现存
trace_connection_negotiation 布尔 重启生效 off —
记录认证开始前连接握手过程的详细信息。 现存
trace_lock_oidmin 整数 — 8.41 次
如果设置,不会跟踪 OID 小于此值的表上的锁(用于避免在系统表上的输出)。 现存
trace_lock_table 整数 — 8.41 次
无条件地跟踪此表(OID)上的锁。 现存
trace_locks 布尔 — —
如果开启,发出锁使用情况的信息。 现存
trace_lwlocks 布尔 — —
如果开启,发出轻量级锁的使用信息。 现存
trace_notify 布尔 会话 off —
为 LISTEN 和 NOTIFY 命令生成大量调试输出。 现存
trace_recovery_messages 枚举 重载生效 log —
启用原本不会记录的恢复相关调试输出。 于 17 移除
trace_sort 布尔 会话 off —
如果开启,输出排序操作中的资源使用信息。 现存
trace_userlocks 布尔 — —
如果开启,发出关于用户锁使用的信息。 现存
wal_consistency_checking 字符串 会话(超级用户) 空字符串 —
这个参数被设计用来检查 WAL 重做例程中的缺陷。 现存
wal_debug 布尔 — 8.01 次
如果被打开,WAL 相关的调试输出将被发出。 现存
zero_damaged_pages 布尔 会话(超级用户) off —
检测到损坏的页面头通常会导致 PostgreSQL 报告错误,中止当前事务。 现存

说明

库里共 492 个参数、24 个大版本、6707 份逐版本快照;相邻大版本之间记录到 80 次默认值变更与 158 处实质变化(默认值、单位、生效上下文、类型、取值范围或枚举值),59 个参数已经不在最新版本里。每行的「版本变动」是一排方格,一格一个大版本,与表头刻度逐格对齐;鼠标停在某一格上会写出它是哪一版、发生了什么。「默认值」一列取的是当前稳定版 18 的 boot_val,带单位的值换算成了可读形式;18 里不存在的参数取它最后存在的那一版。数据来自 guc.pg.center,说明的中文取自本站手册译文,没有译文的按英文原文显示。