PostgreSQL 12 был выпущен с улучшениями в разделении и обработке b-деревьев, а также с поддержкой многостолбцовой статистики наиболее часто используемых значений.
PostgreSQL — это система баз данных с открытым исходным кодом, изначально созданная в Калифорнийском университете в Беркли. В настоящее время он поддерживается и разрабатывается Группой глобального развития PostgreSQL, объединяющей множество компаний и отдельных участников. PostgreSQL работает во всех основных операционных системах, поддерживает ACID с 2001 года и имеет надстройки, такие как расширитель геопространственной базы данных PostGIS.
Разработчики говорят, что этот выпуск предлагает заметные улучшения производительности запросов, особенно для больших наборов данных. Он также предлагает поддержку выражения пути SQL / JSON, оптимизацию выполнения запросов с общим табличным выражением (WITH) и сгенерированные столбцы.
PostgreSQL 12 обеспечивает значительные улучшения производительности и обслуживания своей системы индексирования и секционирования. Индексы B-tree, которые используются в качестве стандарта в PostgreSQL, были оптимизированы, чтобы лучше справляться с частыми изменениями индексов.
Также были улучшены запросы к многораздельным таблицам, особенно к таблицам с тысячами секций, которым необходимо извлекать данные только из ограниченного подмножества. Добавление данных в такие таблицы также происходит быстрее, и есть новая возможность присоединить новый раздел к таблице без блокировки запросов.
В других разделах индексирования функция Create Statistics теперь поддерживает статистику наиболее распространенных значений (MCV), чтобы помочь в создании более эффективных планов запросов при использовании неравномерно распределенных столбцов.
Компиляция Just in Time с использованием LLVM, которая была добавлена в PostgreSQL 11, теперь включена по умолчанию для повышения производительности в ситуациях, включая выполнение выражений в предложениях Where.
Новым в этом выпуске является возможность выполнять запросы к документам JSON с использованием выражений пути JSON и возможность встраивать запросы. В PostgreSQL 12 также представлены сгенерированные столбцы, значения которых вычисляются из содержимого других столбцов в той же таблице.
Последним основным улучшением является аутентификация с добавлением поддержки как клиентского, так и серверного шифрования для аутентификации через интерфейсы GSSAPI, а также возможность PostgreSQL обнаруживать серверы LDAP, если PostgreSQL скомпилирован с OpenLDAP. PostgreSQL 12 теперь также поддерживает форму многофакторной аутентификации, при которой сервер может потребовать от аутентифицирующего клиента предоставить действительный сертификат SSL со своим именем пользователя, а также потребовать отдельный метод аутентификации.