Skip to content

range_agg: новая функция в PostgreSQL 14

Пересказ статьи Asad Ali. range_agg: A New Feature in PostgreSQL 14


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

Вот пример для демонстрации работы range_agg в PostgreSQL 14. Continue reading "range_agg: новая функция в PostgreSQL 14"

Миграция базы данных MySQL на PostgreSQL с помощью pgLoader

Пересказ статьи Alexei. Migrate a MySQL database to PostgreSQL using pgLoader


У меня возникла интересная задача, и я думаю, что будет полезно поделиться ей. Возможно, это кому-то поможет.

Описание задачи


Я получил дамп базы данных MySQL, но сейчас я работаю с PostgreSQL. Я начал думать о том, как перенести данные из MySQL в PostgreSQL и обнаружил инструмент, который называется PgLoader.

Continue reading "Миграция базы данных MySQL на PostgreSQL с помощью pgLoader"

Вышел PostgreSQL 17

Пересказ статьи Anton Okolelov. PostgreSQL 17 Released


Производительность


Значительно улучшено управление памятью. Вакуумация теперь потребляет в 20 раз меньше памяти, ускоряя свою операцию и снижая нагрузку на систему.

Операции записи при высокой конкурентной нагрузке стали вдвое быстрей, благодаря оптимизированной обработке WAL.

Улучшенная производительность запросов, использующих условия IN в индексах B-Tree. Добавлена поддержка для инструкций SIMD (включая AVX-512) для ускорения вычислений.

Оптимизирована производительность COPY для экспорта больших объемов данных.

Continue reading "Вышел PostgreSQL 17"

Использование улучшений SQL/JSON для современных рабочих нагрузок в PostgreSQL 16

Пересказ статьи Vibhor Kumar. Exploiting SQLJSON Enhancements for Modern Workloads in PostgreSQL 16


Последняя итерация PostgreSQL, версия 16, принесла ряд улучшений, которые поддерживают возможности работы с данными JSON. Эти улучшения не только более тесно сближают PostgreSQL со стандартом SQL/JSON, но также предлагают существенную оптимизацию, которая упрощает и улучшает работу с данными JSON. Эта эволюция свидетельствует о стремлении PostgreSQL удовлетворять потребности современных работающих с данными приложений, которые используют полуструктурированные данные для множества вариантов использования.

В этой статье мы вникнем в улучшения SQL/JSON, внесенные в PostgreSQL 16, проиллюстрируем их применение примерами кода и рассмотрим реальные сценарии, для которых эти улучшения могут стать особенно полезными.

Continue reading "Использование улучшений SQL/JSON для современных рабочих нагрузок в PostgreSQL 16"

PostgreSQL. Как выявить запросы, которые максимально используют временные файлы?

Пересказ статьи Dmitry Romanoff. Postgres. How to check the top queries that use temporary files?


Временные файлы в базе данных PostgreSQL могут стать проблемой по нескольким причинам:

  1. Влияние на производительность.

  2. Использование пространства на диске.

  3. Может выделяться все больше и больше памяти.

  4. Проблемы параллелизма.

  5. Сложность в мониторинге и обслуживании.

Что следует делать, чтобы избежать временных файлов в базе данных PostgreSQL?
Continue reading "PostgreSQL. Как выявить запросы, которые максимально используют временные файлы?"

Секционирование таблицы по диапазону в базе данных PostgreSQL

Пересказ статьи Dmitry Romanoff. Partitioning a table by range in the PostgreSQL database


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

Здесь я на практике продемонстрирую, как работает секционирование. Continue reading "Секционирование таблицы по диапазону в базе данных PostgreSQL"

Оптимизационные трюки в PostgreSQL. Как быстро загрузить данные: часть 1

Пересказ статьи Mitchell Warr. PostgreSQL Optimization Tricks: How to Load Data Fast Part 1


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

Вы открываете объяснение плана запроса и заглядываете под капот в чем-то типа https://explain.dalibo.com. Но что вы фактически можете сделать?

Continue reading "Оптимизационные трюки в PostgreSQL. Как быстро загрузить данные: часть 1"