Top.Mail.Ru
PgConf.Russia 2017 | PGConf.Russia

title

text

March 15 – 17 , 2017

Postrelease

  • more than
    0 participants
  • 0 speakers
  • 0
    minutes of conversation
  • 63 talks
  • offline
    format

Talks

Talks archive

PgConf.Russia 2017
  • Ildar Musin
    Ildar Musin PostgresPro
    Dmitry Ivanov
    Dmitry Ivanov PostgresPro

    Partitioning is a long-awaited feature in PostgreSQL. Although Postgres supports partitioning via inheritance, this approach has some disadvantages, such as the need to manually create partitions and support triggers, significant planning overhead, and no query execution optimizations. In this talk, we’ll tell you about the pg_pathman extension we are developing. pg_pathman supports HASH and RANGE partitioning, performs planning and execution optimizations, supports fast insert by using Custom Node instead of triggers, provides functions for partition management (add, split, merge, etc.), supports FDW, non-blocking data migration, and more. We'll also speak about pg_pathman integration with Postgres Pro Enterprise Edition and Oracle-like syntax support for partitioning. Finally, we'll discuss new partitioning capabilities in PostgreSQL 10, the already implemented features and further development plans.

    VIDEO

  • Vladimir  Borodin
    Vladimir Borodin Yandex

    It's not a secret that PostgreSQL connections are expensive so you should save them. To solve this problem there are PgPool-II and PgBouncer for quite a long time. At Yandex tens of thousands of connections to a single database is not a surprise so we use pgbouncer since time immemorial. This talk gives an overview of problems we faced and ways to solve them.

    VIDEO

  • Marco Slot
    Marco Slot Citus Data

    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.

  • Mikhail Tyurin
    Mikhail Tyurin Independent entrepreneur in the field of data technology and predictive analytics

    < 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.

All talks