Лок, лок – дедлок!
< Query failed: ERROR: deadlock detected < DETAIL: Process 17371 waits for ShareLock on transaction 102733872; Blocked by process. < Process 10414 waits for ShareLock on transaction 102733874; Blocked by process 17371.
Such "unpleasant" messages from the server can seriously puzzle the developer. When working with locks, in particular, with transactions in general, it is necessary to take into account the features of the implementation of client libraries, which can cause the above exception.
In the short talk, the mechanics of the interaction of locks will be explained, main attention being paid to causes of deadlocks. References to the relevant documentation pages will be given. A technique of "bypassing" this problem of concurrent data access will be described and illustrated with some generalized examples from practice are shown. The talk will be interesting to database developers and administrators as well as the client-side application developers.
Слайды
Видео
Другие доклады
-
Marco Slot Citus Data
Ускоряясь до миллиона записей в секунду: масштабирование PostgreSQL с помощью Citus MX
Citus allows you to distribute postgres tables across many servers. It extends postgres to transparently delegate or parallelise work across a set of worker nodes, enabling you to scale out the CPU and memory available for queries.
One year ago, we began a long journey to allow Citus to scale out another dimension: write throughput. With writes being routed through a single postgres node, write throughput in Citus was ultimately bottlenecked on the CPUs of a single node. Citus MX is a new edition of Citus which allows distributed tables to be used from from any of the nodes, enabling NoSQL-like write-scalability.
-
Kamil Islamov Stickeroid Ai
Совместное использование хранимых процедур Postgres и ORM на примере Django
We will discuss some tricks and patterns while developing web-application architecture based on ORM technology with Postgresql functions implementation with Python Django as an example. Also we will consider some ways of building the business logic inside a database with keeping Django framework opportunities and implementation of it's built-in admin panel.
VIDEO
-
Peter van Hardenberg Heroku
История Postgres
The PostgreSQL community is over 20 years old, but the history of PostgreSQL dates back even farther. In this talk, we'll learn about the roots of the Postgres project, learn about some of the people who contribute to it, study how it has changed over time, and pay special attention to the many contributions of Russian people.