类型: integer
默认: 64 (512kB)
最低限度: 0 (0kB)
最大: 256 (2MB)
单元: 8kB
上下文: sighup
重新开始: false
以来: 9.6

只要后台写入的数据超过这个数量,尝试强制 OS 把这些写发送到底层存储上。这样做将限制内核页缓存中脏数据的量,降低了在检查点末尾发出一个 fsync 时或者 OS 在后台大批量写回数据时卡住的可能性。 那常常会导致大幅度压缩的事务延迟,但是也有一些情况(特别是负载超过shared_buffers但小于 OS 页面高速缓存)的性能会降低。这种设置可能会在某些平台上没有效果。 如果指定值时没有单位,则以块为单位,即为BLCKSZ 字节,通常为8kB.合法的范围在0(禁用受控写回)和2MB之间。Linux 上的默认值是512kB,其他平台上是0(如果BLCKSZ不是8kB,则默认值和最大值会按比例缩放至这个值)。这个参数只能在postgresql.conf文件中或者服务器命令行上设置。

建议 [EN]

Unless you have time to tune memory flushing behavior and test for improvements/regressions

条评论