Пересказ статьи Asad Ali. range_agg: A New Feature in PostgreSQL 14
Функция
range_agg в PostgreSQL является новой агрегатной функцией, которая позволяет создавать диапазоны из агрегированных данных. Это полезно для суммирования последовательностей непрерывных или дискретных значений в диапазонах, особенно для временных или числовых данных.
Вот пример для демонстрации работы
range_agg в PostgreSQL 14.
Continue reading "range_agg: новая функция в PostgreSQL 14"
Пересказ статьи Alexei. Migrate a MySQL database to PostgreSQL using pgLoader
У меня возникла интересная задача, и я думаю, что будет полезно поделиться ей. Возможно, это кому-то поможет.
Описание задачи
Я получил дамп базы данных MySQL, но сейчас я работаю с PostgreSQL. Я начал думать о том, как перенести данные из MySQL в PostgreSQL и обнаружил инструмент, который называется
PgLoader.
Continue reading "Миграция базы данных MySQL на PostgreSQL с помощью pgLoader"
Пересказ статьи Anton Okolelov. PostgreSQL 17 Released
Производительность
Значительно улучшено управление памятью. Вакуумация теперь потребляет в 20 раз меньше памяти, ускоряя свою операцию и снижая нагрузку на систему.
Операции записи при высокой конкурентной нагрузке стали вдвое быстрей, благодаря оптимизированной обработке WAL.
Улучшенная производительность запросов, использующих условия IN в индексах B-Tree. Добавлена поддержка для инструкций SIMD (включая AVX-512) для ускорения вычислений.
Оптимизирована производительность COPY для экспорта больших объемов данных.
Continue reading "Вышел PostgreSQL 17"
Пересказ статьи 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"
Пересказ статьи Dmitry Romanoff. Postgres. How to check the top queries that use temporary files?
Временные файлы в базе данных PostgreSQL могут стать проблемой по нескольким причинам:
- Влияние на производительность.
- Использование пространства на диске.
- Может выделяться все больше и больше памяти.
- Проблемы параллелизма.
- Сложность в мониторинге и обслуживании.
Что следует делать, чтобы избежать временных файлов в базе данных PostgreSQL?
Continue reading "PostgreSQL. Как выявить запросы, которые максимально используют временные файлы?"
Пересказ статьи Dmitry Romanoff. Partitioning a table by range in the PostgreSQL database
Секционирование является важным методом для достижения хорошей производительности в базах данных с большими таблицами. Когда размер таблицы постоянно растет, также возрастает стоимость каждой операции с этой таблицей. Секционирование разбивает большую таблицу на несколько меньших. Смысл в том, чтобы позволить механизму запросов сканировать более мелкие таблицы и индексы, чтобы найти требуемые данные. Секции улучшают производительность работы с таблицей, когда они сделаны правильно. Секционирование таблицы по значениям в диапазоне обычно используется с полями даты.
Здесь я на практике продемонстрирую, как работает секционирование.
Continue reading "Секционирование таблицы по диапазону в базе данных PostgreSQL"
Пересказ статьи Mitchell Warr. PostgreSQL Optimization Tricks: How to Load Data Fast Part 1
Итак, у вас есть несколько сотен миллионов строк данных в таблице, и вы просто не получаете той скорости, что раньше. Она работает медленнее, чем когда была молодой и энергичной базой данных, и вы можете поклясться, что слышите, как она скрипит, когда вы ускоряете распределение памяти.
Вы открываете объяснение плана запроса и заглядываете под капот в чем-то типа
https://explain.dalibo.com. Но что вы фактически можете сделать?
Continue reading "Оптимизационные трюки в PostgreSQL. Как быстро загрузить данные: часть 1"