タイプ: | integer |
デフォルト: | 0 (0kB) |
分: | 0 (0kB) |
最大: | 256 (2MB) |
単位: | 8kB |
コンテキスト: | user |
再起動: | false |
以来: | 9.6 |
backend_flush_after
バイトが単一のバックエンドによって書き込まれる度に、OSが記憶装置に書き込むことを強制します。このことにより、カーネルのページキャッシュが持つダーティデータの量を一定量に制限し、チェックポイントの最後にfsyncが実行される際、あるいはバックグラウンドで実行される大きなバッチの中でOSがデータを書き出す際に性能の急激な低下を招く可能性を減らします。多くの場合これによってトランザクションの遅延が大幅に少なくなりますが、あるケース、特にワークロードがshared_buffersよりも大きく、OSのページキャッシュよりも小さい時には性能が低下するかもしれません。この設定が無効なプラットフォームがあります。この値が単位なしで指定された場合は、ブロック単位であるとみなします。すなわち、BLCKSZ
バイト、一般的には8kBです。有効な設定値は、この強制書き込み機能が無効になる0
から、2MB
までです。デフォルト値は0
です(すなわち書き出し制御を行いません)。(BLCKSZ
が8kbでなければ、最大値がBLCKSZ
に比例して変更されます。)
推奨事項 [EN]
Unless you have time to tune memory flushing behavior and test for improvements/regressions