title

text

Andrei Salnikov
Andrei Salnikov Data Egret
16:15 06 February
45 мин

PostgreSQL upgrade is not as painful as it sounds

For the majority of System Administrators and DBAs performing an upgrade for RDBMS, let alone a major one, is a pain. That’s because one of the key factors that plays a role in a decision if and when to perform an upgrade is the downtime that it might come to during the process. This is true for any databases but especially important for those that are in production or under a high load.

Often, a major upgrade get’s cancelled and a DBA needs to go back to an older version due to the lack of experience or some basic errors that could have been easily avoided at the planning stage.

In our consultancy, we perform upgrades for our clients regularly and it allowed us to streamline the process and take some preventative measures that help us to perform it quickly, efficiently and with minimal or no downtime.

In this talk, I will share some key steps and tools that will help any DBA to become better at major upgrade performance. I will answer the following questions:

How to prepare for an upgrade of PostgreSQL? What one needs to do at the planning stage? How to plan your actions during the actual upgrade process? How to perform an upgrade successfully without going back to the older version? What actions one must perform following an upgrade?

I will also go through the two most popular processes of an upgrade: pg_upgrade и pg_dump/pg_restore, will compare some of the benefits and downfalls using each of these. I will also discuss some of the main issues one might face throughout the process and ways to avoid them.

This talk would be of interest to those who are new to PostgreSQL, as well as experienced DBAs who would like to learn more about upgrades or those who, in general, would like to understand why major upgrades should NOT be avoided like the plague.

Слайды

Видео

Другие доклады

  • Ivan Panchenko
    Ivan Panchenko Postgres Professional
    90 мин

    Server side programming in PL/Perl, PL/Python, PL/v8

    Tutorial will show specifics of server programming in these languages. I will present practical examples and compare the features of these languages in PostgreSQL environment from the viewpoint of solving practical tasks.

  • Dmitry Belyavskiy
    Dmitry Belyavskiy ТЦИ
    22 мин

    Crypto-related parameters of PostgreSQL

    The presentation describes crypto-related parameters of PostgreSQL configuration (both authentication and TLS-protection of the connection to DB) and what do they mean

  • Konstantin Knignik
    Konstantin Knignik Postgres Professional
    45 мин

    VOPS: vectorized executor for Postgres

    PostgreSQL looks very competitive with other mainstream databases on OLTP workload (execution of large number of simple queries). But on OLAP queries, requiring processing of larger volumes of data, DBMS-es oriented on analytic queries processing can provide an order of magnitude better speed. The following factors limit Postgres OLAP performance:

    • Unpacking tuple overhead (tuple_deform)
    • Interpretation overhead (Postgres executor has to interpret query execution plan)
    • Abstraction penalty (support of abstract data types)
    • Pull model overhead (operators are pulling tuples from heap page one-by-one, resulting numerous repeated accesses to the page)
    • MVCC overhead (extra per-tuple storage + visibility check cost)

    All this issues can be solved using vectorized executor, which proceed bulk of values at once. In this presentation I will show how vector operations can be implemented in Postgres as standard Postgres extension, not affecting Postgres core. The approach is based on introducing special types: tile types, which can be used instead of normal (scalar) types and implement vector operations. Postgres extension mechanism, such as UDT (user-defined type), FDW (foreign data wrappers), executor hooks are used to let users work with vectorized tables almost in the same way as with normal tables. But more than 10 times faster because of vector operations.

  • Антон Дорошкевич
    Антон Дорошкевич Инфософт
    45 мин

    1C-Battle. PostgreSQL vs MS SQL

    Comparison of capabilities of PostgreSQL and MS SQL to work with 1С. What does pg_restore mean for 1С user? Results of load testing for 1C database of more than 1TB size. The story of one 1C Production: 2 years, 500+ databases 1C, 4TB of data, cascading replication.