Я прочитал главу WAL руководства Postgres и был озадачен частью главы:
Использование WAL приводит к значительному сокращению числа операций записи на диск, поскольку для сохранения транзакции на диск требуется только файл журнала, а не каждый файл данных, измененный транзакцией.
Почему непрерывная запись в WAL более производительна, чем простая запись в сами данные таблицы / индекса?
Насколько я понимаю (забыв пока о преимуществах устойчивости WAL), postgres необходимо выполнить две операции с диском; Сначала pg необходимо зафиксировать WAL на диске, а затем вам все равно нужно изменить данные таблицы, чтобы они соответствовали WAL. Я уверен, что есть фундаментальный аспект этого, который я неправильно понял, но кажется, что добавление дополнительного шага между клиентской транзакцией и конечным состоянием данных таблицы не может фактически повысить общую производительность. Заранее спасибо!