控制系统的持久性与恢复性能边界:
wal_level(enum)决定记录在 WAL 中的信息丰度。可选值为 minimal(仅能用于崩溃恢复)、replica(支持物理流复制与物理归档恢复,默认推荐值)以及 logical(支持逻辑复制与 CDC 数据捕获)。
fsync(boolean)控制服务器是否在事务提交时强制调用 fsync() 系统调用将 WAL 日志物理刷入磁盘。生产环境绝对严禁关闭此选项,否则突发掉电将导致数据库文件物理损坏无法启动。
synchronous_commit(enum)控制事务提交时是否同步等待 WAL 刷盘完成。设为 off 可开启异步提交以大幅换取写吞吐。
checkpoint_timeout(integer,带时间单位)自动检查点触发的最大时间间隔,默认通常为 5 分钟(建议生产环境适当延长至 15 到 30 分钟)。
max_wal_size(integer,带内存单位)在两次自动检查点之间允许产生的最大 WAL 日志体积。超过此阈值将强制提前触发检查点刷盘,生产环境通常设定在 16GB 到 64GB 之间。
archive_mode 与 archive_command开启 WAL 日志归档并指定物理归档脚本,是搭建基于时间点恢复(PITR)和远程冷备的核心参数。