Расскажу про четыре production-инцидента на одном куске кода за десять дней. В каждом я думал, что разобрался. Закончилось тем, что я выкинул pg_advisory_lock из retry-пути и поставил FOR UPDATE SKIP LOCKED. Day-generation лок остался advisory-ным, но утечка там не критична - почему именно, разберу в конце. Полезно, если у вас Postgres на Neon (или Supabase, или Aiven serverless) и где-то по коду есть session-scoped advisory locks для координации задач между репликами. Читать далее
Тумба под раковину BelBagno Neon 60 NEON-600-2C-SO-RS подвесная. Характеристики: Цвет: Rovere Scuro (темный дуб). Материал корпуса и фасада: ЛДСП. Покрытие корпуса и фасада: ламинат матовый. Габариты корпуса тумбы (ШхВхГ): 570х555х350 мм. Система хранения: два выдвижных ящика. Оснащение: механизм доводчика. Монтаж: подвесной. В комплекте поставки: Тумба под раковину. Тумба под раковину BelBagno Neon 60 NEON-600-2C-SO-RS подвесная […]
Привет, Хабр!PostgreSQL умеет блокировать строки (SELECT ... FOR UPDATE) и таблицы (LOCK TABLE). Об этом знают все. Но есть третий тип блокировок, который решает задачи, с которыми row-level и table-level locks не справляются: advisory locks. Консультативные блокировки — механизм, где PostgreSQL предоставляет инфраструктуру
В Postgres достаточно подробная документация, и видимо поэтому , при инсталляции Postgres для 1С большинство параметров приходится выставлять самим. Параметров в Postgres много, а составить эффективную комбинацию не так просто. Все упрощается если рассмотреть профиль нагрузки, например, 1С это прежде всего профиль OLTP нагрузки – так устроены его метаданные (объекты). Если сосредоточится на оптимизации профиля OLTP, понимание Postgres сразу упростится. Установить Postgres для OLTP