Встречается на 2% собеседований по Python

Какой уровень изоляции транзакций по умолчанию в PostgreSQL

В PostgreSQL по умолчанию используется уровень изоляции READ COMMITTED. Это означает, что транзакция видит только те данные, которые были зафиксированы до её начала, а также изменения, зафиксированные другими транзакциями в процессе её выполнения.

Пример:

python
import psycopg2

conn = psycopg2.connect("dbname=test user=postgres")
conn.set_isolation_level(psycopg2.extensions.ISOLATION_LEVEL_READ_COMMITTED)
# Далее работа с транзакциями...

Особенности READ COMMITTED:

  • Нет "грязного чтения" (незафиксированных данных)
  • Возможно "неповторяющееся чтение" (другая транзакция может изменить данные между повторными чтениями)
  • Возможно "фантомное чтение" (появление новых строк между повторными запросами)

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

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

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