title

text

Александр Попов
Александр Попов Postgres Professional Инженер
11:10 09 апреля
20 мин

pgpro_redefinition - расширение для онлайн манипуляций с большими таблицами

Рассказ про расширение для перестройки больших таблиц без блокировок (почти)

pgpro_redefinition - новое расширение, которое позволяет перестраивать таблицы без остановки приложения. Например секционировать большую таблицу, добавить колонку с default значением, разбить таблицу на 2 таблицы и даже создать копию таблицы на другом сервере СУБД.

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

  • Леонид Борчук
    Леонид Борчук Яндекс Разработчик
    40 мин

    Greenplum: командный центр вместо pg_stat_statements

    В greenplum используется отличный от PostgreSQL подход для сбора статистики выполнения запросов: вместо pg_stat_statements - командный центр. Командный центр - отдельное приложение. А значит нет необходимости хранить статистику в разделяемой памяти. Но нужно отправлять ее отдельному процессу. Расскажу: - как мы его реализовали; - почему использование grpc в postgreSQL - плохая идея и с какими еще проблемами мы столкнулись; - какие хуки было бы неплохо добавить в postgreSQL; - как не тормозить на отправке данных; - какие новые возможности появляются у отдельного приложения.

  • Анатолий Анфиногенов
    Анатолий Анфиногенов ВНИИЖТ Зам. директора научного центра - начальник отдела разработки ПО
    40 мин

    Диапазонные типы в Postgres

    После того, как импортозамещение состоялось, можно немного перевести дух и заняться дальнейшим развитием нашего приложения. При этом оказывается, что Postgres - это не упрощенная версия Oracle, как могло показаться некоторым в процессе миграции, а самобытная СУБД, заметно его превосходящая во многих вопросах.

    Поговорим о диапазонных типах - одном из бриллиантов в короне Postgres, про которые, как оказалось, знают далеко не все разработчики.

    Диапазонные типы позволяют эффективно решать задачи, которые в реляционной модели традиционно решались довольно громоздко; например, ведение календарей событий или объектов, поддержка версионности объектов, поиск перекрывающихся или покрывающих диапазонов, построение огибающей для системы ограничений, проверка выполнения сложных диапазонных условий и т.п.

    В докладе рассматривается решение нескольких типовых для диапазонных типов задач, что может быть полезно при проектировании новых и развитии существующих приложений.

  • Андрей Черняков
    Андрей Черняков UIS, CoMagic Разработчик баз данных, техлид
    40 мин

    pg_migration - система работы с кодом, как не дать программистам все сломать

    Мы долгое время катили релизы на базы данных руками. Но когда их количество стало больше 50, выкладывать релизы руками стало больно, даже при наличии скриптов. Стало понятно, что нужен какой-то инструмент. Так как готовые инструменты нам не подошли, мы решили написать свою систему на основе пайплайнов ci/cd в gitlab.

    В результате получилась удобная система работы с кодом: - автоматические проверки практически не дают сделать что-то не правильно (plpgsql_check, авто-тесты и т.д.) - исключается возможность расхождения кода в живой БД и в репозитории - включает в себя несколько утилит (написанных на python), которые можно использовать как в пайплайнах, так и непосредственно из консоли - поддерживаются два режима раскатки релизов: по кнопке из gitlab и полностью автоматический (по ключевому слову auto_deploy в сообщении к коммиту)

  • Петр Петров
    Петр Петров Postgres Professional Ведущий инженер в группе производительности
    40 мин

    Инструменты диагностики и примеры оптимизации запросов

    Обработка запросов является неотъемлемой частью любой СУБД, влияющая на производительность информационной системы в целом. Важно максимально быстро находить проблемные запросы и знать способы их оптимизации. В данном докладе будут представлены различные модули для сбора и представления диагностической информации и рассмотрены часто встречаемые ошибки при написании запросов и методы их исправления.