Последняя версия системы реляционных баз данных PostgreSQL с открытым исходным кодом была выпущена с улучшенной поддержкой JSON, индексированием регулярных выражений и записываемыми оболочками сторонних данных.
PostgreSQL является потомком Postgres с открытым исходным кодом, базы данных, разработанной в Калифорнийском университете на факультете компьютерных наук Беркли.
Изменения в оболочках внешних данных (FDW) означают, что вы можете обмениваться данными с альтернативными внутренними хранилищами данных как для чтения, так и для записи. Оболочки позволяют интегрировать внешние источники данных с внутренними данными. Источники данных FDW выглядят для пользователей как любая другая таблица базы данных. Предыдущие версии были доступны только для чтения.
Новая версия имеет дополнительные функции для повышения надежности и доступности, начиная с поддержки быстрого переключения при отказе, обещая менее чем секундное переключение с главной базы данных на базу данных-реплику. Контрольные суммы страницы данных были добавлены, чтобы предупреждать администраторов о таких проблемах, как сбой дисков, приводящий к повреждению данных. Еще одним усовершенствованием для поддержки аварийного переключения является потоковая передача, ремастеринг, упрощающий и ускоряющий реконфигурацию каскадных реплик после аварийного переключения. Для разработчиков основным улучшением является добавление методов конструктора и извлечения JSON. Тип данных JSON и две вспомогательные функции для преобразования строк и массивов были представлены в PostgreSQL 9.2. В этом выпуске добавлены специальные операторы JSON, больше функций JSON, а парсер JSON был открыт для использования другими модулями, такими как расширения в качестве API.
Также была добавлена поддержка бокового соединения. Это означает, что если вы пишете запрос, в котором вы указываете столбцы в предложении FROM, вы можете написать подзапрос, который ссылается на эти столбцы.
Одним интересным дополнением является концепция, называемая пользовательскими фоновыми рабочими процессами. Это позволяет вам разрабатывать модули, которые регистрируются как «фоновые рабочие процессы», поэтому эффективно работают как настроенные серверные процессы. Вы можете использовать это для мониторинга активности сервера или для написания собственных диспетчеров задач, обработчиков запросов, параллельных процессоров или инструментов очередей. Идея состоит в том, что затем вы можете использовать PostgreSQL в качестве координатора рабочей нагрузки, и в примечаниях к выпуску говорится, что пример этого уже был выпущен в виде Mongres, фонового рабочего, который принимает запросы MongoDB, интерпретирует их и передает их PostgreSQL. .
Более подробная информация о новых функциях представлена в PostgreSQL Wiki.