= Transaction durability
<Transaction durability> means that an acknowledged committed transaction survives failures covered by the <database>'s durability model. A successful statement that has not committed is not yet such a promise. The failure model and storage configuration matter: surviving a <operating-system process>[process] crash does not automatically mean surviving destruction of every storage replica.
<Write-ahead logging> provides one mechanism. Before reporting a durable commit, persist the required log records. Modified data pages can be written later because recovery can replay their committed changes from the log. The log-before-data rule also prevents a page from reaching persistent storage without the recovery information needed to interpret it.<Write-Ahead Logging in the PostgreSQL documentation>[§28.3, WAL ordering and REDO]{ref} Durability therefore concerns persistence of the committed result, whereas <transaction atomicity> concerns which parts of a transaction may take effect. Faster asynchronous commit settings can deliberately weaken the interval covered by the acknowledgment.
Back to article page