IT用語集 › データベース › 同期コミット

同期コミット

データベース Svenska → 更新: 2026-10-22

クライアントにOKを返す前に、COMMITをどこまで確実にするかを決めるPostgreSQLの設定。最も厳格な場合は、WALがディスクに書かれる(場合によっては同期レプリカが受領を返す)まで待つ。永続性を犠牲にしてレイテンシを下げることもできる。

設定値(synchronous_commit)は、on(デフォルト。ローカルでWALをフラッシュし、場合によりレプリカのackも待つ)、remote_apply(レプリカが適用済みで、読み取り可能)、local(ローカルディスクのみ)、off(即座に返し、WALは少し後にフラッシュ。クラッシュ時に直近のトランザクションを失う恐れはあるが、破損は決して起きない)。ミソはトランザクション単位で設定できる点で、重要な決済はon、重要でないログは速度優先でoffにできる。同期レプリケーションと組み合わせた場合、コミットがレプリカを待つかどうか(データ損失ゼロかどうか)がこの設定で決まる。永続性と性能のトレードオフを調整する、古典的なダイヤルである。

← 用語集に戻る