Встречается на собеседованиях • сегодня

Как транзакция реализована в PostgreSQL

В PostgreSQL транзакции реализованы через механизм MVCC (Multiversion Concurrency Control). Каждая транзакция видит снимок данных (snapshot) на момент своего начала. Изменения становятся видимыми другим транзакциям только после COMMIT.

Основные свойства (ACID):

  • Atomicity - гарантируется WAL (Write-Ahead Log)
  • Consistency - проверяются ограничения (constraints)
  • Isolation - через уровни изоляции (Read Committed по умолчанию)
  • Durability - подтверждённые изменения сохраняются на диск

Пример:

sql
BEGIN;  -- Начало транзакции
UPDATE accounts SET balance = balance - 100 WHERE user_id = 1;
UPDATE accounts SET balance = balance + 100 WHERE user_id = 2;
COMMIT; -- Фиксация изменений
-- или ROLLBACK для отмены

Уровни изоляции:

  1. Read Uncommitted (не поддерживается)
  2. Read Committed (по умолчанию)
  3. Repeatable Read
  4. Serializable
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы