Блог

Фильтр по тегам

    HA: Отказоустойчивость PostgreSQL. Transaction Guard

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

    Запросы с ANY: когда PostgreSQL дольше планирует, чем выполняет

    Когда речь заходит об оптимизации запросов в PostgreSQL, разработчики, как правило, сосредотачиваются на времени выполнения: индексы, планы запросов, настройки памяти и так далее. Время планирования остаётся в тени. А зря! Планировщик работает перед каждым выполнением запроса. 

    Двигаем PostgreSQL в сторону OLAP: оптимизация параллельного вычисления агрегатов

    В данной статье я хочу рассказать о проверке одной гипотезы - возможности использования shared memory для ускорения параллельной агрегации методом хэширования. Статья Xu&Marcus, PVLDB, 2025 утверждает, что общая хэш-таблица — незаслуженно списанный со счетов способ параллельной агрегации, если использовать т.н. тикетинг и разделить операции поиска группы и обновления агрегата.

    Секционирование таблиц в PostgreSQL: 5 вещей, которые узнаешь только на практике

    Многие статьи на тему секционирования заканчиваются «и теперь у вас есть партиции». А что дальше — когда нужно обновить данные или отсоединить секцию?

    В дом престарелых, но с любовью. Управляем старением данных в PostgreSQL

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

    Как фильтр Блума ускоряет JOIN'ы в PostgreSQL

    В рамках 18 релиза СУБД Tantor Postgres мы рассказывали об оптимизациях, которые помогают планировщику сделать более точный выбор между Nested Loop и Hash Join. В следующем релизе у нас планируются оптимизации, которые позволят ускорить выполнение как Nested Loop, так и Hash Join. Сегодня мы расскажем об одном из таких методов - фильтре Блума.

    Ограничения целостности с отложенной проверкой в PostgreSQL

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

    Полиморфные ссылки в PostgreSQL: помогаем СУБД избежать провалов производительности

    Здесь я пытаюсь дать представление о том, каким образом данный шаблон приводит к регрессии производительности и показать направления улучшения оптимизатора PostgreSQL, позволяющие облегчить ситуацию.

    Как мы тестируем Tantor Postgres для 1С — от нагрузочных тестов до оптимизаций планировщика

    Александр Симонов, руководитель направления развития 1С в "Тантор Лабс", рассказывает, как устроен процесс тестирования изнутри, почему одного "эталонного" прогона недостаточно, что делать, когда ванильный PostgreSQL 18 ломает собственные оптимизации, и как Tantor Postgres приближается к той планке, которую MS SQL Server держал годами.