Какой режим транзакции по умолчанию в Postgres?

В PostgreSQL по умолчанию транзакции работают в режиме "Read Committed".

Короткий ответ

Что ответить на собеседовании

В PostgreSQL по умолчанию транзакции работают в режиме "Read Committed". Это означает, что каждая команда внутри транзакции видит только те данные, которые были зафиксированы на момент начала выполнения этой команды. Иными словами, транзакция не видит незавершённые изменения других транзакций.

Подробный разбор

Ответ с пояснениями

В PostgreSQL по умолчанию транзакции работают в режиме "Read Committed". Это означает, что каждая команда внутри транзакции видит только те данные, которые были зафиксированы на момент начала выполнения этой команды. Иными словами, транзакция не видит незавершённые изменения других транзакций.

Пример:

BEGIN;
-- режим Read Committed по умолчанию
SELECT * FROM users WHERE id = 1;
COMMIT;

Если нужно изменить уровень изоляции, это можно сделать командой:

SET TRANSACTION ISOLATION LEVEL SERIALIZABLE;

или при начале транзакции:

BEGIN TRANSACTION ISOLATION LEVEL SERIALIZABLE;

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее