Команда разработчиков Picodata рада сообщить о выпуске распределенной СУБД Picodata 25.3 — нашего основного программного продукта. В новой версии добавлены новые возможности языка SQL, внедрен механизм автоматического обновления схемы данных и проведена работа по стабилизации работы кластера. Об этом и многом другом — читайте ниже!
Улучшение обратной совместимости
В Picodata 25.3 мы реализовали автоматическое обновление схемы данных при переходе инстансов на новый релиз Picodata. Этот механизм учитывает сделанные изменения в системных таблицах и сохраняет обратную совместимость при обновлении на следующий релиз СУБД: при переводе кластера на новую версию Picodata необходимые DDL/DML-команды выполнятся без вмешательства администратора, а требуемые в новой схеме внутренние функции также будут созданы автоматически.
Новые возможности SQL
В Picodata 25.3 мы добавили новые возможности языка 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 для этого потребуется установить значения у трёх переменных окружения. Например:
export TT_LDAP_URL="ldap://127.0.0.1:1389"
export TT_LDAP_DN_FMT='cn=$USER,ou=users,dc=example,dc=org'
export TT_LDAP_ENABLE_TLS=true
Изменение в конфигурации
Мы добавили новый параметр instance.pg.advertise
— публичный адрес сервера для подключения по протоколу PostgreSQL. По умолчанию, значение этого параметра соответствует значению instance.pg.listen
. Данный параметр пригодится в ситуации, когда снаружи инстанс доступен по адресу, отличающемуся от адреса во внутренней сети.
Улучшенный веб-интерфейс
Мы продолжаем развивать компонент webui
для Picodata. В версии Picodata 25.3 веб-интерфейс не просто выглядит лучше, он также стал удобнее и информативнее:
- на панели Cluster ID отображается больше полезной информации, включая список включённых плагинов
- в области просмотра сведений об инстансе теперь присутствует адрес подключения по протоколу PostgreSQL
Механизм плагинов
При подключении плагина к кластеру Picodata теперь допускается расхождение минорных версий плагина и инстанса (например, плагин, собранный для версии 25.3.1, будет работать в Picodata 25.3.2)
Полный список нововведений и список исправленных ошибок доступны в документе CHANGELOG.
Роль Picodata для Ansible
Выпущена новая версия роли Picodata для Ansible, которая совместима с Picodata 25.3. Изменения в роли:
- при сборке информации при сбое (тег
crash_dump
) можно исключить сборку snap- и xlog-файлов - добавлена возможность выполнять lua-команды на инстансах кластера (тег
command
) - исправлена работа с несколькими плагинами в инвентаризационном файле
- исправлены прочие ошибки
Попробуйте Picodata в деле!
Для установки Picodata 25.3 следуйте инструкциям на сайте. Готовые пакеты доступны для следующих дистрибутивов Linux:
- Astra 1.8
- Debian 12 (bookworm)
- RHEL/Rocky 9
- Fedora 41–42
Инструкции и руководства по установке, использованию и администрированию Picodata размещены на портале документации Picodata.
Вопросы и пожелания направляйте в наш Telegram-чат @picodataru.