Релиз Picodata 25.3

Александр Толстой

Команда разработчиков 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.