June 20 – 21 , 2022
PGConf.Russia 2022
PGConf.Russia 2022
PGConf.Russia is a leading Russian PostgreSQL international conference, annually taking together more than 700 PostgreSQL professionals from Russia and other countries — core and software developers, DBAs and IT-managers. The 2-day program includes training workshops presented by leading PostgreSQL experts, more than 40 talks, panel discussions and a lightning talk session.
Thems
- PostgreSQL technology frontiers for highest workloads, huge databases, mission-critical applications
- PostgreSQL scalability for transactional and analytical workloads
- New features in PostgreSQL and around: PostgreSQL and its ecosystem development
- PostgreSQL for business software applications: system architecture, migration issues and operating experience
- PostgreSQL specific features and their applications: JSON(b), (geo)Spatial data, Full text search
Talks
Talks archive
-
Alexander Kukushkin Zalando SELogical decoding and replication slots introduced in PostgreSQL 9.4 (released in 2014) created a solid foundation for implementing built-in core logical replication in version 10 (released in 2017). Unfortunately, there are a few limitations that make logical replication not very useful in real-world scenarios. Logical decoding currently isn’t supported on the standby server, and PostgreSQL allows creating logical replication slots only on the primary server. Or in other words, logical slots are lost on failover/switchover.
Postgres hackers made many attempts to address the problem, and most of them resulted in not too much success. Although, there is one little function introduced in PostgreSQL 11 that made it possible to implement failover of logical replication slots externally.
In my talk I will tell a story of how Patroni solves the problem of logical replication slots failover without using invasive third-party extensions, dig down into some of the Postgres internals in order to prove why this approach is safe, and finally, we will discuss limitations and potential downsides of this solution.
-
Alexey Fadeev SibedgeThe plv8 extension is very underestimated, though it can help simplify development for a variety of tasks. It's been a year since we started using this extension in our projects. The main reason for its low popularity is the complexity of building. Moreover, building plv8 requires a lot of traffic and disc space for temporary files. That's why we decided to build plv8 and provide ready-made binaries freely to anyone interested, not just as an offering for our customers. First, we made the binaries available on GitHub. Then we created a Docker image for Postgres with pre-installed plv8 based on Debian. It looked too heavy to us, and we decided to check Alpine, however, building it for Alpine appeared to be more complicated than we expected. I'll explain what difficulties we faced and how we managed to overcome them. I will also list the tasks that can be solved with plv8 and provide advice on how to make the development process more convenient. I will also share the links to our Docker images for the latest Postgres 13 and Postgres 14 releases, that are compact and can be used for any types of tasks.
-
Дмитрий Головицин FORS Learning & Consulting CenterOur talk reviews the modern tools for administering PostgreSQL. It also covers the DBMS's performance bottlenecks and provides approaches to resolving the related issues. The presentation tackles the problems that occur while Oracle to Postgres migrations including the following: performance tuning tools (the analogues of AWR and ASH); monitoring tools (the analogues of Cloud Control); ensuring high availability and reliability of the database (grid infrastructure analogues); known "database performance bottlenecks"; an overview of options for technical support options SLAs.
-
Teodor Sigaev PostgresPro
Nikita Malakhov PostgresProA modern database should be capable of storing big values. Storing itself is not a big deal, however, operations with big values or fields are a non-trivial task. PostgreSQL has several options for storing big values, but none of them is perfect. How do we respond to this challenge? Our presentation answers this question, let's see how to store big and complex values in Postgres properly, and how operate with them.
Photos
Photo archive