История о разработке инструмента управления изменениями в БД или чего нам не хватило в Liquibase и Flyway
В докладе расскажем как мы храним объекты БД в системе контроля версий. Сравним традиционные подходы работы с миграциями БД и то, что понравилось нам. Расскажем о преимуществах и недостатках обоих методов. А потом мы представим наш инструмент для автоматизации процессов миграции и управления объектами БД - pgmig.
Слайды
pgConf2023_pgmig_v3.pptxВидео
Видео доступно участникам мероприятия, выполнившим вход в личный кабинет
Другие доклады
-
Анатолий Анфиногенов АО "ВНИИЖТ" Зам. директора научного центра - начальник отдела разработки ПО
Вакуумотерапия: лечим хронические заболевания БД
После импортозамещения и перехода с СУБД Oracle на PostgreSQL мы столкнулись как с "детскими" болезнями нашего приложения на новой СУБД, которые успешно вылечили, так и с "хроническими заболеваниями", с которыми пришлось разбираться существенно дольше. Одной из наиболее запомнившихся проблем стала проблема деградации производительности, которая, как выяснилось, была вызвана недостаточным вакуумированием нашей БД. Опыт осознания и решения этой проблемы предлагается вашему вниманию в виде практических рекомендаций по борьбе с эффектом bloat для таблиц и индексов БД, а также настройке VACUUM/autovacuum PostgreSQL.
-
Андрей Бородин Яндекс.Облако Руководитель подразделения разработки РСУБД с открытым исходным кодом
Обзор некоторых интересных исторических уязвимостей Postgres
Я совсем не security-специалист. Но от этого будет только понятнее! Я разобрался в наиболее интересных уязвимостях старых версий Postgres и расскажу как они работали.
-
Сергей Мокеев Maxim Technology Технический директор
pgCodeKeeper - инструмент для организации современного процесса разработки БД
Современные языки программирования “из коробки” предоставляют удобные средства по организации процесса разработки, тестирования и доставки изменений. Но как быть если хочется тех же возможностей при разработке структуры БД и кода хранимых процедур и функций?
В докладе я расскажу о созданном нами инструменте для работы с кодом внутри БД. И как на его основе мы организовали процессы разработки баз данных с автоматическим тестированием и автоматической доставкой изменений на боевые экземпляры баз данных.
-
Алексей Фадеев Sibedge Старший разработчик .NET, евангелист Postgres.
ORM LinqToDb: используем возможности Postgres по максимуму
ORM-библиотеки широко используются при разработке бэкенда – примем это как данность. ORM-библиотеки совершенствуются, разработчики учатся на своих и чужих ошибках, и многие научились писать код для ORM, генерирующий вполне оптимальные запросы для типовых операций. Но есть ещё одна проблема ORM – ограниченность инструментов. Особенно это актуально для Postgres, имеющего массу операторов и конструкций (как в ядре, так и в расширениях), выходящих за рамки стандарта SQL.
ORM-библиотека LinqToDb имеет важную особенность: она позволяет очень просто (буквально в одну строку) писать расширения, реализующие любой SQL-оператор или конструкцию. Полнотекстовый поиск, KNN, CTE (в том числе рекурсивные), работа с массивами и jsonb, array_agg и jsonb_object_agg, табличные функции и LATERAL JOIN – всё это без труда можно использовать в ORM, что я и продемонстрирую в данном докладе!