Метка: производительность
-
Что нового в PostgreSQL 17
Состоялся релиз 17 версии СУБД PostgreSQL. Рассмотрим основные изменения. В новой версии значительно улучшена общая производительность, включая обновленное управление памятью при использовании VACUUM, оптимизирован доступ к хранилищу, внесены улучшения для работы с высокими параллельными нагрузками, ускорены массовая загрузка и экспорт, а также улучшено выполнение запросов с индексами. В PostgreSQL 17 добавлена команда SQL/JSON – JSON_TABLE, усовершенствована логическая…
-
idle VS idle in transaction
Статья основана на моём открытом уроке “idle VS idle in transaction в PostgreSQL”. В статье вспомним работу с памятью и процессами, рассмотрим проблематику долгих транзакций, рассмотрим разницу поведения подключений при различных статусах idle VS idle in transaction, изучим подводные камни этих вариантов и проведём практические исследования. Вспомним, как стартует PostgreSQL, а именно, как происходит порождение…
-
TOAST in PostgreSQL
Вспомним как хранятся наши строки. Версия строки должна помещаться на одну страницу 8кб (размер по умолчанию, влияние этого размера на производительность будет рассмотрено далее в книге). Если данные в строке превышают этот размер, то: Давайте разбираться, что это такое. Особенности TOAST-таблицы (The Oversized Attribute Storage Technique): Для тестов создадим табличку и посмотрим OID TOAST сегмента…
-
Новое видео про генерацию UUID в PostgreSQL
Краткое содержание Ютуб ролика (небольшой отрывок первой лекции курса по Оптимизации PostgreSQL) про особенности генерации UUID UUID замечательный инструмент для генерации уникальных значений искусственного первичного ключа в PostgreSQL, но он имеет и ряд недостатков. Сравним генерацию 10 миллионов строк UUID четвертой версии + рандомный текст с аналогичным классическим подходом serial. Потом создадим индексы по этим…
-
Docker caveats для PostgreSQL
Казалось бы технологии контейнеризации, в частности docker, уже прочно вошли в нашу жизнь… Но до сих пор встречаются ситуации, которые ускользают от классических обсуждений. Например – какой образ использовать? Вот два примера использования неофициальных репозиториев для PostgreSQL: Что мы видим на этих скриншотах? Были использованы образы PostgreSQL, созданные злоумышленниками и содержащие трояна, который через некоторое…
-
Базовые настройки PostgreSQL
После установки инстанс PostgreSQL в целом НЕ настроен и это может отрицательно отразиться на производительности. Несмотря на то, что настроек в PostgreSQL более 350, можно выделить основные: shared_buffers Используется для кэширования данных. По умолчанию низкое значение (для поддержки как можно большего кол-ва ОС). Начать стоит с его изменения. Согласно документации, рекомендуемое значение для данного параметра…