Picodata 25.1 is out!

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

The Picodata development team is pleased to announce the release of Picodata 25.1, our core software product. This version introduces several interesting features, such as window functions in SQL as well as LDAP authentication support when connecting via the PostgreSQL protocol. Many existing features have also been refined and improved.

In Picodata 25.1, we are introducing SQL window functions — the ability to perform calculations on a set of tuples within a separate “window”. Users can use aggregate window functions in SQL queries using the OVER clause, as well as use the built-in ROW_NUMBER() function.

Another innovation concerns further development of PostgreSQL support when connecting to a Picodata instance. When using the PostgreSQL protocol, a secure connection (SSL) will be automatically enabled if it is supported (and configured) on the server side. Different types of authentication are supported, including LDAP. The PostgreSQL protocol itself in Picodata is now up to 4 times faster (compared to the previous implementation).

When working in the built-in Picodata clients (picodata connect and picodata admin), you can now use the enter key (↵) as a line separator (instead of a special character). This makes working in the console more convenient in many cases! How to enable: \set delimiter enter.

The set of built-in picodata commands has also become more convenient. For a quick view of the cluster status, there is now the separate picodata status command that shows all the nodes of the cluster with the necessary details. The output of the picodata --version command has been expanded to include the build type (static/dynamic) and its configuration (release/debug). When removing an instance from the cluster (picodata expel), you should now specify the UUID of the instance instead of its name.

Other notable new features and changes in Picodata 25.1:

  • By default, the configuration file is named picodata.yaml
  • Automatically generated instance and replicaset names now include the tier name, the replicaset number in the tier, and the instance number in the replicaset
  • When using the Vinyl New storage engine, new configuration parameters are now available: bloom_fpr, max_tuple_size, page_size, range_size, run_count_per_size, run_size_ratio, read_threads, write_threads, and timeout
  • Many parameters in the _pico_db_config system table have been renamed, see the full list of changes
  • A new unique index on the uuid column has been added to the _pico_instance system table. The previous indexes _pico_instance_raft_id and _pico_instance_replicaset_name now have identifiers 2 and 3 respectively.
  • The --service-password-file command line parameter has been removed in favor of the .picodata-cookie file in the instance directory.
  • When configuring a cluster using the ALTER SYSTEM SET… command, it is now possible to specify individual tiers (i.e. within a cluster different tiers can have their own sets of parameters)
  • When retrieving data from tables using SELECT, string values are now displayed without double quotes

Additionally, we keep on improving the Picodata role for Ansible, which enables convenient management of a distributed cluster. All Picodata features are available within the picodata-ansible role, including working with tiers and deploying plugins, as well as many additional features (e.g., managing instances via supervisord instead of systemd).

See the full list of changes in the CHANGELOG for this release.

Get a hand on Picodata 25.1 by downloading the pre-built packages for supported Linux distributions in the download section at our site. By the way, we have updated the list of supported operating systems and now provide packages for the following Linux distributions:

  • Astra 1.8
  • Debian 12 (bookworm)
  • Fedora 40, 41

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.