Лок, лок – дедлок!
< Query failed: ERROR: deadlock detected < DETAIL: Process 17371 waits for ShareLock on transaction 102733872; blocked by process 10414. < Process 10414 waits for ShareLock on transaction 102733874; blocked by process 17371.
Подобные "неприятные" сообщения от сервера могут серьезно озадачить разработчика. При работе с блокировками, в частности, и с транзакциями в целом, следует учитывать особенности реализации клиентских библиотек, которые могут вызывать описанное выше исключение.
В кратком докладе-сообщении будет объяснена механика взаимодействия блокировок, приводящая к ситуации дедлока; приведены ссылки на документацию; разобрана техника "обхода" данной проблемы конкурентной работы с данными; показаны обобщенные приемы из практики.
Слайды
Видео
Другие доклады
-
Дмитрий Васильев Postgres Professional DBA
Mamonsu - швейцарский нож для управления и мониторинга PostgreSQL
Мастер-класс будет про то как правильно мониторить PostgreSQL. Мы рассмотрим утилиту mamonsu, я покажу как её настроить, какие есть скрытые у нее возможности и как можно их расширить.
-
Иван Панченко Postgres Professional рзаместитель генерального директора
Два года профессионального постгреса
Краткий рассказ о том, чего за 2 года работы добилась компания Postgres Professional.
- наши достижения в разработке PostgreSQL.
- что такое российская СУБД Postgres Pro и как она соотносится с PostgreSQL
- что такое Postgres Pro Enterprise и почему Enterprise.
- что с учебными курсами и сертификацией?
ВИДЕО
-
Дмитрий Вагин Avito Lead Engineer
Мониторинг PostgreSQL в Авито, с примерами
Небольшой доклад о том как Avito собирает и мониторит нагрузку на базы данных. Отправка метрик из хранимых процедур в Graphite. Сбор метрик pg_stat* и отображение их в Grafana. Примеры из жизни.
ВИДЕО
-
Дорофей Пролесковский Juno GIS Engineer
Движущиеся цели в PostGIS
Для хранения и обработки пространственных данных в Postgres существует расширение PostGIS. В нём обычно рассматривается обычная Евклидова плоскость без времени и неопределённости, но реальный мир зачастую сложнее. Посмотрим, как можно сделать так, чтобы тысячи машинок плавно ездили по карте OpenStreetMap в реальном времени с помощью Postgres.
ВИДЕО