| タイプ: | 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でなければ、この設定のデフォルト値と最大値がBLCKSZに比例して変更されます。)このパラメータはpostgresql.confファイル、または、サーバのコマンドラインでのみで設定可能です。
推奨事項 [EN]
Unless you have time to tune memory flushing behavior and test for improvements/regressions
