Увеличение производительности базы на PostgreSQL переходом на 12 версию

Dmitrii Naumenko
1 min readNov 28, 2019

--

Команда, разрабатывающая PostgreSQL, каждый год выкатывает большие обновления, добавляющие новые возможности в СУБД. PostgreSQL 12 позволяет ускорить ваши приложения без больших трудозатрат! Нужно сделать всего 2 вещи:

  1. Обновить PostgreSQL, например по инструкции.
  2. Выполнить перестраивание существующих индексов командой:
    REINDEX DATABASE CONCURRENTLY название_базы_данных;
    В предыдущих версиях PostgreSQL, если в вашей базе были большие индексы, то их перестраивание потребовало бы ограничение доступа к соответствующим таблицам. К счастью, в PostgreSQL 12 вы можете перестраивать индексы параллельно, используя параметр CONCURRENTLY. Так, ваше приложение не будет простаивать, пока вы выполняете перестраивание.

А вот и некоторые причины для обновления:

  • Ускорение запросов по индексам B-tree
  • Сокращение использования дискового пространства индесами B-tree (-40% на эталонном тесте!)
  • Ускорение запросов к секционированным таблицам
  • Возможность создавать покрывающие индексы на GIST-индексы
  • По умолчанию включена JIT-компиляция
  • Возможность выполнять запросы к документам JSONB с использованием выражений, определенных в стандарте SQL/JSON
  • … и многое другое. Полный список изменений вы можете найти здесь: https://www.postgresql.org/docs/12/release-12.html

--

--

Dmitrii Naumenko
Dmitrii Naumenko

Written by Dmitrii Naumenko

IT-Architect | Python team leader | TechLead | TeamLead | Senior Software Engineer

No responses yet