Компания Picodata (входит в Группу Arenadata) выпустила новую версию СУБД Picodata — Picodata 25.3. Обновление включает расширенные возможности SQL, механизм автоматического обновления схемы данных, а также повышение стабильности кластера.

Улучшение обратной совместимости

В Picodata 25.3 реализовано автоматическое обновление схемы данных при переходе инстансов на новый релиз Picodata. Этот механизм учитывает сделанные изменения в системных таблицах и сохраняет обратную совместимость при обновлении на следующий релиз СУБД: при переводе кластера на новую версию Picodata необходимые DDL/DML-команды выполнятся без вмешательства администратора, а требуемые в новой схеме внутренние функции также будут созданы автоматически.

Новые возможности SQL

В релиз добавлены новые возможности языка SQL в Picodata, в частности:
· поддержка NULLS FIRST/LAST при сортировке результатов запроса (ORDER BY);
· обработка конфликтов при вставке данных в глобальные таблицы (INSERT INTO … ON CONFLICT DO FAIL/REPLACE/NOTHING);
· новая встроенная оконная функция LAST_VALUE();
· оператор % для определения остатка деления по модулю для целых чисел;
· возможность определения лидера raft-группы через функции pico_raft_leader_id() и pico_raft_leader_uuid();
· возможность определения версии текущего инстанса с помощью функции version();
· изменение, связанное с совместимостью: вместо скалярной функции instance_uuid (которая теперь объявлена устаревшей), рекомендуется использовать новую функцию pico_instance_uuid.

Улучшенная совместимость с PostgreSQL

Picodata теперь поддерживает безопасное соединение при обращении к внешнему LDAP-серверу. При подключении через протокол PostgreSQL (например, с помощью клиента psql) с методом аутентификации LDAP можно задействовать TLS-шифрование (при условии, что оно включено на LDAP-сервере). На стороне Picodata для этого потребуется установить значения у трёх переменных окружения. Например:


Изменение в конфигурации

Добавлен новый параметр instance.pg.advertise — публичный адрес сервера для подключения по протоколу PostgreSQL. По умолчанию, его значение соответствует значению instance.pg.listen. Этот параметр пригодится в ситуации, когда снаружи инстанс доступен по адресу, отличающемуся от адреса во внутренней сети.

Улучшенный веб-интерфейс

Команда Picodata продолжает развивать компонент webui для Picodata. В версии Picodata 25.3 веб-интерфейс не просто выглядит лучше, он также стал удобнее и информативнее:
· на панели Cluster ID отображается больше полезной информации, включая список включённых плагинов;
· в области просмотра сведений об инстансе теперь присутствует адрес подключения по протоколу PostgreSQL.

Механизм плагинов

При подключении плагина к кластеру Picodata теперь допускается расхождение минорных версий плагина и инстанса (например, плагин, собранный для версии 25.3.1, будет работать в Picodata 25.3.2).

Полный список нововведений и список исправленных ошибок (https://git.picodata.io/core/picodata/-/blob/master/CHANGELOG.md?ref_type=heads#fixes) доступны в документе CHANGELOG (https://git.picodata.io/core/picodata/-/blob/master/CHANGELOG.md?ref_type=heads#2530---unreleased).

Роль Picodata для Ansible

Выпущена новая версия роли Picodata для Ansible, которая совместима с Picodata 25.3. Изменения в роли:
· при сборке информации при сбое (тег crash_dump) можно исключить сборку snap- и xlog-файлов;
· добавлена возможность выполнять lua-команды на инстансах кластера (тег command);
· исправлена работа с несколькими плагинами в инвентаризационном файле и ряд прочих ошибок.

«В релизе 25.3 мы сосредоточились на том, чтобы сделать систему ещё более устойчивой и безопасной — особенно для наших заказчиков из числа операторов критической информационной инфраструктуры. Надёжность инсталляций Picodata — наш приоритет, и текущие обновления укрепляют эту основу», — подчеркнула генеральный директор компании Picodata Анна Ерманок.

Для того, чтобы установить Picodata 25.3, достаточно воспользоваться подробными инструкциями - https://picodata.io/download/.