title

text

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

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

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

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

Видео

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

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

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

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

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

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

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

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

  • Дарья Лепихова
    Дарья Лепихова Postgres Professional разработчик
    Алексей Дарвин
    Алексей Дарвин
    40 мин

    Новые возможности pg_ProBackup 3.0

    В новой версии изменен подход к взаимодействию с базой данных, за счет использования собственного репликационного протокола, при этом утилита продолжает работать с любой версией бд, как PG_PRO так и Postgres. Изменен формат бекап файла, а так же в утилите будет доступен полноценный SDK, использование которого облегчает интеграцию pg_probackup c партнерами. SDK поддерживает разработку приложений на C, C++, GoLang Дополнительно реализована возможность бекапа на ленту и включены все доработки и оптимизации работы с wal, cfs, Ptrack, S3 имеющиеся в версии 2

  • Александр Бурцев
    Александр Бурцев Skala^p Руководитель продукта Машина Баз Данных
    Алексей Власов
    Алексей Власов Skala-r Архитектор
    40 мин

    Аварийное восстановление Postgres Pro Enterprise в Машине Баз Данных Скала^р при помощи pg_probackup

    Мы поговорим об архитектурных решениях хранения резервных копий внутри Машины Базы Данных для Postgres (МБД.П). Сравним этот вариант СРК с реализацией подключения МБД.П к Машине Хранения Данных (МХД.О) c S3-интерфейсом. Расскажем о производительности двух этих решений и ограничениях. Обсудим функции, которые мы хотели бы видеть в Enterprise-версии pg_probackup для работы с СРК. Узнаем какие open-source-продукты уже реализуют часть этих функций, но проигрывают в деталях реализации и расскажем почему так происходит.

  • Александр Никитин
    Александр Никитин PGMechanix Администратор баз данных
    40 мин

    Миграция int-> bigint

    Довольно часто встречается ситуация, когда система начинает расти. И то, что раньше работало через какое-то время перестаёт работать. Именно так обстоит дело и с переполнением типов данных. Если в начале проекта хватало int4, то через какое-то время он может полностью исчерпаться и нужно переходить на bigint. В своём докладе я опишу то, с чем сталкивается ДБА, опишу путь решения подобной задачи и познакомлю с утилитой, которая значительно упростит выполнение подобного рода задач.