Main options: --help Print usage summary and exit; combine with --verbose to display all options --verbose Increase output verbosity -V [ --version ] Print version and exit --version-clean Print version in machine-readable format and exit -C [ --config-file ] arg Path to config file --proto_caps arg Enable/disable chunked protocol: chunked_optional, notchunked, notchunked_optional, send_chunked, send_chunked_optional, send_notchunked, send_notchunked_optional, recv_chunked, recv_chunked_optional, recv_notchunked, recv_notchunked_optional -q [ --query ] arg Query. Can be specified multiple times (--query "SELECT 1" --query "SELECT 2") or once with multiple semicolon-separated queries (--query "SELECT 1; SELECT 2;"). In the latter case, INSERT queries with non-VALUE format must be separated by empty lines. --queries-file arg File path with queries to execute; multiple files can be specified (--queries-file file1 file2...) -n [ --multiquery ] Obsolete, does nothing -m [ --multiline ] If specified, allow multi-line queries (Enter does not send the query) -d [ --database ] arg Database --query_kind arg (=initial_query) One of initial_query/secondary_query/no _query --query_id arg Query ID --history_file arg Path to a file containing command history --history_max_entries arg (=1000000) Maximum number of entries in the history file --stage arg (=complete) Request query processing up to specified stage: complete,fetch_columns ,with_mergeable_state,with_mergeable_st ate_after_aggregation,with_mergeable_st ate_after_aggregation_and_limit --progress [=arg(=tty)] (=default) Print progress of queries execution - to TTY: tty|on|1|true|yes; to STDERR non-interactive mode: err; OFF: off|0|false|no; DEFAULT - interactive to TTY, non-interactive is off --progress-table [=arg(=tty)] (=default) Print a progress table with changing metrics during query execution - to TTY: tty|on|1|true|yes; to STDERR non-interactive mode: err; OFF: off|0|false|no; DEFAULT - interactive to TTY, non-interactive is off --enable-progress-table-toggle arg (=1) Enable toggling of the progress table by pressing the control key (Space). Only applicable in interactive mode with the progress table enabled. -A [ --disable_suggestion ] Disable loading suggestions. Note that suggestions are loaded asynchronously through a second connection to ClickHouse server. Recommended when pasting queries with TAB characters. --wait_for_suggestions_to_load Load suggestion data synchronously --suggestion_limit arg (=10000) Suggestion limit for how many databases, tables and columns to fetch -t [ --time ] Print query execution time to stderr in non-interactive mode (for benchmarks) --memory-usage [=arg(=default)] (=none) Print memory usage to stderr in non-interactive mode (for benchmarks). Values: 'none', 'default', 'readable' --echo In batch mode, print query before execution --log-level arg Log level --server_logs_file arg Write server logs to specified file -f [ --format ] arg Default input and output format. In clickhouse-client only the default output format. --output-format arg Default output format. Takes precedence over --format. -E [ --vertical ] Same as --format=Vertical or FORMAT Vertical or \G at end of command --highlight arg (=1) Toggle syntax highlighting in interactive mode (can also use --hilite) --ignore-error Do not stop processing after an error occurred --stacktrace Print stack traces of exceptions --hardware-utilization Print hardware utilization information in progress bar --print-profile-events Printing ProfileEvents packets --profile-events-delay-ms arg (=0) Delay between printing `ProfileEvents` packets (-1 - print only totals, 0 - print every single packet) --processed-rows Print the number of locally processed rows --interactive Process queries-file or --query query and start interactive mode --pager arg Pipe all output into this command (less or similar) --prompt arg Custom prompt string --max_memory_usage_in_client arg Set memory limit in client/local server --client_logs_file arg Path to a file for writing client logs. Currently we only have fatal logs (when the client crashes) -c [ --config ] arg config-file path (another shorthand) --connection arg connection to use (from the client config), by default connection name is hostname -s [ --secure ] Use TLS connection --tls-sni-override arg Override the SNI host name used for TLS connections --no-secure Don't use TLS connection -u [ --user ] arg (=default) user --password arg password --ask-password ask-password --ssh-key-file arg File containing the SSH private key for authenticate with the server. --ssh-key-passphrase arg Passphrase for the SSH private key specified by --ssh-key-file. --quota_key arg A string to differentiate quotas when the user have keyed quotas configured on server --jwt arg Use JWT for authentication --one-time-password arg Time-based one-time password (TOTP) for two-factor authentication --login Use OAuth 2.0 to login --oauth-url arg The base URL for the OAuth 2.0 authorization server --oauth-client-id arg The client ID for the OAuth 2.0 application --oauth-audience arg The audience for the OAuth 2.0 token --max_client_network_bandwidth arg the maximum speed of data exchange over the network for the client in bytes per second. --compression arg enable or disable compression (enabled by default for remote communication and disabled for localhost communication). --query-fuzzer-runs arg (=0) After executing every SELECT query, do random mutations in it and run again specified number of times. This is used for testing to discover unexpected corner cases. --create-query-fuzzer-runs arg (=0) --buzz-house-config arg Path to configuration file for BuzzHouse --interleave-queries-file arg file path with queries to execute before every file from 'queries-file'; multiple files can be specified (--queries-file file1 file2...); this is needed to enable more aggressive fuzzing of newly added tests (see 'query-fuzzer-runs' option) --opentelemetry-traceparent arg OpenTelemetry traceparent header as described by W3C Trace Context recommendation --opentelemetry-tracestate arg OpenTelemetry tracestate header as described by W3C Trace Context recommendation --no-warnings disable warnings when client connects to server --no-server-client-version-message suppress server-client version mismatch message --fake-drop Ignore all DROP queries, should be used only for testing --accept-invalid-certificate Ignore certificate verification errors, equal to config parameters openSSL.client.invalidCertificateHandle r.name=AcceptCertificateHandler and openSSL.client.verificationMode=none External tables options: --external marks the beginning of a clause. You may have multiple sections like this, for the number of tables being transmitted --file arg data file or - for stdin --name arg (=_data) name of the table --format arg (=TabSeparated) data format --structure arg structure --types arg types Hosts and ports options: -h [ --host ] arg (=localhost) Server hostname. Multiple hosts can be passed via multiple argumentsExample of usage: '--host host1 --host host2 --port port2 --host host3 ...'Each '--port port' will be attached to the last seen host that doesn't have a port yet,if there is no such host, the port will be attached to the next first host or to default host. --port arg server ports All settings are documented at https://clickhouse.com/docs/operations/settings/settings. In addition, --param_name=value can be specified for substitution of parameters for parameterized queries. See also: https://clickhouse.com/docs/en/integrations/sql-clients/cli