Сначала найди, кто держит лок — pg_stat_activity + pg_locks. Если это долгая транзакция — можно убить через pg_terminate_backend(). Для предотвращения: используй короткие транзакции, ставь lock_timeout, избегай DDL на горячих таблицах. ALTER TABLE берёт ACCESS EXCLUSIVE lock — делай это в low traffic window. Для добавления NOT NULL колонки используй двухшаговый подход: добавь nullable, залей данные, потом добавь constraint.
Что делать при table lock?
Middle
186 просмотровAFK Offer AI
Как дебажить connection timeout?