最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

log

运维笔记admin13浏览0评论

log

log

Lau*_*lbe 8

序列状态的更改必须写入事务日志 (WAL)。这可能会导致大量 WAL 记录,这会损害性能。

作为优化,PostgreSQL 不会记录当前序列计数器,而是记录一个大于 32 的值。请参阅以下评论src/backend/mands/sequence.c:

/* * We don't want to log each fetching of a value from a sequence, * so we pre-log a few fetches in advance. In the event of * crash we can lose (skip over) as many values as we pre-logged. */#define SEQ_LOG_VALS 32

这意味着在崩溃期间可能会丢失多达 32 个序列值(恢复会将序列设置为记录的位置),这没有问题。

log_t 显示在必须写入新的 WAL 记录之前剩余的提取次数。

在nextval检查点后第一次调用后,log_t将是 32。它会随着每次调用而减少nextval,一旦达到 0,它再次设置为 32,并写入 WAL 记录。

log

发布评论

评论列表(0)

  1. 暂无评论