Crash recovery is the PostgreSQL subsystem that saves us if the server should crash, or fail as a part of a system crash.
It's good to understand a little about it, and to do what we can to control it in our favor.
If PostgreSQL crashes there will be a message in the server log with severity-level
PANIC. PostgreSQL will immediately restart and attempt to recover using the transaction log or Write Ahead Log (WAL).
The WAL consists of a series of files written to the
pg_xlog subdirectory of the PostgreSQL data directory. Each change made to the database is recorded first in WAL, hence the name "write-ahead" log. When a transaction commits, the default and safe behavior is to force the WAL ...