The Picodata development team is pleased to announce the release of the Picodata 25.3 distributed DBMS, our flagship software product. The new version adds new SQL language features, introduces a mechanism of automatic data schema update and works on cluster stabilization. Read about this and much more below!
Improving backward compatibility
In Picodata 25.3, we have implemented automatic data schema update when instances are migrated to a new Picodata release. This mechanism ensures backward compatibility between DBMS releases regardless of the amount of changes made to system tables before: when a cluster is migrated to a new Picodata version, the necessary DDL/DML commands will be executed without administrator intervention, and the internal functions required in the new schema will also be created automatically.
New SQL features
In Picodata 25.3, we added new SQL language features to Picodata, including:
NULLS FIRST/LAST
support when sorting query results (ORDER BY
)- conflict handling when inserting data into global tables (
INSERT INTO … ON CONFLICT DO FAIL/REPLACE/NOTHING
) - new built-in window function
LAST_VALUE()
- % operator for modulo support for integers
- ability to determine the raft group leader via
pico_raft_leader_id()
andpico_raft_leader_uuid()
functions - ability to determine the version of the current instance via
version()
function - change related to compatibility: instead of the scalar
instance_uuid function
(which is now deprecated), it is recommended to use the newpico_instance_uuid
function.
Improved PostgreSQL compatibility
Picodata now supports secure connection when accessing an external LDAP server. When connecting via the PostgreSQL protocol (e.g. using the psql client) with the LDAP authentication method, you can use TLS encryption (provided that it is enabled on the LDAP server). On the Picodata side, this will require setting the values of three environment variables. For example:
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
Changes in configuration
We added a new parameter instance.pg.advertise — public address of the server for connection via PostgreSQL protocol. By default, the value of this parameter corresponds to instance.pg.listen.
Better web UI
We continue to develop the webui component for Picodata. In Picodata 25.3, the webui interface doesn’t just look better, it’s also more user-friendly and informative:
- The Cluster ID panel displays more useful information, including a list of enabled plugins
- the instance details view area now includes the PostgreSQL connection address.
Plugins mechanism
When connecting a plugin to a Picodata cluster, minor versions of the plugin and instance are now allowed to diverge (e.g., a plugin built for version 25.3.1 will work in Picodata 25.3.2)
See the full list of changes and fixed bugs in the CHANGELOG for this release.
Picodata for Ansible
A new version of the Picodata role for Ansible has been released, which is compatible with Picodata 25.3. Changes to the role:
- snap and xlog files collection can be excluded when collecting crash information (
crash_dump
tag) - added ability to execute lua commands on cluster instances (
command
tag) - fixed working with several plugins in inventory file
- fixed other bugs
Get a hand on Picodata!
Get a hand on Picodata 25.1 by downloading the pre-built packages for supported Linux distributions in the download section at our site. Pre-built packages are available for the followinf Linux distributions:
- Astra 1.8
- Debian 12 (bookworm)
- RHEL/Rocky 9
- Fedora 41–42
You can find installation advisory as well as documentation for installing software, creating instances, cluster configuration and deployment at our dedicated documentation site.
Send your feedback and get in touch with Picodata developers in our Telegram chat at @picodataen or @picodataru.