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

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 держал годами.