# 预写日志

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

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

---

本节页面：

- [archive_cleanup_command](/zh/parameters/archive-cleanup-command/): archive_cleanup_command：设置每次重启点执行的 shell 命令。它是 PG12–18 的 sighup 参数；最新实测启动默认值为 empty。
- [archive_command](/zh/parameters/archive-command/): archive_command：设置归档 WAL 文件时调用的 shell 命令。实测在档范围为 PG9.0–19 Beta 3；最后在档的 PG19 Beta 3 启动默认值为 empty string，context 为 sighup。这是测试版快照事实，PostgreSQL 19 正式发布前仍可能变化。
- [archive_library](/zh/parameters/archive-library/): archive_library：设置归档 WAL 文件时调用的库。它是 PG15–18 的 sighup 参数；最新实测启动默认值为 empty。
- [archive_mode](/zh/parameters/archive-mode/): archive_mode：允许使用 archive_command 归档 WAL 文件。实测在档范围为 PG9.0–19 Beta 3；最后在档的 PG19 Beta 3 启动默认值为 off，context 为 postmaster。这是测试版快照事实，PostgreSQL 19 正式发布前仍可能变化。
- [archive_timeout](/zh/parameters/archive-timeout/): archive_timeout：设置强制切换到下一个 WAL 文件前的最长等待时间。实测在档范围为 PG9.0–19 Beta 3；最后在档的 PG19 Beta 3 启动默认值为 0 s，context 为 sighup。这是测试版快照事实，PostgreSQL 19 正式发布前仍可能变化。
- [checkpoint_completion_target](/zh/parameters/checkpoint-completion-target/): checkpoint_completion_target：设置在检查点间隔中用于刷新脏缓冲区的目标时间比例。实测在档范围为 PG9.0–19 Beta 3；最后在档的 PG19 Beta 3 启动默认值为 0.9，context 为 sighup。这是测试版快照事实，PostgreSQL 19 正式发布前仍可能变化。
- [checkpoint_flush_after](/zh/parameters/checkpoint-flush-after/): checkpoint_flush_after：设置检查点每写入多少页后刷出先前写入的数据。实测在档范围为 PG9.6–19 Beta 3；最后在档的 PG19 Beta 3 启动默认值为 256 KiB (32 × 8kB)，context 为 sighup。这是测试版快照事实，PostgreSQL 19 正式发布前仍可能变化。
- [checkpoint_segments](/zh/parameters/checkpoint-segments/): checkpoint_segments：设置两次自动 WAL 检查点之间允许的最大日志段距离。实测在档范围为 PG9.0–9.4；最后在档的 PG9.4 启动默认值为 3，context 为 sighup。它在 PG9.5 被移除。
- [checkpoint_timeout](/zh/parameters/checkpoint-timeout/): checkpoint_timeout：设置两次自动 WAL 检查点之间的最长时间。实测在档范围为 PG9.0–19 Beta 3；最后在档的 PG19 Beta 3 启动默认值为 5 min，context 为 sighup。这是测试版快照事实，PostgreSQL 19 正式发布前仍可能变化。
- [checkpoint_warning](/zh/parameters/checkpoint-warning/): checkpoint_warning：设置 WAL 容量触发的检查点过于频繁时发出警告的时间阈值。实测在档范围为 PG9.0–19 Beta 3；最后在档的 PG19 Beta 3 启动默认值为 30 s，context 为 sighup。这是测试版快照事实，PostgreSQL 19 正式发布前仍可能变化。
- [commit_delay](/zh/parameters/commit-delay/): commit_delay：设置事务提交与将 WAL 刷入磁盘之间的延迟（微秒）。实测在档范围为 PG9.0–19 Beta 3；最后在档的 PG19 Beta 3 启动默认值为 0，context 为 superuser。这是测试版快照事实，PostgreSQL 19 正式发布前仍可能变化。
- [commit_siblings](/zh/parameters/commit-siblings/): commit_siblings：设置启用 commit_delay 前所需的并发活动事务最低数量。实测在档范围为 PG9.0–19 Beta 3；最后在档的 PG19 Beta 3 启动默认值为 5，context 为 user。这是测试版快照事实，PostgreSQL 19 正式发布前仍可能变化。
- [fsync](/zh/parameters/fsync/): fsync：强制将更新同步到磁盘。实测在档范围为 PG9.0–19 Beta 3；最后在档的 PG19 Beta 3 启动默认值为 on，context 为 sighup。这是测试版快照事实，PostgreSQL 19 正式发布前仍可能变化。
- [full_page_writes](/zh/parameters/full-page-writes/): full_page_writes：检查点后页面首次修改时将完整页面写入 WAL。实测在档范围为 PG9.0–19 Beta 3；最后在档的 PG19 Beta 3 启动默认值为 on，context 为 sighup。这是测试版快照事实，PostgreSQL 19 正式发布前仍可能变化。
- [max_wal_size](/zh/parameters/max-wal-size/): max_wal_size：设置触发自动检查点的 WAL 大小。实测在档范围为 PG9.5–19 Beta 3；最后在档的 PG19 Beta 3 启动默认值为 1 GiB，context 为 sighup。这是测试版快照事实，PostgreSQL 19 正式发布前仍可能变化。
- [min_wal_size](/zh/parameters/min-wal-size/): min_wal_size：设置 WAL 可收缩到的最小规模。实测在档范围为 PG9.5–19 Beta 3；最后在档的 PG19 Beta 3 启动默认值为 80 MiB，context 为 sighup。这是测试版快照事实，PostgreSQL 19 正式发布前仍可能变化。
- [recovery_end_command](/zh/parameters/recovery-end-command/): recovery_end_command：设置恢复结束时执行一次的 shell 命令。它是 PG12–18 的 sighup 参数；最新实测启动默认值为 empty。
- [recovery_prefetch](/zh/parameters/recovery-prefetch/): recovery_prefetch：在恢复期间预取 WAL 引用的数据块。它是 PG15–18 的 sighup 参数；最新实测启动默认值为 try。
- [recovery_target](/zh/parameters/recovery-target/): recovery_target：设为 immediate，使恢复在首次达到一致状态时结束。它是 PG12–18 的 postmaster 参数；最新实测启动默认值为 empty。
- [recovery_target_action](/zh/parameters/recovery-target-action/): recovery_target_action：设置到达恢复目标后执行的动作。它是 PG12–18 的 postmaster 参数；最新实测启动默认值为 pause。
- [recovery_target_inclusive](/zh/parameters/recovery-target-inclusive/): recovery_target_inclusive：设置是否包含恢复目标所对应的事务。它是 PG12–18 的 postmaster 参数；最新实测启动默认值为 on。
- [recovery_target_lsn](/zh/parameters/recovery-target-lsn/): recovery_target_lsn：设置恢复所推进到的 WAL LSN。它是 PG12–18 的 postmaster 参数；最新实测启动默认值为 empty。
- [recovery_target_name](/zh/parameters/recovery-target-name/): recovery_target_name：设置恢复所推进到的命名还原点。它是 PG12–18 的 postmaster 参数；最新实测启动默认值为 empty。
- [recovery_target_time](/zh/parameters/recovery-target-time/): recovery_target_time：设置恢复所推进到的时间戳。它是 PG12–18 的 postmaster 参数；最新实测启动默认值为 empty。
- [recovery_target_timeline](/zh/parameters/recovery-target-timeline/): recovery_target_timeline：指定要恢复到的时间线。它是 PG12–18 的 postmaster 参数；最新实测启动默认值为 latest。
- [recovery_target_xid](/zh/parameters/recovery-target-xid/): recovery_target_xid：设置恢复所推进到的事务 ID。它是 PG12–18 的 postmaster 参数；最新实测启动默认值为 empty。
- [restore_command](/zh/parameters/restore-command/): restore_command：设置取回归档 WAL 文件时调用的 shell 命令。它是 PG12–18 的 sighup 参数；最新实测启动默认值为 empty。
- [summarize_wal](/zh/parameters/summarize-wal/): summarize_wal：启动 WAL summarizer 进程以支持增量备份。它是 PG17–18 的 sighup 参数；最新实测启动默认值为 off。
- [synchronous_commit](/zh/parameters/synchronous-commit/): synchronous_commit：设置当前事务提交时使用的同步级别。实测在档范围为 PG9.0–19 Beta 3；最后在档的 PG19 Beta 3 启动默认值为 on，context 为 user。这是测试版快照事实，PostgreSQL 19 正式发布前仍可能变化。
- [wal_buffers](/zh/parameters/wal-buffers/): wal_buffers：设置共享内存中用于 WAL 的磁盘页缓冲区数量。实测在档范围为 PG9.0–19 Beta 3；最后在档的 PG19 Beta 3 启动默认值为 -1 8kB，context 为 postmaster。这是测试版快照事实，PostgreSQL 19 正式发布前仍可能变化。
- [wal_compression](/zh/parameters/wal-compression/): wal_compression：使用指定方法压缩写入 WAL 的整页映像。实测在档范围为 PG9.5–19 Beta 3；最后在档的 PG19 Beta 3 启动默认值为 off，context 为 superuser。这是测试版快照事实，PostgreSQL 19 正式发布前仍可能变化。
- [wal_decode_buffer_size](/zh/parameters/wal-decode-buffer-size/): wal_decode_buffer_size：设置恢复期间超前读取 WAL 的缓冲区大小。它是 PG15–18 的 postmaster 参数；最新实测启动默认值为 512 KiB。
- [wal_init_zero](/zh/parameters/wal-init-zero/): wal_init_zero：新 WAL 文件首次使用前先写零。它是 PG12–18 的 superuser 参数；最新实测启动默认值为 on。
- [wal_level](/zh/parameters/wal-level/): wal_level：设置写入 WAL 的信息级别。实测在档范围为 PG9.0–19 Beta 3；最后在档的 PG19 Beta 3 启动默认值为 replica，context 为 postmaster。这是测试版快照事实，PostgreSQL 19 正式发布前仍可能变化。
- [wal_log_hints](/zh/parameters/wal-log-hints/): wal_log_hints：页面在检查点后首次发生非关键修改时也将完整页面写入 WAL。实测在档范围为 PG9.4–19 Beta 3；最后在档的 PG19 Beta 3 启动默认值为 off，context 为 postmaster。这是测试版快照事实，PostgreSQL 19 正式发布前仍可能变化。
- [wal_recycle](/zh/parameters/wal-recycle/): wal_recycle：通过重命名复用 WAL 文件。它是 PG12–18 的 superuser 参数；最新实测启动默认值为 on。
- [wal_skip_threshold](/zh/parameters/wal-skip-threshold/): wal_skip_threshold：设置用 fsync 新文件代替写 WAL 的最小文件规模。它是 PG13–18 的 user 参数；最新实测启动默认值为 2 MiB。
- [wal_summary_keep_time](/zh/parameters/wal-summary-keep-time/): wal_summary_keep_time：设置 WAL 摘要文件的保留时间。它是 PG17–18 的 sighup 参数；最新实测启动默认值为 10 d。
- [wal_sync_method](/zh/parameters/wal-sync-method/): wal_sync_method：选择将 WAL 更新强制写入磁盘的方法。实测在档范围为 PG9.0–19 Beta 3；最后在档的 PG19 Beta 3 启动默认值为 fdatasync，context 为 sighup。这是测试版快照事实，PostgreSQL 19 正式发布前仍可能变化。
- [wal_writer_delay](/zh/parameters/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](/zh/parameters/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 正式发布前仍可能变化。
