Sobes.tech
Senior

Warum ist UPDATE in PostgreSQL eigentlich DELETE und INSERT?

sobes.tech KI

Antwort von AI

В PostgreSQL операция UPDATE часто реализуется как последовательность DELETE и INSERT из-за особенностей MVCC (многоверсионного контроля параллелизма).

Когда происходит UPDATE, PostgreSQL не изменяет строку на месте. Вместо этого:

  1. Старая версия строки помечается как устаревшая (DELETE).
  2. Создаётся новая версия строки с обновлёнными данными (INSERT).

Это позволяет поддерживать консистентность данных для параллельных транзакций и обеспечивает возможность отката изменений. Такой подход повышает производительность и надёжность работы с конкурентным доступом к данным.