↑↓ 选择↵ 打开⌫ 切换范围完整搜索

PG.CENTER 连接 PostgreSQL 文档、百科与生态知识。由 Pigsty 维护。

Wiki / 配置参数

wal_level

英文手册覆盖始于 PostgreSQL 7.4. 来源历史与运行验证各自保留独立版本边界。

当前阅读 PG 18·选择有来源记录的版本

boot val
replica
category
Write-Ahead Log / Settings
context
postmaster
documented
true
enumvals
minimal, replica, logical
extra desc
未知
lang
en
max val
未知
metadata version
18
min val
未知
name
wal_level
short desc
Sets the level of information written to the WAL.
source
pg-settings-source-snapshot
unit
未知
vartype
enum

版本定义 PG 18

wal_level决定多少信息写入到 WAL 中。默认值是replica,它会写入足够的数据以支持WAL归档和复制,包括在备库上运行只读查询。minimal会去掉除从崩溃或者立即关机中进行恢复所需的信息之外的所有记录。最后,logical会增加支持逻辑解码所需的信息。每个层次包括所有更低层次记录的信息。这个参数只能在服务器启动时设置。

minimal级别生成最少的WAL日志量。对于在当前事务中创建或重写的永久关系,不记录其行信息。这可以使操作速度更快(参见第 14.4.7 节)。触发此优化的操作包括:

ALTER ... SET TABLESPACE
CLUSTER
CREATE TABLE
REFRESH MATERIALIZED VIEW(不使用CONCURRENTLY)
REINDEX
TRUNCATE

然而,minimal 级别的 WAL 不包含足够的信息用于时间点恢复,因此必须使用replica或更高级别来启用持续归档(archive_mode)和流式二进制复制。实际上,如果max_wal_senders不为零,服务器甚至不会以此模式启动。请注意,将wal_level更改为minimal会使先前的基础备份无法用于时间点恢复和备库。

在logical级别上,记录与replica相同的信息,以及从WAL中提取逻辑变更集所需的信息。使用logical级别会增加 WAL 的数量,特别是如果许多表被配置为REPLICA IDENTITY FULL,并且执行了许多UPDATE和DELETE语句。

在 9.6 之前的版本中,这个参数也允许值archive和hot_standby。现在仍然接受这些值,但是它们会被映射到replica。

比较版本

来源引用

完整定义与证据 JSON

定义来源

center · PostgreSQL 18 · english-manuals:f3739c9193b8aba5d64bc752adcfdac035a0aa826ea6ef4fe2252ed93d55c881

正文语言: zh-Hans · 2026-09-11@29c86d9