Встречается на собеседованиях • сегодня
Какие знаешь блокировки в PostgreSQL
PostgreSQL поддерживает несколько уровней блокировок для управления параллельным доступом к данным:
1. Row-Level Locks (блокировки строк):
FOR UPDATE- блокирует строки для измененияFOR NO KEY UPDATE- менее строгая версия FOR UPDATEFOR SHARE- блокирует строки от изменения, но разрешает чтениеFOR KEY SHARE- самая слабая блокировка строк
2. Table-Level Locks (блокировки таблиц):
ACCESS SHARE- самый слабый уровень, конфликтует только с ACCESS EXCLUSIVEROW SHARE- разрешает параллельный доступ, но запрещает EXCLUSIVE и ACCESS EXCLUSIVEROW EXCLUSIVE- автоматически устанавливается при UPDATE, DELETE, INSERTSHARE UPDATE EXCLUSIVE- предотвращает параллельные изменения схемы таблицыSHARE- разрешает только чтениеSHARE ROW EXCLUSIVE- похож на SHARE, но запрещает SHAREEXCLUSIVE- разрешает только параллельные ACCESS SHAREACCESS EXCLUSIVE- полная блокировка таблицы
Пример:
sql
BEGIN;
SELECT * FROM accounts WHERE user_id = 1 FOR UPDATE; -- блокировка строки
-- другие транзакции не смогут изменять эту строку
COMMIT;Блокировки помогают поддерживать целостность данных при параллельном доступе.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы