Table-level lock — блокировка всей таблицы. PostgreSQL автоматически берёт их при разных операциях: SELECT берёт ACCESS SHARE (не мешает другим SELECT), INSERT/UPDATE/DELETE берут ROW EXCLUSIVE, CREATE INDEX берёт SHARE, ALTER TABLE берёт ACCESS EXCLUSIVE (блокирует всё). Явно: LOCK TABLE users IN EXCLUSIVE MODE. Проблема: ACCESS EXCLUSIVE (от ALTER TABLE, TRUNCATE) блокирует даже SELECT. Поэтому ALTER TABLE в проде делают аккуратно, а CREATE INDEX — CONCURRENTLY. Понимание локов — ключ к дебагу дедлоков.
Что такое table-level lock?
Middle
379 просмотровAFK Offer AI
Что такое request deduplication?