Understanding and controlling crash recovery
It's good to understand a little about it and what we can do to control it in our favor.
How to do it…
If PostgreSQL crashes, there will be a message in the server log with the severity level set to
PANIC. PostgreSQL will immediately restart and attempt to recover using the transaction log or the Write-Ahead Log (WAL).
The WAL consists of a series of files written to the
pg_wal subdirectory of the PostgreSQL data directory. Each change made to the database is recorded first in WAL, hence the name
write-ahead log, which is a synonym for a transaction log. Note that the former is probably more accurate, since, in the WAL, there are also changes not related to transactions. When a transaction commits, the default (and safe) behavior is to force the...