Dev48
ЯЗЫК
  • О нас
  • Услуги
  • Индустрии
  • Технологии
  • Статьи
  • Контакты
Забронировать звонок
    Главная/Статьи/Nedelya postgres v niderlandah pgday lowlands i percona live 2026
Dev48

© 2026 · All rights reserved.

Неделя Postgres в Нидерландах: PGDay Lowlands и Percona Live 2026

Источник: ClickHouse

Неделя Postgres в Нидерландах: PGDay Lowlands и Percona Live 2026

Источник: ClickHouse

Заметки о трех днях в Нидерландах, включая блиц-доклад о pg_clickhou e и pg_ tat_ch на PGDay Lowland и сессию по мониторингу Po tgreSQL 19 на Percona Live в Амстердаме.

25 сентября 2026 г.

На прошлой неделе я провел три дня в Нидерландах и выступил с двумя докладами на двух конференциях: блиц-доклад на PGDay Lowlands в Утрехте в четверг, 10 сентября, и сессия на Percona Live в Амстердаме в пятницу, 11 сентября. В этом посте я поделюсь своими заметками с обоих мероприятий.

Как это часто бывает с конференциями (да и с любыми крупными событиями), перед тем как мы смогли туда попасть, пришлось преодолеть небольшое препятствие. В среду, 9 сентября, всего за день до PGDay Lowlands, общенациональная 24-часовая забастовка работников общественного транспорта остановила поезда, автобусы, трамваи и метро по всей стране. Не самая лучшая разминка для конференции, привлекающей людей со всего мира, но к утру четверга движение возобновилось, и день прошел по плану. Ура!

PGDay Lowlands — это однодневная голландская конференция по PostgreSQL (хотя все доклады проходят на английском языке), организованная PostgreSQL Europe. Это был третий выпуск, и мероприятие постоянно меняет локацию: в прошлом году оно проходило в зоопарке Blijdorp в Роттердаме, а в этом году — в TivoliVredenburg, концертном зале в центре Утрехта, где основной поток проходил в зале под названием Cloud Nine.

В прошлом году я выступал с полноценным 45-минутным докладом «Анатомия блокировок уровня таблицы в PostgreSQL», который стал довольно известным (запись есть на YouTube). В этом году я выбрал противоположный формат: пятиминутный блиц-доклад. Это формат, который дается мне сложнее всего, но я все равно решил попробовать.

Пять минут — это очень мало, поэтому я сосредоточился на двух open-source расширениях (pg_clickhouse и pg_stat_ch), которые мы поддерживаем в ClickHouse, оба под лицензией Apache 2.0. Идея обоих заключается в том, чтобы оставить Postgres в качестве «входной двери» и основной системы учета, а ClickHouse использовать для выполнения тяжелых аналитических задач.

Личное примечание: это было мое первое выступление в качестве нового сотрудника ClickHouse 😀 Фото: Tom

pg_clickhouse — это foreign data wrapper. Вы выполняете CREATE SERVER, указывая на ClickHouse, добавляете USER MAPPING с учетными данными и IMPORT FOREIGN SCHEMA: таблицы ClickHouse появляются как внешние таблицы в выбранной вами схеме Postgres с теми же именами столбцов и типами ClickHouse, отображенными на типы Postgres. Измените search_path на эту схему, и существующие запросы на чтение, ORM и дашборды будут работать без изменений. Там, где запрос можно передать (pushdown), планировщик Postgres отправляет его целиком в ClickHouse в виде SQL-запроса ClickHouse и получает агрегированный результат; в противном случае он передает то, что может, а остальное выполняет локально.

Смысл pg_clickhouse прост: перенос данных в ClickHouse — это легко, а переписывание SQL-запросов, накопленных за годы работы дашбордов и ORM, — сложно. Расширение позволяет существующим запросам PostgreSQL выполняться в ClickHouse, поэтому улучшение механизма pushdown является главным приоритетом в дорожной карте. Сегодня 15 из 22 запросов TPC-H при масштабном коэффициенте 1 полностью передаются в ClickHouse.

Главный слайд из блиц-доклада: Аналитика, не покидая Postgres

pg_stat_ch работает в обратном направлении. Хуки Postgres перехватывают каждое выполнение запроса как необработанное событие (время, буферы, WAL, CPU, ошибки, приложение, клиент), записывают его в кольцевой буфер в разделяемой памяти, а фоновый процесс (background worker) сбрасывает пакеты в ClickHouse по нативному протоколу, где и происходит агрегация. Он использует тот же query_id, что и pg_stat_statements, поэтому они коррелируют, но вы получаете историю по каждому запросу, которую можно сегментировать по времени и приложению, с реальными процентилями и отслеживанием ошибок. pg_stat_statements не может этого дать, так как хранит только накопительные счетчики. По дизайну здесь нет обратного давления (back-pressure): если ClickHouse работает медленно или недоступен, события отбрасываются и учитываются, а Postgres никогда не ждет.

Блиц-доклады очень интересно смотреть, поэтому я остался на весь блок.

В аудитории во время блиц-докладов. Посмотрите, как я счастлив 😀 Фото: Tom

Корнелия Бьяксич открыла блок докладом «Моя катастрофа с блиц-докладом», вспоминая свой первый опыт выступлений ровно год спустя. Это также стало напоминанием о том, что пятиминутный формат преподносится как легкий вход для новых спикеров, но он не лишен рисков, особенно для интровертов. Как экстраверт, я могу подтвердить, что это САМЫЙ сложный формат и для меня, как я упоминал выше. Эллерт ван Коперен показал реальный случай, когда партиционирование — стандартный ответ на проблему «таблица продолжает расти» — привело к побочным эффектам с серьезными последствиями, и простое решение, которое это исправило. Ян Веремьевич рассказал о статусе pg_tde: что работает сегодня, что еще предстоит сделать и как принять участие. А Дэйв Питтс завершил блок чем-то совершенно иным: историей создания песен для конференции PGDay Lowlands, которые были записаны с помощью цифровых инструментов и настоящего фортепиано, а не сгенерированы ИИ. Да, у этой конференции есть свой саундтрек!

Весь день велась прямая трансляция и велась запись, отдельные доклады будут доступны для просмотра позже.

Перед обедом я посетил доклад Майкла Банка «Подсказки оптимизатора в PostgreSQL», и он мне очень понравился. Известно, что Postgres десятилетиями отказывался добавлять подсказки оптимизатора на том основании, что проблемы планировщика — это баги, которые нужно исправлять. Майкл рассказал о том, что можно сделать сегодня: параметры enable_* (переработанные в PostgreSQL 18 так, что отключенные типы узлов учитываются, а не штрафуются огромной стоимостью) и pg_hint_plan с его комментариями /*+ ... */ и таблицей подсказок, индексируемой по ID запроса.

Больше всего меня заинтересовали два новых модуля contrib в PostgreSQL 19 от Роберта Хааса: pg_plan_advice и pg_stash_advice. Они направлены на стабилизацию плана, а не на подсказки в классическом понимании.

EXPLAIN (PLAN_ADVICE) выводит компактную «строку совета», описывающую полученный план (порядок соединения, методы соединения, методы сканирования, параллелизм). Вы можете передать эту строку обратно через pg_plan_advice.advice, чтобы закрепить план, а pg_stash_advice сохраняет советы по каждому ID запроса в разделяемой памяти, поэтому они применяются автоматически и сохраняются после переподключений и перезапусков.

Реализация работает путем ограничения планировщика, а не его замены, поэтому вы всегда можете получить только тот план, который планировщик в любом случае рассматривал бы. Аргумент Майкла заключался в том, что «перескоки» планов (plan flips) — это реальная проблема, и стабильные планы часто стоят небольшой потери производительности. Его слайды стоит прочитать.

Из Утрехта я отправился прямо в Амстердам на ужин спикеров Percona Live в четверг вечером. Это был приятный способ приехать на конференцию (я участвовал впервые): сначала познакомиться с другими спикерами за ужином, а на следующее утро прийти, уже зная несколько лиц.

Ужин спикеров Percona Live в De Bekeerde Suster — найдите меня, внимательно слушающего Аластера Тернера 🙂

Percona Live 2026 проходила с 9 по 11 сентября в отеле Mövenpick Hotel Amsterdam City Centre. Это мультибазовая конференция с потоками по MySQL, PostgreSQL, MongoDB и Valkey, что обеспечивает более широкую аудиторию, чем на PGDay. Я был там только в последний день.

Заключительное утро началось с беседы у камина под названием «Революция колоночных хранилищ», модератором которой выступил основатель Percona Питер Зайцев, а участниками — технический директор ClickHouse Алексей Миловидов и сооснователь DuckDB Ханнес Мюляйзен. Они обсудили возрождение колоночно-ориентированных баз данных и их значение для современных рабочих нагрузок.

Я не знал, что там будет наш технический директор Алексей Миловидов, пока Питер Зайцев не сказал мне об этом на ужине для спикеров, так что это стало приятным сюрпризом.

Моя сессия была 30-минутной версией доклада, который я представлю на PGConf.EU в октябре.

Я разделил изменения на пять частей:

  • Логирование: log_lock_waits теперь включен по умолчанию, log_min_messages поддерживает разные уровни логирования для каждого типа процесса, логирование autoanalyze теперь отделено от autovacuum с помощью log_autoanalyze_min_duration, а сообщения от удаленных серверов через репликацию, postgres_fdw или dblink теперь форматируются так же, как локальные.
  • WAL и I/O: новый счетчик wal_fpi_bytes появился в pg_stat_wal, статистике по бэкендам, строках логов VACUUM и ANALYZE, а также в EXPLAIN (ANALYZE, WAL). У операций COPY TO / FROM для файлов, каналов и программ теперь есть собственные события ожидания.
  • WAIT FOR: новая команда для обеспечения семантики «чтение после записи» (read-your-writes) на асинхронных репликах с событиями ожидания для этапов записи, сброса и воспроизведения WAL.
  • Новые системные представления: pg_stat_lock, pg_stat_recovery и pg_stat_autovacuum_scores.
  • Multixacts и переполнение (wraparound): новая функция pg_get_multixact_stats(), а порог предупреждения о переполнении XID увеличен с 40 миллионов до 100 миллионов транзакций.

В завершение я рассказал о том, что уже закоммичено для PostgreSQL 20 (pg_stat_get_backend_lock(), которая предоставляет pg_stat_lock для каждого бэкенда). Я также затронул статистику событий ожидания, где дискуссия в списке рассылки hackers все больше склоняется к сэмплированию вместо счетчиков.

Если вам нужна полная версия, большая ее часть уже описана в трех моих статьях: «Что нового в мониторинге PostgreSQL 19», «Чтение после записи: WAIT FOR в PostgreSQL 19» и «Новые системные представления в PostgreSQL 19».

Оба мероприятия вернутся в 2027 году, даты и места проведения будут объявлены позже.

Спасибо всем, кто сделал PGDay Lowlands возможным: Флор Дрис, Дерк ван Вин, Тереза Лопес, Борис Мехиас, Сара Конуэй, Стейси Распопина, Йос ван Схаутен, Челси Доул, Стефан Ферко и Эллерт ван Коперен. Также спасибо Питеру Зайцеву, Аластеру Тернеру, Яну Веремьевичу и Каю Вагнеру из команды Percona за приглашение, а также всем, кто пришел на мои доклады. Увидимся в Валенсии!

← Все статьи

Ещё в разделе «Данные и аналитика»

Все →
Databricks покупает Row Zero и ищет другие стартапы для поглощенияПресса
Databricks

Databricks покупает Row Zero и ищет другие стартапы для поглощения

Официальный SDK FastAPI Redis уже доступен
Redis

Официальный SDK FastAPI Redis уже доступен

Dynatrace получила сертификат ISO/IEC 42001
Dynatrace

Dynatrace получила сертификат ISO/IEC 42001

Знакомьтесь, AvisLoader: загрузчик для Windows, созданный, чтобы пережить блокировку
Varonis

Знакомьтесь, AvisLoader: загрузчик для Windows, созданный, чтобы пережить блокировку

От инсайтов к инновациям: как Kiro Crew, Dynatrace и AWS помогают командам достигать большего
Dynatrace

От инсайтов к инновациям: как Kiro Crew, Dynatrace и AWS помогают командам достигать большего

Релиз ClickHouse 26.9
ClickHouse

Релиз ClickHouse 26.9

Ещё от ClickHouse

Релиз ClickHouse 26.9
ClickHouse

Релиз ClickHouse 26.9

ClickHouse назначает Майка Скарпелли, бывшего финансового директора Snowflake и ServiceNow, в совет директоров
ClickHouse

ClickHouse назначает Майка Скарпелли, бывшего финансового директора Snowflake и ServiceNow, в совет директоров

Как Fountain перестроила свой уровень данных на ClickHouse Cloud для поддержки Cue, системы Frontline Superintelligence
ClickHouse

Как Fountain перестроила свой уровень данных на ClickHouse Cloud для поддержки Cue, системы Frontline Superintelligence

Postgres на NVMe: производительность и конвергенция транзакций и аналитики
ClickHouse

Postgres на NVMe: производительность и конвергенция транзакций и аналитики