我希望能够将PostgreSQL禁用为自动检查点。
我只想在磁盘上fsync wal文件,而不保存在shared_buffer中所做的更改。
我将checkpoint_segments
和checkpoint_timeout
设置为较大的值,但仍会生成其他检查点。
我不想检查点,即使他需要交换页面或内存不足。
答案 0 :(得分:0)
检查点还有其他原因:
CREATE DATABASE
之前和之后。DROP DATABASE
之后。ALTER DATABASE SET TABLESPACE
之前和之后(你可能每天都不这样做)。DROP TABLESPACE
期间(同上)。CHECKPOINT
命令。我希望我没有忘记任何事情 - 其中一个会导致您观察到的检查点吗?
将log_checkpoints
设置为on
,然后日志文件将在checkpoint starting
消息中显示检查点的原因。
您确定避免检查点是个好主意吗?它们是必需的,以便在出现问题时可以恢复数据库。