Доклады
-
Алексей Мигуцкий Руководитель отдела миграции баз данныхААлександр Рулинский Инженер-программист
Миграция с SQL Server на PostgreSQL: сложности и подводные камни при переносе кода на уровне базы данных
В докладе будут рассмотрены ключевые аспекты миграции с SQL Server на PostgreSQL с акцентом на преобразование процедур, триггеров, представлений, функций и других объектов базы данных. Обсудим специфические особенности каждой СУБД, которые могут вызвать сложности при конвертации кода, а также неочевидные и интересные моменты, влияющие на производительность и корректность работы. Доклад будет интересен как опытным специалистам в сфере СУБД и миграций СУБД, так и новичкам.
-
Константин Ратвин МФТИ Преподаватель
Сравнение Enterprise Manager различных форков PostgreSQL
Многие компании в РФ хотят закрепиться на рынке реляционных СУБД, создавая свои коммерческие решения. Чаще всего это форки ванильной PostgreSQL. Однако помимо СУБД, заказчикам нужно графическое средство управления — Enterprise Manager. Его форкнуть крайне затруднительно,поэтому приходится разрабатывать с нуля с оглядкой на конкурентов.
В докладе будет приведён обзор Enterprise Manager от различных отечественных вендоров СУБД. Я сравню их основные характеристики: функциональность, удобство пользования, визуал. Постараюсь дать ответ на вопрос, какой Enterprise Manager можно признать наиболее удачным.
-
Павел Лузанов Postgres Professional Руководитель образовательных программ
PostgreSQL 18
Перечислить все важные изменения 18-й версии во время выступления будет достаточно проблематично, если не сказать больше. Ведь заморозка кода состоится через неделю после доклада. Но вполне реально рассказать о том, что уже принято. А интересных изменений в области производительности, мониторинга, очистки (куда же без нее) и не только уже набралось немало.
По традиции доклад строится на материалах серии статей с обзором коммитфестов 18-й версии, которые публикуются в корпоративном канале Postgres Professional на Хабре.
-
Christopher Travers OneMoreData CEO
Managing Petabytes of Logs in PostgreSQL
Where I used to work, we had pushed ElasticSearch to its breaking point. We needed an even more scalable replacement for a write-heavy, read-seldom workload. So we built one on PostgreSQL. Now, many of us are building the successor as an open source project. This talk goes over the design of Bagger (named after the giant mining machines), which can manage logs into tens or hundreds of petabytes. More than just a review of the architecture, this talk focuses on the whys and the tradeoffs made in the design. The talk is intended both to showcase how programmable and powerful PostgreSQL is, but also illustrate the fundamental tradeoffs which must be faced when pushing any technology into the big data space.
-
Вячеслав Малютин ГНИВЦ Главный разработчик БД
Юнит-тесты в БД + ускоренная разработка
Бывает, что бизнес-логика реализована в БД. При этом всем известно, что поддержка и разработка бизнес-логики идёт намного проще, если она покрыта тестами. В свою очередь тесты бэка считают БД внешним ресурсом и не всегда работают с «живой» БД. В этом докладе будет рассмотрена доработанная библиотека pgTap. Эта разработка может организовать не только юнит-тестирование и CI кода в БД, но даже ускорит саму разработку.
-
Алексей Светличный Т-Банк Руководитель отдела - Databases
Миграция с Oracle: большая нагрузка и много шардов
Десятки PostgreSQL пришли на место одному большому Oracle. Одна из ключевых бизнес-систем была переработана и полностью перестроена на рельсы импортозамещенного решения. Особенности, архитектура, проблемы и эксплуатация — будет очень интересно!
-
Александр Попов Postgres Professional Инженер
Хранение файлов в Postgres
Варианты хранения файлов в СУБД:
- Простые таблицы.
- Большие объекты pg_largeobject.
- pgpro_sfile — хранилище больших объектов pgpro_bfile.
-
Андрей Бородин Яндекс Postgres Contributor
Сжатие WAL
Сейчас WAL-файлы сжимаемы с коэффициентом сжатия до 6. Потому что существующая система сжатия неэффективна. В докладе я расскажу о своей работе по сжатию WAL’а.
-
Игорь Косенков Postgres Professional Архитектор решениймастер-класс 90 мин
Мастер-класс по созданию отказоустойчивого кластера СУБД PostgreSQL 17 на Corosync/Pacemaker с отказоустойчивой логической репликацией
На мастер классе будет создан "с нуля" отказоустойчивый кластер СУБД PostgreSQL 17. Будет настроена логическая репликация на узел вне кластера. Будут проведены испытания и продемонстрирована новая возможность PostgreSQL 17 - отказоустойчивость слота логической репликации.
Запись на мастер-класс доступна только для подтверждённых офлайн участников PGConf.Russia 2025
-
Сергей Зимин Postgres Professional Старший консультантмастер-класс 30 мин
Мастер-класс по работе с CFS
НЕОБХОДИМО С СОБОЙ ИМЕТЬ НОУТБУК! Небольшой мастер-класс по тонкостям работы с CFS: - как работать с CFS через PPEM; - как оценить насколько сожмутся Ваши данные; - как их сжать; - как оценить реальную степень сжатия; - как меняется сжатие при изменении данных; - как работает "сборщик мусора". Ориентировочное время мастер-класса 20-30 минут.
Запись на мастер-класс доступна только для подтверждённых офлайн участников PGConf.Russia 2025
-
Иван Чувашов DBA Ведущий администратор баз данных
Как обновляли PostgreSQL с 350 тыс. таблиц
Всем известно, что для быстрого обновления PostgreSQL нужно использовать инструмент pg_upgrade. Однако даже в этом случае бывают ситуации, когда невозможно уложиться в какое-то нормальное время обновления. В нашем случае, чтобы выполнить обновление в СУБД PostgreSQL, которое содержит 350 тыс. таблиц, пришлось либо ждать 3 с половиной часа, либо найти другой способ обновления. Мы немного покопались в исходниках утилиты pg_upgrade и нашли вариант, когда процесс обновления можно ускорить в несколько раз. Об этом способе мы вам и расскажем.
-
Евгений Бузюркин Postgres Professional Младший специалистДарья Барсукова НГУ студентРРустам Хамидуллин Postgres Professional Младший специалист
Статистический анализ результатов бенчмарков
При нагрузочном тестировании PostgreSQL бенчмарки замеряют время исполнения запроса (latency). Для более объективного результата запрос выполняется большое количество раз — из этого получается некоторый набор latency. Для оценки производительности PostgreSQL на данном запросе можно использовать стандартные методы, такие как медиана или среднее, но мы предлагаем использовать более комплексный подход. Как показала практика, такие выборки часто бывают мультимодальными и состоят из различных распределений с некоторыми параметрами.
В таких случаях стандартных методов становится недостаточно, необходимо анализировать составляющие по отдельности. Результатом работы является инструмент, позволяющий автоматически проводить статистический анализ результата бенчмарка с учетом особенностей каждого набора данных, в том числе выявлять мультимодальность, количество и границы преобладания каждой моды, а также параметры распределений.
-
Дмитрий Васильев OZON Эксперт по разработке информационных систем
Новый opensource-пулер pg_doorman
Почему пулеры играют ключевую роль в процессе эксплуатации базы данных PostgreSQL? Обсудим проблемы, с которыми столкнулись при использовании и внедрении существующих пулеров, и преимущества, которые мы получили, создав собственный пулер.
-
Игорь Мельников My home Владелец
Изменение структуры таблиц в PostgreSQL с помощью технологии DBMS_REDEFINITION
В любой бизнес-критичной системе возникает задача изменения структуры таблиц, например, добавление новых столбцов cо значением выражения, зависящего от других столбцов или превращение несекционированной таблицы в секционированную.
Если решать задачу реорганизации структуры больших таблиц стандартными средствами PostgresSQL, это вызовет большой downtime приложения — на всё время реорганизации таблица будет недоступна на запись, а в некоторых случаях и на чтение.
В докладе автор представит dbms_redefinition — расширение собственной разработки, которое реализует функциональность, аналогичную одноименному пакету в Oracle, позволяет снизить до минимума (near zero) downtime на период применения к БД прикладных обновлений, меняющих структуру таблиц.
В PostgreSQL данная технология отсутствует. Расширение pg_repack НЕ позволяет изменить структуру таблицы. Поэтому dbms_redefinition будет интересен всем пользователям СУБД, вне контекста миграции с Oracle. Я расскажу про использование пакета на примере реальной задачи, обсужу планы по развитию решения и добавление новой функциональности.
-
Андрей Бородин Яндекс Postgres Contributorмастер-класс 30 мин
Сборка эксплойтов для исторических CVE
С собой необходимо иметь ноутбук! На мастер-классе попробуем атаковать базу данных с историческими уязвимостями. Для примера будут взяты три уязвимости, я расскажу в чем чуть этих уязвимостей и попробуем сделать подход к их взлому. Бери с собой ноутбук с возможность docker-compose, например colima.
Запись на мастер-класс доступна только для подтверждённых офлайн участников PGConf.Russia 2025
-
Максим Грамин Postgres Professional Системный аналитик
Портим данные с удовольствием
Каждый день тысячи инженеров прилагают нечеловеческие усилия, чтобы сделать наши данные более достоверными, точными и актуальными. Однако, иногда необходимо поступить наоборот — испортить их.
Например, скрыть или заменить чувствительные данные, а иногда даже сгенерировать их с чистого листа, сохранив при этом бизнес-свойства данных. Это может понадобиться для тестирования систем, передачи данных третьим лицам и в других случаях. И, оказывается, это тоже достаточно сложная задача (учитывая сложность схемы данных и нетривиальные бизнес-требования).
В докладе рассмотрим основные проблемы искусственных данных и попробуем их решить разными способами, используя встроенные возможности PostgreSQL и сторонние расширения
-
Александр Попов Postgres Professional Инженер
-
Алексей Лесовский Postgres Profesional Head of PPEM Development
Мониторинг PostgreSQL c OpenTelemetry
Postgres Professional в 2024 году выпустила новый инструмент сбора данных с PostgreSQL на базе технологий и стандарта OpenTelemetry — pgpro-otel-collector.
В докладе я расскажу, почему мы выбрали OpenTelemetry, какие возможности представлены в pgpro-otel-collector и как эти возможности позволяют решать задачи сбора телеметрии в инфраструктуре мониторинга. -
Вадим Лактюшин Postgres Professional Ведущий инженерММихаил Сироткин Postgres Professional Младший специалистмастер-класс 120 мин
Мастер-класс по работе с расширением pg_uprobe. Трассирование запросов и их анализ
На прошлой конференции PgConf мы представили наше новое расширение pg_uprobe. Мы выложили это расширение в открытый доступ и хотим показать, что в нём нового и как им пользоваться.
В рамках мастер-класс вы узнаете:
• В каких случаях может пригодиться это расширение
• Как установить и настроить расширение
• Как включить трассировку запросов
• Как профилировать функции PostgreSQL
• Как анализировать полученный отчётПожелание к слушателю:
• Linux или установленный Docker
• Установленный PostgreSQL 16, если LinuxЗапись на мастер-класс доступна только для подтверждённых офлайн участников PGConf.Russia 2025
-
Дмитрий Ремизов ГНИВЦ архитектор
Танцы с бубнами вокруг FK (некоторые аспекты создания и валидации внешних ключей)
Доклад описывает проблемы, с которыми мы столкнулись (и решили) в процессе миграции данных очень больших СУБД — с Oracle на Postgres.
Одной из тяжёлых частей такого процесса является пересоздание FK. В процессе разрешения проблем пришлось углубиться в некоторые внутренние особенности процесса создания/валидации внешних ключей. Например, есть ли execution plan у ALTER TABLE ... ADD CONSTRAINT ... FOREIGN KEY .. ? Можно ли на него повлиять простому смертному? Какие блокировки накладываются при создании/валидации FK?
Также в докладе представим метод, позволяющий исследовать проблемы производительности процесса из первых принципов. Этот метод будет использован при исследовании некой частной проблемы с производительностью создания внешних ключей.
-
Тофиг Алиев Postgres Professional Младший разработчик
Не Pgbouncer, но пулер. Не Odyssey, но с корутинами.
Если вы настраивали отказоустойчивый кластер Postgres, то сталкивались с необходимостью перенаправления пользовательского трафика на пишущий узел после аварии на основном узле и переключения на резервный.
Скорее всего, для решения этой задачи вы настраивали дополнительное ПО, которое отслеживало состояние вашего отказоустойчивого кластера и перенаправляло трафик на нужный узел. Чтобы это ПО не превратилось в единую точку отказа, вы разворачивали дополнительную логику по обработке сбоев уже на этом слое. Кроме того, возможно, вы сталкивались с ограничениями Postgres по одновременной обработке большого количества клиентских сессий и с необходимостью пулинга запросов.
Мы разработали расширение Proxima, которое снимает необходимость в настройке и администрировании дополнительного программного обеспечения. Proxima — масштабируемый, отказоустойчивый прокси-сервер и пулер соединений, способный перенаправлять трафик на пишущий узел, а при работе с BiHA переключение на новый пишущий узел в случае аварии происходит автоматически.
В докладе я расскажу, как мы делали Proxima, какие архитектурные решения заложены в расширение, почему мы выбрали именно такой подход. Разберем тонкости реализации, которые позволили нам обрабатывать более 10 тысяч одновременных клиентских сессий. Рассмотрим примеры использования и ответим на ваши вопросы
-
Петр Петров Postgres Professional Ведущий инженер
Примеры оптимизации запросов, часть 2
Сейчас СУБД — неотъемлемая часть любой информационной системы и обработка запросов напрямую влияет на её производительность.
В прошлом году был сделан доклад с примерами неоптимальных запросов и способами их оптимизации. Тема оказалась востребованной, есть материал для дальнейшего обсуждения.
Во второй части рассмотрим использование расширенной статистики по вычисляемому столбцу, постраничную обработку и примеры оптимизации запросов из мира 1C.
-
Михаил Жилин
Как PostgreSQL может сделать больно, когда не ожидаешь
Время выполнения SQL-запросов зависит от наличия индексов, актуальной статистики и т. п. Большинство проблем с производительностью СУБД решаются оптимизацией самых медленных запросов. Но увы, бывают ситуации, когда классическая оптимизация запросов не приносит желаемого успеха. Система продолжает себя вести неадекватно, а бывают случаи, когда система падает, и это вызывает слёзы, крики, депрессию.
В данном докладе расскажем, как такие проблемы решают performance-инженеры из компании Postgres Professional, какой инструментарий используется, чего им в жизни ещё не хватает и куда они двигаются.
-
Роман Катунцев Ведущий разработчикДДмитрий Муканин Директор по продукту
Как мы делали объектный интерфейс к SQL-базе в Stappler SDK
Что необходимо дать современному прикладному разработчику, чтобы он перешёл из привычных облачных решений к использованию SQL-БД? Практический отчёт о том, как превратить базу данных на SQL в NoSQL-решение с привычным для прикладных разработчиков интерфейсом. Речь идёт о том, что ожидает прикладной разработчик от фреймворка для работы с данными, и как это реализовать поверх интерфейса SQL, в частности, декларативный DDL, контроль доступа, автоматизацию при записи и получении данных, упрощённый DML, пагинацию и другие функции, необходимые в прикладной разработке.
-
Karel van der Walt MentalArrow Principal
Translating (MS SQL Server) T-SQL to PL/pgSQL
Experience Report addressing the manual migration of MS SQL Server Stored Procedures and Table-Valued Functions to PL/pgSQL. We chose a manual migration from T-SQL over using a PostgreSQL Extension with an automated translation. The motivation was that the T-SQL code contains non-trivial business logic for which we wanted idiomatic PL/pgSQL code. The T-SQL Code used features like -Mix of Stored Procedures and Table-valued Functions -Table variables, (user-defined) table types -Recursive Common Table Expressions -Optional parameters The migration required -Adopting naming conventions -Renaming parameters and local variables -Maping table types -Mapping table-valued parameters to arrays -Mapping table-valued return types to SETOF record -Translating between arrays and tables In this session we will migrate a chain of dependend functions T-SQL functions to PL/pgSQL. We will work around quirks in both T-SQL functions and PL/pgSQL.
-
Александр Овчинников ФКУ "Налог-Сервис" Администратор СУБД PostgreSQL
Способы диагностики на примере анализа проблемы длительного выполнения CREATE DATABASE
Доклад содержит рассмотрение двух случаев длительного выполнения create database в PostgreSQL 11, которые в кластерной конфигурации Corosync/Pacemaker приводили к переключению нод из-за таймаута мониторинга от кластерного ПО. Первый случай связан с большим размером shared buffers, а второй — с использованием опции WITH OWNER при создании БД и большим размером системной таблицы pg_shdepend (особенность использования ПО jBPM).
-
ППавел Филин YADRO Менеджер продукта TATLIN.BACKUP
Специальная универсальная и эффективная система хранения для резервного и архивного хранения Postgres — YADRO TATLIN.BACKUP
Для DBA всегда актуален вопрос обеспечения защиты и целостности базы данных. И всегда где-то рядом требование — хранить эффективно/компактно, не нагружать сеть и гарантировано восстанавливаться.
Мы обсудим универсальное решение для хранения резервных копий и архивов не только с эффективной дедупликацией, но и возможностью минимально нагружать сеть: TATLIN.BACKUP — платформа для хранения резервных копий или WAL-архивов PostgreSQL с компрессией, дедупликацией и минимальной передачей данных по сети.
TATLIN.BACKUP — универсальное решение для передачи и хранения архивов PostgreSQL на удаленных площадках из центрального офиса.
-
Юрий Жуковец Digital Design Эксперт-аналитик по базам данных
Перевод с SQL на PG и опыт эксплуатации СДУ «Приоритет» на примере высоконагруженного заказчика с объемом БД 8+ ТБ структурированных данных
В докладе:
— Представим опыт переработки СЭД и платформы на основе которой реализована система на C.Net + MS SQL на Windows для работы на Linux + Postgres. С сохранением возможности установки и работы на Win+MS.
— Расскажем о переводе заказчиков на новые платформы с миграцией данных.
— Поделимся опытом эксплуатации системы на примере высоко нагруженного заказчика (сервера PG 192 ядра 3 ТБ ОП).
-
Дмитрий Фатов
Многопоточная вставка данных в БД: от скорости к атомарности. Spring + PostgreSQL
Многие разработчики часто сталкиваются с проблемами производительности разрабатываемых систем. Одно из распространенных решений для оптимизации медленного бизнес-процесса — его распараллеливание. Однако что делать, если узким местом становится вставка данных в БД, требующая сохранения своей атомарности?
В докладе расскажу, как можно ускорить вставку данных при помощи распараллеливания этого процесса в Spring, а также как сохранить атомарность всей операции. Затронем batch update в Spring и PostgreSQL, обсудим, почему обновление — это тяжелая операция и как можно ускориться в текущем технологическом стеке. Кроме того, рассмотрю другие подходы к сохранению атомарности и покажу различия между ними в бенчмарках.
Будет полезно практикующим инженерам.
-
Владимир Комаров Сбербанк-Технологии Архитектор
Кинцуги — новый инструмент администратора БД
Консолей администратора существует множество — от старорежимного DBeaver до всепроникающего pgAdmin. Тем не менее, мы решили сделать ещё одну. Зачем?
Из доклада вы узнаете:
— Как одна инсталляция может обслуживать несколько десятков тысяч экземпляров БД
— Сколько пользователей может поддержать консоль
— Как провести инвентаризацию инфраструктуры и не сойти с ума
— Как вписаться в привычное окружение, не заставляя переделывать всё с нуля
— Как построить модель безопасности, чтобы тебе доверяли ведущие банки и телеком-операторы
— И наконец — как потрогать всё это руками
-
Алексей Фадеев sibedge Ведущий разработчик .NET
ORM "LINQ to DB": Merge, Select For Update, Copy и другое
Два года назад я рассказывал про запросы на получение данных — здесь библиотека LINQ to DB дает почти неограниченные возможности.
Этот доклад — об операциях модификации данных. LINQ to DB позволяет выполнять запросы UPDATE + JOIN, INSERT FROM SELECT, поддерживает оператор MERGE, блокировку на уровне строк SELECT FOR UPDATE, создание временных таблиц, имеет механизм скоростной вставки больших объемов данных.
Также расскажу про проект linq2db. EntityFrameworkCore — решение для тех, кто не готов уходить с EF Core и при этом хочет получить возможности LINQ to DB. Поделюсь опытом внедрения LINQ to DB в крупный проект. -
Александр Попов Postgres Professional Инженермастер-класс 120 мин
Работа с Shardman
С собой необходимо иметь ноутбук!
На мастерклассе будет показано как горизонтально масштабировать данные на примере базы Авиаперевозок (https://github.com/hettie-d/postgres_air) с использованием sharman-а. Преимущества и недостатки различных подходов.
Требования к участникамБазовые знания linux
Базовые знания postgresql
Написание простых запросов
Чтение планов запросов
Умение запустить pgbench
Знание команды copyЗапись на мастер-класс доступна только для подтверждённых офлайн участников PGConf.Russia 2025
-
Антон Дорошкевич Инфософт Руководитель проектов
Закрывай месяц в 1С ERP на PostgreSQL быстро и незаметно
Проблема долгого закрытия месяца и расчета себестоимости на PostgreSQL остро стоит давно. В ходе доклада рассмотрим, что нам предлагают современные версии PostgreSQL в этом плане, а также ответим на вопрос: «Тормозят ли реплики работу мастера?».
Посмотрим в этом разрезе на разные типы физической репликации и на десерт посмакуем рецепт быстрого, безболезненного закрытия месяца в 1С без влияния на оперативную работу пользователей.
-
Алексей Гордеев Postgres Professional R&D engineer
Реализация табличного движка с нуля. Новый TableAM для OLAP.
Расскажу, какие трудности будут на вашем пути, если захотите реализовать новый TableAM. Что выбрать: Generic XLog или Custom RMGR? Зачем Custom SMGR? Как подключить постгресовые аллокаторы в стороннюю либу, даже если она этого вообще не поддерживает? Чего не хватает для колоночного движка (в том числе про векторизацию и позднюю материализацию) и как обойти ограничения?
Во второй части расскажу о внутренностях pgpro_tam — нового нативного табличного движка для OLAP, который поддерживает общепринятые форматы данных, различные SMGR, а если потребуется, то и сторонние планировщики и движки исполнения, находясь в рамках ACID. Всё это для получения самой быстрой аналитики на Postgres (не просто прикрутить DuckDB).
-
Николай Баушенко ПАО ВТБ Эксперт
Карта видимости в PostgreSQL: принцип работы, механизмы и особенности
Карта видимости в PostgreSQL — это важный механизм для оптимизации работы с базой данных, который ускоряет операции чтения, очистки данных и индексации. Несмотря на некоторые ограничения, такие как потребление памяти и фрагментация, её использование позволяет значительно повысить производительность в высоконагруженных системах. Эффективное использование карты видимости требует правильной настройки и мониторинга, что особенно важно в системах с большим объёмом данных и высокой параллельностью транзакций.
-
Дмитрий Дорофеев ГК Luxms Главный конструктор
Общение с внешним миром прямо из PostgreSQL: http, Redis, NATS.
В этом докладе я буду ломать архитектурные стереотипы о недопустимости коммуникации с внешним миром прямо из СУБД. PostgreSQL обладает огромными коммуникационными возможностями, просто нужно знать, какие расширения использовать.
А когда расширений не хватает — можно написать своё. Для проекта Luxms BI нам понадобилось общение с NATS, и мы создали своё расширение на языке Rust. Поделюсь ссылкой на GitHub и впечатлениями о разработке расширения для PostgreSQL на Rust в этом докладе.
-
Андрей Забелин Postgres Professional Старший технический консультантмастер-класс 90 мин
Workshop: отказоустойчивый кластер BiHA
НЕОБХОДИМО С СОБОЙ ИМЕТЬ НОУТБУК! Мастер-класс по созданию и конфигурированию отказоустойчивого кластера BiHA.
Запись на мастер-класс доступна только для подтверждённых офлайн участников PGConf.Russia 2025
-
Екатерина Соколова Postgres Professional Разработчик
PostgreSQL: истории, оставленные между строк кода
Столько слов было сказано о PostgreSQL как о результате работы его программного кода. Но Postgres — это не только код. Это люди, которые его создают, развивают и... Оставляют в нём частичку себя через комментарии.
Какие истории нам могут рассказать комментарии к коду PostgreSQL? Узнаем, какое слово самое популярное, какие комментарии остались в коде с самого первого публичного коммита, как меняется стиль общения с развитием продукта и как за строчками кода и комментариев увидеть человека.
-
Алексей Дарвин Postgres Professional менеджер продукта
Новые возможности утилиты pg_probackup
Проведем обзор возможностей утилиты резервного копирования pg_probackup3.
В новой версии полностью переосмыслена архитектура самого приложения, добавлен ряд долгожданных фич и возможности интеграции с другими приложениями. Об этом и поговорим в докладе.
-
Abhinav Sagar Senior Database Architect
Migrating from Oracle PL/SQL to PostgreSQL PL/pgSQL : Navigating Differences and Optimization Challenges.
In today’s rapidly evolving technology landscape, PostgreSQL has emerged as a popular choice for organizations seeking to leverage the power of open-source databases while maintaining scalability, performance, and flexibility. As enterprises migrate from proprietary database systems like Oracle to PostgreSQL, developers face the challenge of adapting existing PL/SQL codebases to PL/pgSQL. Despite the similarities between these two procedural languages, significant differences in their syntax, performance characteristics, and ecosystem features require a thoughtful approach to migration and optimization. This session will focus on highlighting the key differences between Oracle’s PL/SQL and PostgreSQL’s PL/pgSQL, providing actionable insights on how to efficiently navigate these differences during migration. A deep dive will be taken into critical areas including compilation methodology, Code Debugging , Exception Handling, work_mem , Bulk Load and more.
-
Наталия Кокунина Postgres Professional Младший разработчикДДмитрий Бондарь Postgres Professional Младший разработчик
Как BiHA уведомляет о событиях в кластере. Применение в Proxima
В прошлом году мы сделали встроенную поддержку отказоустойчивости в Postgres Pro Enterprise — BiHA. Наше решение позволяет разворачивать отказоустойчивый кластер Postgres, в котором в случае сбоя пишущего узла новый пишущий узел (лидер) будет выбран автоматически.
При этом возникает проблема перенаправления трафика на нового лидера. Её можно решить с помощью нашего расширения Proxima или внешнего TCP-прокси сервера. И первое, и второе решение были вынуждены периодически опрашивать кластер BiHA для определения пишущего узла.
Как альтернатива, в новой версии BiHA появилась возможность зарегистрировать пользовательские функции, которые будут вызваны при возникновении таких событий в кластере, как смена лидера, добавление/удаление ноды и других. Этот механизм мы назвали пользовательские колбэки. В докладе мы расскажем, как реализованы колбэки и обсудим особенности их использования
-
Александр Степашкин Постгрес Профессиональный Инженер технической поддержки
Расширения, помогающие при оптимизации
Небольшой доклад про различные расширения, которые помогут при оптимизации.
-
Оксана Щеглова Руководитель центра технического сопровождения БФТ-Холдинг
-
Сергей Фуканчик Postgres Professional программистмастер-класс 40 мин
Запись на мастер-класс доступна только для подтверждённых офлайн участников PGConf.Russia 2025
-
Александр Бурцев Скала^р Руководитель Машин Баз Данных Postgres (МБД.П)
Отладка сложных сценариев ошибок при работе СУБД PostgreSQL в ОС Linux
Иногда возникают проблемы работы СУБД в ОС Linux. Определим классификацию таких сценариев и пути решения от простых до сложных. Какие сбои приводят к порче данных? Какие сценарии опаснее других, и на что стоит обращать внимание, мониторить? Рассмотрим примеры логирования в МБД.П Скала-Р и разберем сценарии отладки состава библиотек ОС, ядра Linux, драйверов и модулей ядра для поиска причин ошибок и их устранения.
-
Владимир Ситников
Выбирай с умом: SQL, ORM или JSON?
Какой способ выборки данных в PostgreSQL работает быстрее: несколько простых SQL-запросов, ORM (Hibernate, jOOQ) или единый запрос с JSON-агрегацией? В этом докладе мы разберём несколько стратегий извлечения данных, сравним их производительность и обсудим подводные камни. Рассмотрим, как ORM-инструменты (Hibernate, jOOQ) справляются с one-to-one- и one-to-many-связями, какие накладные расходы возникают при использовании JOIN'ов, и почему выборка в JSON-формате может оказаться самым эффективным решением. Реальные бенчмарки, плюсы и минусы каждого подхода — всё это в нашем исследовании.
-
Степан Неретин Postgres Profesional Младший разработчикмастер-класс 60 мин
Запись на мастер-класс доступна только для подтверждённых офлайн участников PGConf.Russia 2025
-
Василий Пучков Postgres Professional Архитектор решениймастер-класс 90 мин
Мастер-класс "Интеграция кластера BiHA с корпоративным окружением"
С СОБОЙ НЕОБХОДИМО ИМЕТЬ НОУТБУК! 1. Интеграция с Haproxy 1.1 Опрос с помощью скриптов валидации 1.2 Изменение конфигурации с помощью функций-обработчиков 2. Резервное копирование с помощью pg_probackup 2.1 Настройка копирования с выделенного узла 2.2 Восстановление лидера по резервной копии ведомого 2.3 Восстановление любого ведомого узла 2.4 Восстановление при сбое всего кластера
Запись на мастер-класс доступна только для подтверждённых офлайн участников PGConf.Russia 2025
-
Александр Календарёв Datagile разработчик
Добавляем новый синтаксис на примере проекта postgres.ml
Доклад, скорее всего, будет интересен сетевым провайдерам, которые к своим крутым фичам могут добавить что-то в синтаксис, чтоб упростить администрирование, а также всем, кто интересуется машинным обучением. Будет рассмотрен механизм разбора SQL, что, где и как поменять, чтобы внедрить новые синтаксические конструкции. Также продемонстрирую возможности машинного обучения на табличных данных не выходя из базы с использованием нового синтаксиса.
-
Евгений Бредня Postgres Professional Руководитель технической поддержки
Ужасы сортировки, или Зачем в Postgres ICU
Обсудим, что такое кодировки и сортировки. Расскажу о проблемах, которые могут быть вызваны сортировкой (COLLATION) в базах данных, и представлю, как эти проблемы можно решить с помощью COLLATION PROVIDER = ICU.
-
Анатолий Анфиногенов АО "ВНИИЖТ" Заместитель директора научного центра – начальник отдела разработки ПО
«Которые тут временные? Слазь! Кончилось ваше время». Альтернативы временным таблицам в Postgres
Доклад о наболевшем и немного об архитектуре приложений. Временные таблицы в приложениях БД используют, как правило, для нескольких целей. Во-первых, они нужны для хранения промежуточных результатов при реализации сложных алгоритмов обработки данных. Во-вторых, в случае использования хранимых процедур именно во временные таблицы сервер приложений помещает данные большого объёма, которые невозможно или неудобно передавать через параметры хранимых процедур. Работа с временными таблицами в различных СУБД организована по-разному, что зачастую затрудняет миграцию из этих СУБД в Postgres. Недостатки временных таблиц широко известны, поэтому возникает обоснованное желание заменить их, по возможности, какими-то другими средствами, позволяющими решать ту же задачу. Доклад посвящён альтернативным механизмам для решения этой проблемы, которые предлагает Postgres.
-
ЕЕвгений Гарбуз Postgres Professional Инженер по тестированиюмастер-класс 40 мин
Мастер-класс с демонстрацией работы команды Merge в pg_probackup3
Мастер-класс с демонстрацией работы pg_probackup3
Запись на мастер-класс доступна только для подтверждённых офлайн участников PGConf.Russia 2025
-
Андрей Зубков Postgres Professional Руководитель отдела систем мониторинга
Исследование вакуума по расширенным статистикам
Уже больше года в выпусках Postgres Pro доступны расширенные статистики вакуума, которые отражают его работу на уровне отдельных отношений.
К нам начали попадать наблюдения, полученные на «боевых» базах клиентов с этими статистиками. Получилось удачно, в 2024 году мы активно начали продвигать статистики вакуума в PostgreSQL, а пока на примере данных, полученных с «живых» систем, рассмотрим, что могут рассказать нам эти статистики о непростой жизни вакуума. -
Вадим Войтенко Founder
Greenmask — opensource инструмент для создания тестового окружения и не только
Greenmask — это open source утилита для анонимизации баз данных и генерации синтетических данных. Классическая задача в разработке — создание тестовых окружений, которые максимально похожи на продакшен. Рассмотрим, как можно применить различные фичи Greenmask для подготовки тестового контура без боли. Обсудим его архитектуру, database subset, типы трансформаций, причины интеграции с драйвером PostgreSQL и портирования некоторых pg-библиотек. Обсудим, как наша технология позволяет бизнесу решать проблемы быстро, качественно и безопасно.
-
Ирина Токарева ОТР Технический архитекторССергей Кузнецов ОТР 2000 Архитектор
-
Андрей Черняков UIS, CoMagic Разработчик баз данных, техлид
pg-transparent-alter-table — изменение больших таблиц под нагрузкой без блокировок одной командой.
Внесение изменений в таблицы под «боевой» нагрузкой — это всегда нетривиальная задача. Например, если нужно сменить тип колонки (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) проект стал надежным инструментом, который активно используется в продакшене. Хочу поделиться опытом и рассказать про его возможности.
-
Борис Бондарев BI.Qube Главный архитектор
Реализация Data Vault при построении DWH на PostgreSQL и Greenplum: проблемы и решения
В центре внимания — проблемы построения прикладного решения на PostgreSQL, а именно высоконагруженного аналитического хранилища данных. На примере кейса компании ЕВРАЗ покажем эффект применения методологии Data Vault на СУБД PostgreSQL и Greenplum для разработки единой системы производственных показателей.
Расскажем о сложностях и решениях – демонстрация вариантов, планов запросов на задачах обновления справочников и других больших объектов, примеры оптимизаций. Покажем нюансы кода – проблемы заполнения модели и проблемы выборки из модели.
Это будет интересно всем, кто планирует использовать или уже сталкивается со сложностями применения методологии Data Vault и проблемами производительности DWH на стеке open source. Сравним варианты технической реализации модельного слоя business vault с учётом специфики PostgreSQL и Greenplum. Рассмотрим 5 реальных проблем, возникающих при эксплуатации DWH и их решение:
1. Перенос логики сборки объектов Business Vault с PostgreSQL на Greenplum.
2. Замедление ETL при сборке текущего состояния Business Vault в PostgreSQL.
3. Замедление построения Data Lineage в PostgreSQL и Greenplum.
4. Медленная работа при запросе сателлита в Greenplum.
5. Медленные запросы с «in» или «or» при обращении к слою Business Vault.
-
Premnath Jangam Sr Database Administrator
Massive Data Ingestion: A Head-to-Head Comparison of Oracle and PostgreSQL Performance and Scalability.
Data plays a vital role in daily operations for many organizations, organizations maintain updated data by performing various operations like data cleansing ,importing customer data and other similar operations , sometimes while working with massive data loads is challenging. Both Oracle and PostgreSQL systems has its advantages and challenges while working with bulk data loads , This talk underlines differences which will allow Database Administrators and Developers to tailor their approaches for planning , configuration , and understanding database features and optimizing performance of Data Ingestion. Effective use of Constraints. Role of Autovacuum Process. How to set work_mem ? Using LIMIT / OFFSET in bulk loads. Prepared Statements. UNLOGGED Tables. Temp tables Usage. Parallel Processing. Effectively Updating all the records of a specific Column with single value. COPY Command. Significance of Partition Table. On Conflict / Do Nothing.
-
Александр Буров Инверсия Ведущий программист
В докладе на примере реального проекта рассматриваются проблемы миграции прикладной системы из среды Oracle в Postgres. Подробно освещена логическая репликация данных из Postgres для обеспечения возможности возврата обратно на Oracle и поддержки работоспособности старой отчётности и интеграции.
В рамках процесса импортозамещения мы столкнулись с необходимостью поиска надежной альтернативы Oracle. СУБД PostgreSQL рассматривалась как основной кандидат на замену, однако в ходе исследования «ванильная» версия выявила ряд критических ограничений, мешающих успешному переходу.
Эти проблемы касались поддержки автономных транзакций, пакетных переменных и ряда других особенностей. В чём особенность pg_settings? Почему нам необходимы именно автономные транзакции и причём тут HOLD-курсоры? Это и многое другое мы расскажем в нашем докладе, а также поделимся своим опытом внедрения Postgres Pro Enterprise.
-
Александр Никитин ЗАО «ЦФТ» Администратор баз данных
Работа с логической репликацией
Работа DBA бывает очень многогранной: бэкапы, обновления версий, проблемы с производительностью, — перечислять можно долго. Но иногда из-за занятости мы не обращаем должного внимания на нововведения, которые не относятся напрямую к тому, что мы делаем каждый день. Так получилось и с логической репликацией.
Конечно, каждый из нас обладает какими-то навыками работы с этим инструментом, но PostgreSQL — очень динамично развивающаяся СУБД. И иногда нужно просто посмотреть вокруг свежим взглядом — можно увидеть что-то новое.
На этом и будет основан мой доклад: мы начнём с теории (как всегда, подход — меньше теории, больше практики) и простых примеров, затем перейдём к более сложным примерам работы. Обратим особое внимание на то, что изменилось в современных версиях PostgreSQL.
Доклад будет полезен тем, кто хочет познакомиться с логической репликацией или обновить свои знания по этому инструменту.
-
Александр Любушкин ФОРС Телеком Технический директор
Из Oracle в Postgres и обратно
В докладе на примере реального проекта рассматриваются проблемы миграции прикладной системы из среды Oracle в Postgres. Подробно освещена логическая репликация данных из Postgres для обеспечения возможности возврата обратно на Oracle и поддержки работоспособности старой отчётности и интеграции.