Метка: производительность

  • Что нового в 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 Используется для кэширования данных. По умолчанию низкое значение (для поддержки как можно большего кол-ва ОС). Начать стоит с его изменения. Согласно документации, рекомендуемое значение для данного параметра…