WAL
Write Ahead Log - нужен чтобы не потерять даннные при сбое в бд. Все данные записываются сначала в wal а затем сбрасываются на диск. В случае, если произошел сбой, данные из wal накатываются во время запуска кластера. Чтобы файл не распухал, используются контрольные точки/чекпоинты.
Запись данных на диск может происходить в синхронном и асинхронном режиме.
- Синхронный - Более затратный но надежный
- Асинхронный - Быстрее но можно потерять данные
Таблицы можно создавать с пометкой UNLOGGED, в таком случае данные про эту таблицу не будут попадать в WAL. Это ускорит время работы с такой таблицей(запись, чтение) но в случае сбое БД, во время запуска к такой таблице будет применен TRUNCATE и все данные будут потеряны.
В WAL так же не попадают временные таблицы.