TGViewer
DevOps для ДевоПсов DevOps для ДевоПсов @devo_pes · 3.21K subscribers
Post #7992 215
Что на самом деле ограничивает max_locks_per_transaction в PostgreSQL

Параметр задаёт долю общей таблицы блокировок на процесс, а не предел транзакции. По умолчанию: 64 в PostgreSQL 18 и 128 в PostgreSQL 19; изменение требует перезапуска.

Ошибка out of shared memory означает нехватку записей блокировок. Перед переходом на PostgreSQL 19 удвойте явно заданное значение: сначала обновите и перезапустите реплики, затем основной сервер, иначе применение журнала на реплике остановится.

Занятость: select count(*) from pg_locks where not fastpath. Расчёты — в статье All Your GUCs in a Row: max_locks_per_transaction.
More from @devo_pes
  1. Sep 25, 2026✨ Как настроить PostgreSQL для продакшен-нагрузок При переходе к продакшен-нагрузкам важно…
  2. Sep 25, 2026Как выстроить управление инцидентами по модели Google и PagerDuty При крупном сбое мало ис…
  3. Sep 25, 2026Как не получить ложный пик в Prometheus при агрегации счётчиков Для счётчиков порядок опер…
  4. Sep 24, 2026Как отслеживать сбои и замедление тестов Cypress в Grafana Cloud Один лог CI не показывает…
  5. Sep 24, 2026Как перенести сервис Kubernetes из default без простоя Десятки сервисов обращаются к auth-…
  6. Sep 24, 2026Как находить нестабильные тесты с помощью merge queue и main Если merge queue гарантирует,…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →