YDB CLI changelog
Version 2.17.0
Released on December 4, 2024. To update to version 2.17.0, select the Downloads section.
Performance
- Improved performance of parallel importing data from the file system using the
ydb tools restore
command.
Bug fixes
- Fixed a bug in the table schema created by the
ydb workload tpch
command where thepartsupp
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 theydb 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
andydb workload tpcds
benchmarks. - Introduced the
-c
option for theydb workload tpcds run
command to compare results with expected values and display differences. - Added log events for the
ydb tools dump
andydb 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 toRAW
.
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 inydb table query execute
. -
Added start and end times for long-running operation descriptions (export, import).
-
Added replication description support in the
ydb scheme describe
andydb scheme ls
commands. -
Added big datetime types support:
Date32
,Datetime64
,Timestamp64
,Interval64
. -
ydb workload
commands rework:- Added the
--clear
option to theinit
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.
- Added the
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 theinit
subcommand.
- The
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 forydb 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 forydb 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
andydb 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
- Added the ydb tools pg-convert command, which prepares a dump obtained by the pg_dump utility for loading into the YDB postgres-compatible layer.
- Added the
ydb workload query
load testing command, which loads the database with script execution queries in multiple threads. - Added a command
ydb scheme permissions list
to list permissions. - In the commands ydb table query execute, ydb table query explain, ydb yql, and ydb scripting yql, the
--flame-graph
option has been added, specifying the path to the file in which you need to save the visualization of query execution statistics. - Special commands in the interactive query execution mode are now case-insensitive.
- Added validation for special commands and their parameters.
- Added table reading in the scenario with transactions in the command ydb workload transfer topic-to-table run.
- Added the
--commit-messages
option to the command ydb workload transfer topic-to-table run, specifying the number of messages in a single transaction. - Added the options
--only-table-in-tx
and--only-topic-in-tx
in the command ydb workload transfer topic-to-table run, specifying restrictions on the types of queries in a single transaction. - Added new columns
Select time
andUpsert time
in the statistics table in the command ydb workload transfer topic-to-table run.
Bug fixes
- Fixed an error when loading an empty JSON list by commands: ydb table query execute, ydb scripting yql and ydb yql.
Version 2.6.0
Released on September 7, 2023. To update to version 2.6.0, select the Downloads section.
Features
- Added
--path
option to ydb workload tpch run, which contains the path to the directory with tables created by the ydb workload tpch init command. - Added ydb workload transfer topic-to-table run command, which loads the database with read requests from topics and write requests to the table.
- Added the option
--consumer-prefix
in the commands ydb workload topic init, ydb workload topic run read|full, specifying prefixes of consumer names. - Added the
--partition-ids
option in the ydb topic read command, which specifies a comma-separated list of topic partition identifiers to read from. - Added support for CSV and TSV parameter formats in YQL query execution commands.
- The interactive mode of query execution has been redesigned. Added new interactive mode specific commands:
SET
,EXPLAIN
,EXPLAIN AST
. Added saving history between CLI launches and auto-completion of YQL queries. - Added the command ydb config info, which outputs the current connection parameters without connecting to the database.
- Added the command ydb workload kv run mixed, which loads the database with write and read requests.
- The
--percentile
option in the ydb workload topic run write|read|full commands can now take floating point values. - The default values for the
--seconds
and--warmup
options in the ydb workload topic run write|read|full commands have been increased to 60 seconds and 5 seconds, respectively. - Changed the default value for the
--supported-codecs
option toRAW
in the ydb topic create and ydb topic consumer add commands.
Bug fixes
- Fixed string loss when loading with the ydb import file json command.
- Fixed ignored statistics during the warm-up of commands ydb workload topic run write|read|full.
- Fixed incomplete statistics output in the ydb scripting yql and ydb yql commands.
- Fixed incorrect output of progress bar in ydb tools dump and ydb tools restore commands.
- Fixed loading large files with the header in the ydb import file csv|tsv command.
- Fixed hanging of the ydb tools restore --import-data command.
- Fixed error
Unknown value Rejected
when executing the ydb operation list build index command.
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
- Added the ability to upload multiple files in parallel with the command ydb import file.
- Added support for deleting column tables for the command ydb scheme rmdir --recursive.
- Improved stability of the command ydb workload topic.
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
andcoordination 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 ofstdout
. - 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 CLIyc ydb database get information
command output to theydb 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 multipleUPSERT
sessions, run multipleINSERT
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 theydb 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).