跳转到主要内容

预写日志

Write-Ahead Log 分类下的 41 个 PostgreSQL 核心配置参数档案。

条目 URL 保持扁平;本分类仅用于侧栏与浏览组织。

archive_cleanup_command

archive_cleanup_command:设置每次重启点执行的 shell 命令。它是 PG12–18 的 sighup 参数;最新实测启动默认值为 empty。

archive_command

archive_command:设置归档 WAL 文件时调用的 shell 命令。实测在档范围为 PG9.0–19 Beta 3;最后在档的 PG19 Beta 3 启动默认值为 empty string,context 为 sighup。这是测试版快照事实,PostgreSQL 19 正式发布前仍可能变化。

archive_library

archive_library:设置归档 WAL 文件时调用的库。它是 PG15–18 的 sighup 参数;最新实测启动默认值为 empty。

archive_mode

archive_mode:允许使用 archive_command 归档 WAL 文件。实测在档范围为 PG9.0–19 Beta 3;最后在档的 PG19 Beta 3 启动默认值为 off,context 为 postmaster。这是测试版快照事实,PostgreSQL 19 正式发布前仍可能变化。

archive_timeout

archive_timeout:设置强制切换到下一个 WAL 文件前的最长等待时间。实测在档范围为 PG9.0–19 Beta 3;最后在档的 PG19 Beta 3 启动默认值为 0 s,context 为 sighup。这是测试版快照事实,PostgreSQL 19 正式发布前仍可能变化。

checkpoint_completion_target

checkpoint_completion_target:设置在检查点间隔中用于刷新脏缓冲区的目标时间比例。实测在档范围为 PG9.0–19 Beta 3;最后在档的 PG19 Beta 3 启动默认值为 0.9,context 为 sighup。这是测试版快照事实,PostgreSQL 19 正式发布前仍可能变化。

checkpoint_flush_after

checkpoint_flush_after:设置检查点每写入多少页后刷出先前写入的数据。实测在档范围为 PG9.6–19 Beta 3;最后在档的 PG19 Beta 3 启动默认值为 256 KiB (32 × 8kB),context 为 sighup。这是测试版快照事实,PostgreSQL 19 正式发布前仍可能变化。

checkpoint_segments

checkpoint_segments:设置两次自动 WAL 检查点之间允许的最大日志段距离。实测在档范围为 PG9.0–9.4;最后在档的 PG9.4 启动默认值为 3,context 为 sighup。它在 PG9.5 被移除。

checkpoint_timeout

checkpoint_timeout:设置两次自动 WAL 检查点之间的最长时间。实测在档范围为 PG9.0–19 Beta 3;最后在档的 PG19 Beta 3 启动默认值为 5 min,context 为 sighup。这是测试版快照事实,PostgreSQL 19 正式发布前仍可能变化。

checkpoint_warning

checkpoint_warning:设置 WAL 容量触发的检查点过于频繁时发出警告的时间阈值。实测在档范围为 PG9.0–19 Beta 3;最后在档的 PG19 Beta 3 启动默认值为 30 s,context 为 sighup。这是测试版快照事实,PostgreSQL 19 正式发布前仍可能变化。

commit_delay

commit_delay:设置事务提交与将 WAL 刷入磁盘之间的延迟(微秒)。实测在档范围为 PG9.0–19 Beta 3;最后在档的 PG19 Beta 3 启动默认值为 0,context 为 superuser。这是测试版快照事实,PostgreSQL 19 正式发布前仍可能变化。

commit_siblings

commit_siblings:设置启用 commit_delay 前所需的并发活动事务最低数量。实测在档范围为 PG9.0–19 Beta 3;最后在档的 PG19 Beta 3 启动默认值为 5,context 为 user。这是测试版快照事实,PostgreSQL 19 正式发布前仍可能变化。

fsync

fsync:强制将更新同步到磁盘。实测在档范围为 PG9.0–19 Beta 3;最后在档的 PG19 Beta 3 启动默认值为 on,context 为 sighup。这是测试版快照事实,PostgreSQL 19 正式发布前仍可能变化。

full_page_writes

full_page_writes:检查点后页面首次修改时将完整页面写入 WAL。实测在档范围为 PG9.0–19 Beta 3;最后在档的 PG19 Beta 3 启动默认值为 on,context 为 sighup。这是测试版快照事实,PostgreSQL 19 正式发布前仍可能变化。

max_wal_size

max_wal_size:设置触发自动检查点的 WAL 大小。实测在档范围为 PG9.5–19 Beta 3;最后在档的 PG19 Beta 3 启动默认值为 1 GiB,context 为 sighup。这是测试版快照事实,PostgreSQL 19 正式发布前仍可能变化。

min_wal_size

min_wal_size:设置 WAL 可收缩到的最小规模。实测在档范围为 PG9.5–19 Beta 3;最后在档的 PG19 Beta 3 启动默认值为 80 MiB,context 为 sighup。这是测试版快照事实,PostgreSQL 19 正式发布前仍可能变化。

recovery_end_command

recovery_end_command:设置恢复结束时执行一次的 shell 命令。它是 PG12–18 的 sighup 参数;最新实测启动默认值为 empty。

recovery_prefetch

recovery_prefetch:在恢复期间预取 WAL 引用的数据块。它是 PG15–18 的 sighup 参数;最新实测启动默认值为 try。

recovery_target

recovery_target:设为 immediate,使恢复在首次达到一致状态时结束。它是 PG12–18 的 postmaster 参数;最新实测启动默认值为 empty。

recovery_target_action

recovery_target_action:设置到达恢复目标后执行的动作。它是 PG12–18 的 postmaster 参数;最新实测启动默认值为 pause。

recovery_target_inclusive

recovery_target_inclusive:设置是否包含恢复目标所对应的事务。它是 PG12–18 的 postmaster 参数;最新实测启动默认值为 on。

recovery_target_lsn

recovery_target_lsn:设置恢复所推进到的 WAL LSN。它是 PG12–18 的 postmaster 参数;最新实测启动默认值为 empty。

recovery_target_name

recovery_target_name:设置恢复所推进到的命名还原点。它是 PG12–18 的 postmaster 参数;最新实测启动默认值为 empty。

recovery_target_time

recovery_target_time:设置恢复所推进到的时间戳。它是 PG12–18 的 postmaster 参数;最新实测启动默认值为 empty。

recovery_target_timeline

recovery_target_timeline:指定要恢复到的时间线。它是 PG12–18 的 postmaster 参数;最新实测启动默认值为 latest。

recovery_target_xid

recovery_target_xid:设置恢复所推进到的事务 ID。它是 PG12–18 的 postmaster 参数;最新实测启动默认值为 empty。

restore_command

restore_command:设置取回归档 WAL 文件时调用的 shell 命令。它是 PG12–18 的 sighup 参数;最新实测启动默认值为 empty。

summarize_wal

summarize_wal:启动 WAL summarizer 进程以支持增量备份。它是 PG17–18 的 sighup 参数;最新实测启动默认值为 off。

synchronous_commit

synchronous_commit:设置当前事务提交时使用的同步级别。实测在档范围为 PG9.0–19 Beta 3;最后在档的 PG19 Beta 3 启动默认值为 on,context 为 user。这是测试版快照事实,PostgreSQL 19 正式发布前仍可能变化。

wal_buffers

wal_buffers:设置共享内存中用于 WAL 的磁盘页缓冲区数量。实测在档范围为 PG9.0–19 Beta 3;最后在档的 PG19 Beta 3 启动默认值为 -1 8kB,context 为 postmaster。这是测试版快照事实,PostgreSQL 19 正式发布前仍可能变化。

wal_compression

wal_compression:使用指定方法压缩写入 WAL 的整页映像。实测在档范围为 PG9.5–19 Beta 3;最后在档的 PG19 Beta 3 启动默认值为 off,context 为 superuser。这是测试版快照事实,PostgreSQL 19 正式发布前仍可能变化。

wal_decode_buffer_size

wal_decode_buffer_size:设置恢复期间超前读取 WAL 的缓冲区大小。它是 PG15–18 的 postmaster 参数;最新实测启动默认值为 512 KiB。

wal_init_zero

wal_init_zero:新 WAL 文件首次使用前先写零。它是 PG12–18 的 superuser 参数;最新实测启动默认值为 on。

wal_level

wal_level:设置写入 WAL 的信息级别。实测在档范围为 PG9.0–19 Beta 3;最后在档的 PG19 Beta 3 启动默认值为 replica,context 为 postmaster。这是测试版快照事实,PostgreSQL 19 正式发布前仍可能变化。

wal_log_hints

wal_log_hints:页面在检查点后首次发生非关键修改时也将完整页面写入 WAL。实测在档范围为 PG9.4–19 Beta 3;最后在档的 PG19 Beta 3 启动默认值为 off,context 为 postmaster。这是测试版快照事实,PostgreSQL 19 正式发布前仍可能变化。

wal_recycle

wal_recycle:通过重命名复用 WAL 文件。它是 PG12–18 的 superuser 参数;最新实测启动默认值为 on。

wal_skip_threshold

wal_skip_threshold:设置用 fsync 新文件代替写 WAL 的最小文件规模。它是 PG13–18 的 user 参数;最新实测启动默认值为 2 MiB。

wal_summary_keep_time

wal_summary_keep_time:设置 WAL 摘要文件的保留时间。它是 PG17–18 的 sighup 参数;最新实测启动默认值为 10 d。

wal_sync_method

wal_sync_method:选择将 WAL 更新强制写入磁盘的方法。实测在档范围为 PG9.0–19 Beta 3;最后在档的 PG19 Beta 3 启动默认值为 fdatasync,context 为 sighup。这是测试版快照事实,PostgreSQL 19 正式发布前仍可能变化。

wal_writer_delay

wal_writer_delay:设置 WAL writer 两次刷写之间的时间。实测在档范围为 PG9.0–19 Beta 3;最后在档的 PG19 Beta 3 启动默认值为 200 ms,context 为 sighup。这是测试版快照事实,PostgreSQL 19 正式发布前仍可能变化。

wal_writer_flush_after

wal_writer_flush_after:设置触发 WAL writer 刷盘的写出 WAL 数量。实测在档范围为 PG9.6–19 Beta 3;最后在档的 PG19 Beta 3 启动默认值为 1 MiB (128 × 8kB),context 为 sighup。这是测试版快照事实,PostgreSQL 19 正式发布前仍可能变化。