wal

Overview

Common integrity preservation concept. Briefly it means that database changes should be committed only after they are logged - i.e. WAL records describing the change where flushed to some permanent storage. In case of some failure during commit data can be reconstructed (rolled-forward) from WAL records. For most implementations WAL allows on-line backups and point-in-time recovery. WAL also reduces number of disk writes, since a database can store data in memory longer before eventually flushing.

Applications

Postgres

See wal-g and the docs. Maintained in pg_wal/ dir. pg_dump can't be used for continuous archiving since they don't contain file-system-level information. WAL records are segmented into 16MB files (configurable with initdb). WAL is enabled with: