31 марта – 01 апреля
PGConf.Russia 2025
PGConf.Russia — крупнейшая конференция по PostgreSQL в России и СНГ. Технические доклады, демонстрации решений для работы с СУБД, мастер-классы, а также нетворкинг и обмен опытом с сообществом. Ежегодно участие в PGConf.Russia принимают сотни специалистов, среди них: администраторы баз данных, архитекторы, разработчики и тестировщики, IT-менеджеры.
Темы встречи
- Новости из мира PostgreSQL
- Мониторинг, отказоустойчивость и безопасность
- Облегченная миграция с Oracle, Microsoft SQL Server и других систем
- Оптимизация запросов
- Масштабируемость, шардирование и секционирование
- Искусственный интеллект в СУБД
- Совместимость PostgreSQL с другим ПО
Доклады
Архив докладов
-
Александр Попов Postgres Professional Инженер
Варианты хранения файлов в СУБД:
- Простые таблицы.
- Большие объекты pg_largeobject.
- pgpro_sfile — хранилище больших объектов pgpro_bfile.
-
Karel van der Walt MentalArrow Principal
В докладе расскажем о ручной миграции хранимых процедур и табличных функций из MS SQL Server в PL/pgSQL. Мы сознательно выбрали ручной перевод вместо использования расширений PostgreSQL с автоматической конвертацией. Причина — сложная бизнес-логика в коде T-SQL, для которой мы хотели получить чистый, читаемый PL/pgSQL-код.
В исходном T-SQL коде использовались:
- Комбинация хранимых процедур и табличных функций
- Табличные переменные и пользовательские табличные типы
- Рекурсивные Common Table Expressions (CTE)
- Опциональные параметры
Миграция потребовала:
- Приведения имен к стандартам PostgreSQL
- Переименования параметров и локальных переменных
- Маппинг табличных типов
- Маппинг табличных параметров в массивы
- Маппинг табличных возвращаемых типов в SETOF-запись
- Перевод логики между массивами и таблицами
В докладе мы пройдем путь миграции цепочки зависимых T-SQL-функций в PL/pgSQL, разберем особенности и обойдем подводные камни обоих языков
-
Андрей Черняков UIS, CoMagic Разработчик баз данных, техлид
Внесение изменений в таблицы под «боевой» нагрузкой — это всегда нетривиальная задача. Например, если нужно сменить тип колонки (int —>bigint, timestamp —> timestamptz) или переместить таблицу в другой tablespace, не потеряв изменения, которые происходили во время переливки данных.
А если таких таблиц сотни? С pg-transparent-alter-table это больше не проблема, и такие задачи решаются одной простой командой: $ pg_tat -h 0.0.0.0 -d mydb -c "alter table mytable alter column id bigint"
Возможности:
— можно указать любое количество команд alter table за раз;
— можно менять партицированные таблицы, поддерживается старый механизм через наследование, новое декларативное партицирование, многоуровневое партицирование;
— можно прервать выполнение на любой стадии и продолжить позже, не теряя прогресс предыдущих стадий;
— можно в любой момент передумать, остановить выполнение, выполнить "pg_tat --clean" и вернуться к первоначальному состоянию;
— есть кастомная команда смены порядка колонок;
— поддержка версий PostgreSQL 11–17.
За более чем 5 лет существования (раньше назывался transparent-alter-type) проект стал надежным инструментом, который активно используется в продакшене. Хочу поделиться опытом и рассказать про его возможности.
-
Игорь Мельников My home Владелец
В любой бизнес-критичной системе возникает задача изменения структуры таблиц, например, добавление новых столбцов cо значением выражения, зависящего от других столбцов или превращение несекционированной таблицы в секционированную.
Если решать задачу реорганизации структуры больших таблиц стандартными средствами PostgresSQL, это вызовет большой downtime приложения — на всё время реорганизации таблица будет недоступна на запись, а в некоторых случаях и на чтение.
В докладе автор представит dbms_redefinition — расширение собственной разработки, которое реализует функциональность, аналогичную одноименному пакету в Oracle, позволяет снизить до минимума (near zero) downtime на период применения к БД прикладных обновлений, меняющих структуру таблиц.
В PostgreSQL данная технология отсутствует. Расширение pg_repack НЕ позволяет изменить структуру таблицы. Поэтому dbms_redefinition будет интересен всем пользователям СУБД, вне контекста миграции с Oracle. Я расскажу про использование пакета на примере реальной задачи, обсужу планы по развитию решения и добавление новой функциональности.
Фотографии
Архив фотографий