YDB CLI changelog

Version 2.17.0

Released on December 4, 2024. To update to version 2.17.0, select the Downloads section.

Performance

Bug fixes

  • Fixed a bug in the table schema created by the ydb workload tpch command where the partsupp table contained an incorrect list of key columns.
  • Resolved an issue where the ydb tools restore command failed with the error "Too much data" if the maximum value of the --upload-batchbytes option was set to 16 MB.

Version 2.16.0

Released on November 26, 2024. To update to version 2.16.0, select the Downloads section.

Features

  • Improved throughput of the ydb import file csv command by up to 3 times.
  • Added support for running the stock benchmark with column-oriented tables.
  • Added support for ISO 8601–formatted timestamps in ydb topic commands.
  • Added the --explain-ast option to the ydb sql command, which prints the query AST.
  • Added ANSI SQL syntax highlighting in interactive mode.
  • Added support for PostgreSQL syntax in the ydb workload tpch and ydb workload tpcds benchmarks.
  • Introduced the -c option for the ydb workload tpcds run command to compare results with expected values and display differences.
  • Added log events for the ydb tools dump and ydb tools restore commands.
  • Enhanced the ydb tools restore command to display error locations.

Backward incompatible changes

  • Changed the default value of the ydb topic write command's --codec option to RAW.

Bug fixes

  • Fixed the progress bar in the ydb workload import command.
  • Resolved an issue where restoring from a backup using the --import-data option could fail if the table's partitioning had changed.

Version 2.10.0

Released on June 24, 2024. To update to version 2.10.0, select the Downloads section.

Features

  • Added the ydb sql command that runs over QueryService and can execute any DML/DDL command.

  • Added notx support for the --tx-mode option in ydb table query execute.

  • Added start and end times for long-running operation descriptions (export, import).

  • Added replication description support in the ydb scheme describe and ydb scheme ls commands.

  • Added big datetime types support: Date32, Datetime64, Timestamp64, Interval64.

  • ydb workload commands rework:

    • Added the --clear option to the init subcommand, allowing tables from previous runs to be removed before workload initialization.
    • Added the ydb workload * import command to prepopulate tables with initial content before executing benchmarks.

Backward incompatible changes

  • ydb workload commands rework:

    • The --path option was moved to a specific workload level. For example: ydb workload tpch --path some/tables/path init ....
    • The --store=s3 option was changed to --store=external-s3 in the init subcommand.

Bug fixes

  • Fixed colors in the PrettyTable format

Version 2.9.0

Released on April 25, 2024. To update to version 2.9.0, select the Downloads section.

Features

  • Improved query logical plan tables: added colors, more information, fixed some bugs.
  • The verbose option -v is supported for ydb workload commands to provide debug information.
  • Added an option to run ydb workload tpch with an S3 source to measure federated queries performance.
  • Added the --rate option for ydb workload commands to control the transactions (or requests) per second limit.
  • Added the --use-virtual-addressing option for S3 import/export, allowing the switch to virtual hosting of buckets for the S3 path layout.
  • Improved ydb scheme ls performance due to listing directories in parallel.

Bug fixes

  • Resolved an issue where extra characters were truncated during line transfers in CLI tables.
  • Fixed invalid memory access in tools restore.
  • Fixed the issue of the --timeout option being ignored in generic and scan queries, as well as in the import command.
  • Added a 60-second timeout to version checks and CLI binary downloads to prevent infinite waiting.
  • Minor bug fixes.

Version 2.8.0

Released on January 12, 2024. To update to version 2.8.0, select the Downloads section.

Features

  • Added configuration management commands for the cluster ydb admin config and ydb admin volatile-config.
  • Added support for loading PostgreSQL-compatible data types by ydb import file csv|tsv|json command. Only for row-oriented tables.
  • Added support for directory load from an S3-compatible storage in the ydb import s3 command. Currently only available on Linux and Mac OS.
  • Added support for outputting the results of ydb table query execute, ydb yql and ydb scripting yql commands in the Apache Parquet format.
  • In the ydb workload commands, the --executer option has been added, which allows to specify which type of queries to use.
  • Added a column with median benchmark execution time in the statistics table of the ydb workload clickbench command.
  • (Experimental) Added the generic request type to the ydb table query execute command, allowing to perform DDL and DML operations, return with arbitrarily-sized results and support for MVCC. The command uses an experimental API, compatibility is not guaranteed.
  • (Experimental) In the ydb table query explain command, the --collect-diagnostics option has been added to collect query diagnostics and save it to a file. The command uses an experimental API, compatibility is not guaranteed.

Bug fixes

  • Fixed an error displaying tables in pretty format with Unicode characters.

  • Fixed an error substituting the wrong primary key in the command ydb tools pg-convert.

Version 2.7.0

Released on October 23, 2023. To update to version 2.7.0, select the Downloads section.

Features

Bug fixes

Version 2.6.0

Released on September 7, 2023. To update to version 2.6.0, select the Downloads section.

Features

Bug fixes

Version 2.5.0

Released on June 20, 2023. To update to version 2.5.0, select the Downloads section.

Features

  • For the ydb import file command, a parameter --timeout has been added that specifies the time within which the operation should be performed on the server.
  • Added a progress bar in commands ydb scheme rmdir --recursive and ydb import file.
  • Added the command ydb workload kv run read-rows, which loads the database with requests to read rows using a new experimental API call ReadRows (implemented only in the main branch), which performs faster key reading than select.
  • New parameters --warmup-time, --percentile, --topic have been added to the ydb workload topic, setting the test warm-up time, the percentile in the statistics output and the topic name, respectively.
  • Added the ydb workload tpch command to run the TPC-H benchmark.
  • Added the --ordered flag in the command ydb tools dump, which preserves the order by primary key in tables.

Performance

  • The data loading speed in the ydb import file command has been increased by adding parallel loading. The number of threads is set by the new parameter --threads.
  • A performance of the ydb import file json command has been increased by reducing the number of data copies.

Version 2.4.0

Released on May 24, 2023. To update to version 2.4.0, select the Downloads section.

Features

Version 2.3.0

Release date: May 1, 2023. To update to version 2.3.0, select the Downloads section.

Features

  • Added the interactive mode of query execution. To switch to the interactive mode, run ydb yql without arguments. This mode is experimental: backward compatibility is not guaranteed yet.
  • Added the ydb index rename command for atomic replacement or renaming of a secondary index.
  • Added the ydb workload topic command for generating the load that reads messages from topics and writes messages to topics.
  • Added the --recursive option for the ydb scheme rmdir command. Use it to delete a directory recursively, with all its content.
  • Added support for the topic and coordination node types in the ydb scheme describe command.
  • Added the --commit option for the ydb topic consumer command. Use it to commit messages you have read.
  • Added the --columns option for the ydb import file csv|tsv command. Use it as an alternative to the file header when specifying a column list.
  • Added the --newline-delimited option for the ydb import file csv|tsv command. Use it to make sure that your data is newline-free. This option streamlines import by reading data from several file sections in parallel.

Bug fixes

  • Fixed the bug that resulted in excessive memory and CPU utilization when executing the ydb import file command.

Version 2.2.0

Release date: March 3, 2023. To update to version 2.2.0, select the Downloads section.

Features

  • Fixed the error that didn't allow specifying supported compression algorithms when adding a topic consumer.
  • Added support for streaming YQL scripts and queries based on options transferred via stdin.
  • You can now use a file to provide YQL query options
  • Password input requests are now output to stderr instead of stdout.
  • You can now save the root CA certificate path in a profile.
  • Added a global option named --profile-file to use the specified file as storage for profile settings.
  • Added a new type of load testing: ydb workload clickbench.

Version 2.1.1

Release date: December 30, 2022. To update to version 2.1.1, select the Downloads section.

Improvements

  • Added support for the --stats option of the ydb scheme describe command for column-oriented tables.
  • Added support for Parquet files to enable their import with the ydb import command.
  • Added support for additional logging and retries for the ydb import command.

Version 2.1.0

Release date: November 18, 2022. To update to version 2.1.0, select the Downloads section.

Features

  • You can now create a profile non-interactively.
  • Added the ydb config profile update and ydb config profile replace commands to update and replace profiles, respectively.
  • Added the -1 option for the ydb scheme ls command to enable output of a single object per row.
  • You can now save the IAM service URL in a profile.
  • Added support for username and password-based authentication without specifying the password.
  • Added support for AWS profiles in the ydb export s3 command.
  • You can now create profiles using stdin. For example, you can pass the YC CLI yc ydb database get information command output to the ydb config profile create command input.

Bug fixes

  • Fixed the error when request results were output in JSON-array format incorrectly if they included multiple server responses.
  • Fixed the error that disabled profile updates so that an incorrect profile was used.

Version 2.0.0

Release date: September 20, 2022. To update to version 2.0.0, select the Downloads section.

Features

  • Added the ability to work with topics:

    • ydb topic create: Create a topic.
    • ydb topic alter: Update a topic.
    • ydb topic write: Write data to a topic.
    • ydb topic read: Read data from a topic.
    • ydb topic drop: Delete a topic.
  • Added a new type of load testing:

    • ydb workload kv init: Create a table for kv load testing.
    • ydb workload kv run: Apply one of three types of load: run multiple UPSERT sessions, run multiple INSERT sessions, or run multiple sessions of GET requests by primary key.
    • ydb workload kv clean: Delete a test table.
  • Added the ability to disable current active profile (see the ydb config profile deactivate command).

  • Added the ability to delete a profile non-interactively with no commit (see the --force option under the ydb config profile remove command).

  • Added CDC support for the ydb scheme describe command.

  • Added the ability to view the current DB status (see the ydb monitoring healthcheck command).

  • Added the ability to view authentication information (token) to be sent with DB queries under the current authentication settings (see the ydb auth get-token command).

  • Added the ability for the ydb import command to read data from stdin.

  • Added the ability to import data in JSON format from a file or stdin (see the ydb import file json command).

Improvements

  • Improved command processing. Improved the accuracy of user input parsing and validation.

Version 1.9.1

Release date: June 25, 2022. To update to version 1.9.1, select the Downloads section.

Features

  • Added the ability to compress data when exporting it to S3-compatible storage (see the --compression option of the ydb export s3 command).
  • Added the ability to manage new YDB CLI version availability auto checks (see the --disable-checks and --enable-checks options of the ydb version command).