Встречается на 1% собеседований по Python
Какие знаешь блокировки в 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
интервью вопросы и ответы