Skip to content

CLI reference

Every command and option of the Exasol Launcher, taken from the launcher itself. Run exasol <command> --help to see the same text locally.

Paths shown as <home> refer to your home directory.

Options available on every command

These options are accepted by exasol and by every subcommand, so they are listed here instead of being repeated below.

      --auto-approve       Approve confirmation prompts, which a run with no terminal also does automatically except for local runtime host preparation. Input validation and other safety checks still apply
      --log-level string   Set log level: debug, info, warn, error

-h, --help prints the help for the command it follows.

exasol

Exasol Personal: https://github.com/exasol/exasol-personal

Getting Started:
    To create and run an Exasol deployment, run "exasol install <infra preset name-or-path>".
    This single command initializes your deployment directory, prepares the selected infrastructure,
    and installs the database. It uses either a built-in infrastructure preset or a custom preset
    at a path you provide. Built-in presets are: local, aws, azure, exoscale, and stackit.

    Quick start: exasol install local
    Deployment lifecycle: install -> status -> connect -> stop -> start

    If you do not pass --deployment-dir and are not already inside a deployment directory,
    Exasol Personal uses <home>/.exasol/personal/deployments/default. Pass --deployment-dir
    to override the active deployment directory, or pass --deployment <name> (-d <name>) to use
    <home>/.exasol/personal/deployments/<name> instead, for running more than one deployment
    side by side. --deployment-dir and --deployment cannot be used together.

    Note: Cloud presets require provider credentials in your environment.
    Use "exasol init --help", "exasol install --help", or "exasol presets list" to see the preset
    compatibility matrix.

    AI agent skills: https://github.com/exasol-labs/exasol-agent-skills

Usage:
    exasol [command] [flags]

Essential Commands:
    config      Manage deployment configuration
    deploy      Deploy using an existing deployment directory
    init        Initialize a new deployment directory
    install     Initialize, apply configuration, and deploy Exasol in one step

Lifecycle Commands:
    destroy     Destroy a deployment
    remove      Remove a local deployment directory without destroying resources
    start       Start a deployment
    stop        Stop a deployment

Additional Commands:
    cache       Manage the runtime artifact cache
    completion  Generate the autocompletion script for the specified shell
    connect     Open an SQL connection to a running database
    deployments Manage launcher-managed deployment directories
    diag        Diagnostic tools for an active deployment
    info        Prints information about your Exasol deployment.
    presets     Manage embedded presets
    shell       Shell access to deployment host and container
    slc         Manage script language containers (SLCs)
    status      Get the status of a deployment
    version     Print the program version and exit

Examples:
  exasol install local

Essential Commands

exasol config

Manage deployment configuration

    Inspect, patch, or reset configuration parameters for the presets already
    initialized in the deployment directory. Configuration changes preserve local
    infrastructure state. Run exasol deploy after changing configuration to apply
    the changes to the deployment.

Usage:
    exasol config [command] [flags]

Additional Commands:
    get                           Show active deployment configuration
    reset                         Reset deployment configuration options to defaults
    set                           Update deployment configuration options

exasol config get

Show active deployment configuration

Usage:
    exasol config get [option-name...] [flags]

Flags:
  -d, --deployment string          Select <home>/.exasol/personal/deployments/<name> as the deployment directory
      --deployment-dir file-path   Override the deployment directory selected automatically
  -j, --json                       Output in JSON format

exasol config reset

Reset deployment configuration options to defaults

Usage:
    exasol config reset [option-name...] [flags]

Flags:
      --all                        Reset all options to defaults
  -d, --deployment string          Select <home>/.exasol/personal/deployments/<name> as the deployment directory
      --deployment-dir file-path   Override the deployment directory selected automatically

exasol config set

Update deployment configuration options

Usage:
    exasol config set [flags]

Flags:
  -d, --deployment string          Select <home>/.exasol/personal/deployments/<name> as the deployment directory
      --deployment-dir file-path   Override the deployment directory selected automatically

exasol deploy

Deploy using an existing deployment directory

Once a deployment is complete, Terraform state files will be stored in the deployment directory.
Do not delete the deployment directory until the `destroy` command has been executed.

Usage:
    exasol deploy [flags]

Flags:
  -d, --deployment string          Select <home>/.exasol/personal/deployments/<name> as the deployment directory
      --deployment-dir file-path   Override the deployment directory selected automatically
      --tofu-update-lockfile       Allow OpenTofu to update .terraform.lock.hcl during init
  -v, --verbose                    Enable verbose output for deployment actions

exasol init

Initialize a new deployment directory

    Extracts the specified infrastructure and installation presets into the deployment directory.
    For an already initialized deployment with the same presets, supplied configuration
    flags update only the selected parameters. Omitted parameters keep their values.
    To switch presets, run exasol destroy --remove first, or exasol remove if the
    deployment resources are already gone.
    If --deployment-dir is not provided and the current directory is not a deployment directory,
    uses <home>/.exasol/personal/deployments/default. Pass --deployment <name> (-d <name>) to use
    <home>/.exasol/personal/deployments/<name> instead.

    Preset arguments:
      - The first argument selects the infrastructure preset (required).
      - The optional second argument selects the installation preset.

    Each argument can be either an embedded preset name (e.g. "aws") or a preset directory path.
    To force path selection, pass a path-like value such as "./my-preset" or "/abs/path/to/preset".

    Tip: use "exasol presets" to discover and export presets.

    Available infrastructure presets: aws, azure, exoscale, local, stackit
    Available installation presets: local, ubuntu

    Compatibility matrix (embedded presets):
      infrastructure  local  ubuntu
      aws             no     yes   
      azure           no     yes   
      exoscale        no     yes   
      local           yes    no    
      stackit         no     yes

Usage:
    exasol init <infra preset name-or-path> [install preset name-or-path] [flags]

Flags:
  -d, --deployment string           Select <home>/.exasol/personal/deployments/<name> as the deployment directory
      --deployment-dir file-path    Override the deployment directory selected automatically
      --no-launcher-version-check   Disable automatic version checking for new launcher releases

Examples:
  exasol init aws
  exasol init aws ubuntu
  exasol init ./my-infra-preset ./my-install-preset

exasol init also accepts the variables of the selected preset. Each preset below adds these flags to the ones listed above.

exasol init aws

Infrastructure variable flags of preset `aws`:
      --adminui-password string   Optional Admin UI password. If empty, a random password is generated (default: "")
      --cluster-size number       Number of nodes in the cluster (use 1 for single-node deployment) (default: 1)
      --data-volume-size number   Size in GB for the database data volume (default: 100)
      --db-password string        Optional database password. If empty, a random password is generated (default: "")
      --instance-type string      EC2 instance type (default: "r6i.xlarge")
      --os-volume-size number     Size in GB for the OS/root volume (default: 100)
      --s3-archive-enabled        Enable remote archive/backup integration: creates S3 bucket, IAM user/access keys, SSM params, and VPC S3 endpoint. (default: true)
      --volume-type string        EBS volume type for both OS and data volumes (default: "gp3")

Installation variable flags of preset `ubuntu`:
      --exasol-version string   Exasol database version to install. Only change this if you are sure the release is compatible. (default: 2026.1.0)
      --no-db-version-check     Disable the daily database version check (C4). (default: false)

exasol init azure

Infrastructure variable flags of preset `azure`:
      --adminui-password string   Optional Admin UI password. If empty, a random password is generated (default: "")
      --blob-archive-enabled      Enable remote archive/backup integration: creates Azure Blob Storage resources and registers a remote archive volume. (default: true)
      --cluster-size number       Number of nodes in the cluster (use 1 for single-node deployment) (default: 1)
      --data-volume-size number   Size in GB for the database data volume (default: 100)
      --db-password string        Optional database password. If empty, a random password is generated (default: "")
      --disk-sku string           Azure managed disk SKU for OS and data disks (default: "Premium_LRS")
      --instance-type string      Azure virtual machine type (default: "Standard_E4s_v3")
      --location string           Azure region for deployment (e.g., westeurope, eastus) (default: "")
      --os-volume-size number     Size in GB for the OS disk (default: 100)

Installation variable flags of preset `ubuntu`:
      --exasol-version string   Exasol database version to install. Only change this if you are sure the release is compatible. (default: 2026.1.0)
      --no-db-version-check     Disable the daily database version check (C4). (default: false)

exasol init exoscale

Infrastructure variable flags of preset `exoscale`:
      --adminui-password string   Optional Admin UI password. If empty, a random password is generated (default: "")
      --cluster-size number       Number of nodes in the cluster (use 1 for single-node deployment) (default: 1)
      --data-volume-size number   Size in GB for the database data volume (default: 100)
      --db-password string        Optional database password. If empty, a random password is generated (default: "")
      --instance-type string      Exoscale compute instance type (default: "standard.extra-large")
      --os-volume-size number     Size in GB for the OS/root volume (default: 100)
      --s3-archive-enabled        Enable remote archive/backup integration: creates SOS bucket, IAM API key, and registers the archive volume. (default: true)
      --zone string               Exoscale zone to deploy into (e.g. ch-gva-2, de-fra-1, de-muc-1, at-vie-1, at-vie-2, bg-sof-1). Set via TF_VAR_zone environment variable. (default: "ch-gva-2")

Installation variable flags of preset `ubuntu`:
      --exasol-version string   Exasol database version to install. Only change this if you are sure the release is compatible. (default: 2026.1.0)
      --no-db-version-check     Disable the daily database version check (C4). (default: false)

exasol init local

Infrastructure variable flags of preset `local`:
      --ports string   Database port override for the local deployment

exasol init stackit

Infrastructure variable flags of preset `stackit`:
      --adminui-password string           Optional Admin UI password. If empty, a random password is generated (default: "")
      --cluster-size number               Number of nodes in the cluster (use 1 for single-node deployment) (default: 1)
      --data-volume-size number           Size in GB for the database data volume (default: 100)
      --db-password string                Optional database password. If empty, a random password is generated (default: "")
      --instance-type string              Server machine type (default: "m2i.4")
      --os-volume-size number             Size in GB for the OS/root volume (default: 100)
      --project-id string                 UUID of the target project (default: "")
      --region string                     StackIT region to deploy into (e.g. eu01, eu02) (default: "eu01")
      --s3-archive-enabled                Enable remote archive/backup integration: creates S3 bucket, IAM user/access keys, and S3 endpoint. (default: true)
      --volume-performance-class string   Performance class for both OS and data volumes (default: "storage_premium_perf6")

Installation variable flags of preset `ubuntu`:
      --exasol-version string   Exasol database version to install. Only change this if you are sure the release is compatible. (default: 2026.1.0)
      --no-db-version-check     Disable the daily database version check (C4). (default: false)

exasol install

Initialize, apply configuration, and deploy Exasol in one step

    Initializes the deployment directory or applies supplied configuration, prepares infrastructure,
    and installs Exasol.
    Rerunning install with the same presets is safe for retrying failed deployments.
    To switch presets, run exasol destroy --remove first, or exasol remove if the
    deployment resources are already gone.
    If --deployment-dir is not provided and the current directory is not a deployment directory,
    uses <home>/.exasol/personal/deployments/default. Pass --deployment <name> (-d <name>) to use
    <home>/.exasol/personal/deployments/<name> instead.

    Preset arguments:
      - The first argument selects the infrastructure preset (required).
      - The optional second argument selects the installation preset.

    Each argument can be either an embedded preset name (e.g. "aws") or a preset directory path.
    To force path selection, pass a path-like value such as "./my-preset" or "/abs/path/to/preset".

    Tip: use "exasol presets" to discover and export presets.

    Available infrastructure presets: aws, azure, exoscale, local, stackit
    Available installation presets: local, ubuntu

    Compatibility matrix (embedded presets):
      infrastructure  local  ubuntu
      aws             no     yes   
      azure           no     yes   
      exoscale        no     yes   
      local           yes    no    
      stackit         no     yes

Usage:
    exasol install <infra preset name-or-path> [install preset name-or-path] [flags]

Flags:
  -d, --deployment string           Select <home>/.exasol/personal/deployments/<name> as the deployment directory
      --deployment-dir file-path    Override the deployment directory selected automatically
      --no-launcher-version-check   Disable automatic version checking for new launcher releases
      --tofu-update-lockfile        Allow OpenTofu to update .terraform.lock.hcl during init
  -v, --verbose                     Enable verbose output for deployment actions

Examples:
  exasol install aws
  exasol install aws ubuntu

exasol install also accepts the variables of the selected preset. Each preset below adds these flags to the ones listed above.

exasol install aws

Infrastructure variable flags of preset `aws`:
      --adminui-password string   Optional Admin UI password. If empty, a random password is generated (default: "")
      --cluster-size number       Number of nodes in the cluster (use 1 for single-node deployment) (default: 1)
      --data-volume-size number   Size in GB for the database data volume (default: 100)
      --db-password string        Optional database password. If empty, a random password is generated (default: "")
      --instance-type string      EC2 instance type (default: "r6i.xlarge")
      --os-volume-size number     Size in GB for the OS/root volume (default: 100)
      --s3-archive-enabled        Enable remote archive/backup integration: creates S3 bucket, IAM user/access keys, SSM params, and VPC S3 endpoint. (default: true)
      --volume-type string        EBS volume type for both OS and data volumes (default: "gp3")

Installation variable flags of preset `ubuntu`:
      --exasol-version string   Exasol database version to install. Only change this if you are sure the release is compatible. (default: 2026.1.0)
      --no-db-version-check     Disable the daily database version check (C4). (default: false)

exasol install azure

Infrastructure variable flags of preset `azure`:
      --adminui-password string   Optional Admin UI password. If empty, a random password is generated (default: "")
      --blob-archive-enabled      Enable remote archive/backup integration: creates Azure Blob Storage resources and registers a remote archive volume. (default: true)
      --cluster-size number       Number of nodes in the cluster (use 1 for single-node deployment) (default: 1)
      --data-volume-size number   Size in GB for the database data volume (default: 100)
      --db-password string        Optional database password. If empty, a random password is generated (default: "")
      --disk-sku string           Azure managed disk SKU for OS and data disks (default: "Premium_LRS")
      --instance-type string      Azure virtual machine type (default: "Standard_E4s_v3")
      --location string           Azure region for deployment (e.g., westeurope, eastus) (default: "")
      --os-volume-size number     Size in GB for the OS disk (default: 100)

Installation variable flags of preset `ubuntu`:
      --exasol-version string   Exasol database version to install. Only change this if you are sure the release is compatible. (default: 2026.1.0)
      --no-db-version-check     Disable the daily database version check (C4). (default: false)

exasol install exoscale

Infrastructure variable flags of preset `exoscale`:
      --adminui-password string   Optional Admin UI password. If empty, a random password is generated (default: "")
      --cluster-size number       Number of nodes in the cluster (use 1 for single-node deployment) (default: 1)
      --data-volume-size number   Size in GB for the database data volume (default: 100)
      --db-password string        Optional database password. If empty, a random password is generated (default: "")
      --instance-type string      Exoscale compute instance type (default: "standard.extra-large")
      --os-volume-size number     Size in GB for the OS/root volume (default: 100)
      --s3-archive-enabled        Enable remote archive/backup integration: creates SOS bucket, IAM API key, and registers the archive volume. (default: true)
      --zone string               Exoscale zone to deploy into (e.g. ch-gva-2, de-fra-1, de-muc-1, at-vie-1, at-vie-2, bg-sof-1). Set via TF_VAR_zone environment variable. (default: "ch-gva-2")

Installation variable flags of preset `ubuntu`:
      --exasol-version string   Exasol database version to install. Only change this if you are sure the release is compatible. (default: 2026.1.0)
      --no-db-version-check     Disable the daily database version check (C4). (default: false)

exasol install local

Infrastructure variable flags of preset `local`:
      --ports string   Database port override for the local deployment

exasol install stackit

Infrastructure variable flags of preset `stackit`:
      --adminui-password string           Optional Admin UI password. If empty, a random password is generated (default: "")
      --cluster-size number               Number of nodes in the cluster (use 1 for single-node deployment) (default: 1)
      --data-volume-size number           Size in GB for the database data volume (default: 100)
      --db-password string                Optional database password. If empty, a random password is generated (default: "")
      --instance-type string              Server machine type (default: "m2i.4")
      --os-volume-size number             Size in GB for the OS/root volume (default: 100)
      --project-id string                 UUID of the target project (default: "")
      --region string                     StackIT region to deploy into (e.g. eu01, eu02) (default: "eu01")
      --s3-archive-enabled                Enable remote archive/backup integration: creates S3 bucket, IAM user/access keys, and S3 endpoint. (default: true)
      --volume-performance-class string   Performance class for both OS and data volumes (default: "storage_premium_perf6")

Installation variable flags of preset `ubuntu`:
      --exasol-version string   Exasol database version to install. Only change this if you are sure the release is compatible. (default: 2026.1.0)
      --no-db-version-check     Disable the daily database version check (C4). (default: false)

Lifecycle Commands

exasol destroy

Destroy a deployment

Destroying a deployment deletes all resources - including all data.
If you want to retain any data, make sure you've created and moved backups to another safe location.
By default, local deployment files are kept so the same deployment can be inspected or recreated.
Pass --remove to remove the local deployment directory after deployment resources have been destroyed.

Usage:
    exasol destroy [flags]

Flags:
  -d, --deployment string          Select <home>/.exasol/personal/deployments/<name> as the deployment directory
      --deployment-dir file-path   Override the deployment directory selected automatically
      --remove                     Remove the local deployment directory after deployment resources are successfully destroyed
  -v, --verbose                    Enable verbose output for deployment actions

exasol remove

Remove a local deployment directory without destroying resources

This is a recovery command for cases where deployment resources were already deleted manually,
or where you no longer have access to destroy them through the launcher.

WARNING: This command removes the local deployment directory. It does not destroy
deployment resources and can make launcher-based cleanup impossible if resources still exist.

Usage:
    exasol remove [flags]

Flags:
  -d, --deployment string          Select <home>/.exasol/personal/deployments/<name> as the deployment directory
      --deployment-dir file-path   Override the deployment directory selected automatically

exasol start

Start a deployment

Start a deployment after it has been stopped.
After the deployment starts, it will have a new public IP address and DNS name assigned.

This command now waits until the Exasol database becomes ready and can accept connections.
If the database does not become ready within the timeout, the command fails.

Usage:
    exasol start [flags]

Flags:
  -d, --deployment string          Select <home>/.exasol/personal/deployments/<name> as the deployment directory
      --deployment-dir file-path   Override the deployment directory selected automatically
  -j, --json                       Output in JSON format
  -v, --verbose                    Enable verbose output for deployment actions
      --wait-timeout-minutes int   Maximum minutes to wait for the database to become ready (default 30)

exasol stop

Stop a deployment

Stop a deployment without removing its configuration, data, or infrastructure.

Usage:
    exasol stop [flags]

Flags:
  -d, --deployment string          Select <home>/.exasol/personal/deployments/<name> as the deployment directory
      --deployment-dir file-path   Override the deployment directory selected automatically
  -j, --json                       Output in JSON format
  -v, --verbose                    Enable verbose output for deployment actions

Additional Commands

exasol cache

Manage the runtime artifact cache

Runtime artifacts are launcher-managed tools and files that are downloaded on demand
and reused across deployments.

Usage:
    exasol cache [command] [flags]

Additional Commands:
    clean                         Clean cached runtime artifacts
    list                          List cached runtime artifacts
    unlock                        Clear a stale runtime artifact cache lock

exasol cache clean

Clean cached runtime artifacts.

With no selector, this removes artifacts older than the configured retention period.
Use --invalid to remove artifacts that fail integrity checks.
Use --all to remove every cached runtime artifact.
Use --partial-downloads to remove staged partial downloads.
Use --dry-run to preview a cleanup without removing files.

Usage:
    exasol cache clean [flags]

Flags:
      --all                 Remove all cached runtime artifacts
      --dry-run             Preview cleanup without removing files
      --invalid             Remove cached artifacts that fail integrity checks
      --partial-downloads   Remove staged partial downloads

exasol cache list

List cached runtime artifacts

Usage:
    exasol cache list [flags]

Flags:
  -j, --json   Output in JSON format

exasol cache unlock

Clear a stale runtime artifact cache lock.

Only use this command when you are certain that no launcher process is currently
using the runtime artifact cache.

Usage:
    exasol cache unlock [flags]

exasol completion

Generate the autocompletion script for exasol for the specified shell.
See each sub-command's help for details on how to use the generated script.

Usage:
    exasol completion [command] [flags]

Additional Commands:
    bash                          Generate the autocompletion script for bash
    fish                          Generate the autocompletion script for fish
    powershell                    Generate the autocompletion script for powershell
    zsh                           Generate the autocompletion script for zsh
exasol completion bash
Generate the autocompletion script for the bash shell.

This script depends on the 'bash-completion' package.
If it is not installed already, you can install it via your OS's package manager.

To load completions in your current shell session:

    source <(exasol completion bash)

To load completions for every new session, execute once:

#### Linux:

    exasol completion bash > /etc/bash_completion.d/exasol

#### macOS:

    exasol completion bash > $(brew --prefix)/etc/bash_completion.d/exasol

You will need to start a new shell for this setup to take effect.

Usage:
    exasol completion bash

Flags:
      --no-descriptions   disable completion descriptions
exasol completion fish
Generate the autocompletion script for the fish shell.

To load completions in your current shell session:

    exasol completion fish | source

To load completions for every new session, execute once:

    exasol completion fish > ~/.config/fish/completions/exasol.fish

You will need to start a new shell for this setup to take effect.

Usage:
    exasol completion fish [flags]

Flags:
      --no-descriptions   disable completion descriptions
exasol completion powershell
Generate the autocompletion script for powershell.

To load completions in your current shell session:

    exasol completion powershell | Out-String | Invoke-Expression

To load completions for every new session, add the output of the above command
to your powershell profile.

Usage:
    exasol completion powershell [flags]

Flags:
      --no-descriptions   disable completion descriptions
exasol completion zsh
Generate the autocompletion script for the zsh shell.

If shell completion is not already enabled in your environment you will need

to enable it.  You can execute the following once:

    echo "autoload -U compinit; compinit" >> ~/.zshrc

To load completions in your current shell session:

    source <(exasol completion zsh)

To load completions for every new session, execute once:

#### Linux:

    exasol completion zsh > "${fpath[1]}/_exasol"

#### macOS:

    exasol completion zsh > $(brew --prefix)/share/zsh/site-functions/_exasol

You will need to start a new shell for this setup to take effect.

Usage:
    exasol completion zsh [flags]

Flags:
      --no-descriptions   disable completion descriptions

exasol connect

Open an SQL connection to a running database

Establish an SQL connection to the database instance in an active deployment.
When run non-interactively with --json, stdout contains one JSON document for
the full invocation. Statement records include statementType and rowsAffected;
result-set statements report rowsAffected as 0 when the driver does not expose
affected-row metadata. Interactive --json sessions continue to print one JSON
document per executed statement instead of an invocation envelope.

Usage:
    exasol connect [flags]

Flags:
  -c, --command string             Execute the given semicolon-separated SQL statement(s) and exit
      --csv                        Output in CSV format
  -d, --deployment string          Select <home>/.exasol/personal/deployments/<name> as the deployment directory
      --deployment-dir file-path   Override the deployment directory selected automatically
      --execute-on-semicolon       Execute SQL only after semicolon terminators are entered (default true)
  -f, --file string                Execute the semicolon-separated SQL statements from the given file and exit
  -k, --insecure                   Skip server certificate verification
  -j, --json string[="pretty"]     Output in JSON format: pretty, compact (default "pretty")
      --max-rows int               Maximum rows to display per query (0 = unlimited; default: 100 interactively, unlimited otherwise) (default -1)
  -p, --password string            Database password
  -u, --username string            Database username (default "sys")

Examples:
  exasol connect
  exasol connect --json
  exasol connect --csv -c "SELECT * FROM products" > products.csv
  exasol connect -c "SELECT 1; SELECT 2"
  exasol connect -f script.sql
  printf 'SELECT 1;\n' | exasol connect --json=compact

exasol deployments

Manage launcher-managed deployment directories

Deployment directories are the launcher-managed directories under
<home>/.exasol/personal/deployments: the default deployment directory and any
named deployment directory selected via --deployment/-d. This does not include
deployment directories selected via an arbitrary --deployment-dir path.

Usage:
    exasol deployments [command] [flags]

Additional Commands:
    list                          List launcher-managed deployment directories

exasol deployments list

List launcher-managed deployment directories

Usage:
    exasol deployments list [flags]

Flags:
  -j, --json   Output in JSON format

exasol diag

Diagnostic tools for an active deployment

Includes subcommands for deployment configuration inspection and recovery tooling.

Usage:
    exasol diag [command] [flags]

Additional Commands:
    cache                         Inspect the runtime artifact cache
    info                          Print all deployment info
    local                         Report local deployment runtime and reachability state
    unlock                        Unlock a deployment.

exasol diag cache

Inspect the runtime artifact cache.

This command reports cache state without removing artifacts, rewriting metadata,
or clearing cache locks.

Usage:
    exasol diag cache [flags]

exasol diag info

Print all deployment info

The output is formatted as JSON.

Usage:
    exasol diag info [flags]

Flags:
  -d, --deployment string          Select <home>/.exasol/personal/deployments/<name> as the deployment directory
      --deployment-dir file-path   Override the deployment directory selected automatically

exasol diag local

Report local deployment runtime and reachability state

Reports local VM status, reported guest IP, bound host ports, per-port
forwarder reachability, database readiness, and local platform support.
Safe to run at any time, whether or not the deployment is currently running.

The output is formatted as JSON.

Usage:
    exasol diag local [flags]

Flags:
  -d, --deployment string          Select <home>/.exasol/personal/deployments/<name> as the deployment directory
      --deployment-dir file-path   Override the deployment directory selected automatically

exasol diag unlock

Get the status of a deployment

    The lock file will be removed.

    The lock file prevents multiple instances of the exasol launcher running simultaneously.
    Unlocking the directory may cause inconsistent file states in the deployment directory.

Usage:
    exasol diag unlock [flags]

Flags:
  -d, --deployment string          Select <home>/.exasol/personal/deployments/<name> as the deployment directory
      --deployment-dir file-path   Override the deployment directory selected automatically

exasol info

Prints information about your Exasol deployment.

You can use the '--json' option to print the output in JSON format.

Example usage:
    exasol info
    exasol info --json

Usage:
    exasol info [flags]

Flags:
  -d, --deployment string          Select <home>/.exasol/personal/deployments/<name> as the deployment directory
      --deployment-dir file-path   Override the deployment directory selected automatically
  -j, --json                       Output in JSON format

exasol presets

Manage embedded presets

Presets are pre-defined configurations used by commands like "init" and "install".

Use "exasol presets list" to see what presets are available.

Usage:
    exasol presets [command] [flags]

Additional Commands:
    export                        Export an embedded preset to a directory
    list                          List available presets

exasol presets export

Export an embedded preset to a local directory.

The target directory must exist and be empty.

By default, the current working directory is used.

Usage:
    exasol presets export <preset> [flags]

Flags:
      --to string     Target directory to export to (must be empty)
  -t, --type string   Preset type (use when the same preset name exists for multiple types)

exasol presets list

List available embedded presets.

By default, the output is human-readable.
Use the '--json' option to print the output in JSON format.

Usage:
    exasol presets list [flags]

Flags:
  -j, --json          Output in JSON format
  -t, --type string   Filter by preset type: infrastructure, installation

exasol shell

Shell access to deployment host and container

Includes subcommands for host OS shell and COS container shell access.

Usage:
    exasol shell [command] [flags]

Additional Commands:
    container                     Establish an interactive COS container shell connection
    host                          Establish a secure shell connection to a host node

exasol shell container

Establish an interactive COS container shell connection

Creates an interactive COS container shell connection in the active deployment.
COS is cluster-scoped and uses the access node.

Usage:
    exasol shell container [flags]

Flags:
  -d, --deployment string          Select <home>/.exasol/personal/deployments/<name> as the deployment directory
      --deployment-dir file-path   Override the deployment directory selected automatically

exasol shell host

Establish a secure shell connection to a host node

Creates a secure host OS shell connection to a node in the active deployment.
If no specific node is specified, connects to the first node available.

Usage:
    exasol shell host [flags]

Flags:
  -d, --deployment string          Select <home>/.exasol/personal/deployments/<name> as the deployment directory
      --deployment-dir file-path   Override the deployment directory selected automatically
  -n, --node string                Name of the node to connect to. Connects to the first available node if not specified

exasol slc

Manage script language containers (SLCs)

Script language containers provide the language runtimes used by UDFs.
Local deployments ship without any SLC installed; install one to run UDFs in that language.

Usage:
    exasol slc [command] [flags]

Additional Commands:
    custom                        Manage user-supplied (custom) script language containers
    install                       Install an official script language container
    list                          List available script language containers and which are installed
    remove                        Remove a script language container
    update                        Update an installed official script language container

exasol slc custom

Manage user-supplied (custom) script language containers

Usage:
    exasol slc custom [command] [flags]

Additional Commands:
    install     Install a custom script language container
    update      Replace an installed custom script language container
exasol slc custom install
Install a custom script language container

Usage:
    exasol slc custom install [flags]

Flags:
      --alias string               Alias for the custom SLC (used in CREATE <alias> SCALAR SCRIPT)
  -d, --deployment string          Select <home>/.exasol/personal/deployments/<name> as the deployment directory
      --deployment-dir file-path   Override the deployment directory selected automatically
  -j, --json                       Output in JSON format
      --language string            Language identifier provided by the custom SLC client (normalized to lowercase)
      --no-restart                 Record the custom SLC without restarting; it activates on the next start
      --source string              Container tarball to install: a local path or an HTTPS URL
  -v, --verbose                    Enable verbose output for deployment actions
exasol slc custom update
Replace an installed custom script language container

Usage:
    exasol slc custom update [flags]

Flags:
      --alias string               Alias of the custom SLC to update
  -d, --deployment string          Select <home>/.exasol/personal/deployments/<name> as the deployment directory
      --deployment-dir file-path   Override the deployment directory selected automatically
  -j, --json                       Output in JSON format
      --language string            Override the custom SLC language identifier (normalized to lowercase)
      --no-restart                 Record the update without restarting; it applies on the next start
      --source string              Container tarball to update to: a local path or an HTTPS URL
  -v, --verbose                    Enable verbose output for deployment actions

exasol slc install

Install an official script language container by alias or flavor.
Prefer aliases because they remain stable when the catalog flavor changes.

The alias `rust` is special: it is not part of the official catalogue. It installs
the latest release of exasol-labs/language-container-rs that matches this machine's
CPU architecture. To install a specific Rust build instead, use
`exasol slc custom install --language rust --source <path-or-url>`.

For any other user-supplied container, use `exasol slc custom install`.

Usage:
    exasol slc install <alias-or-flavor> [flags]

Flags:
  -d, --deployment string          Select <home>/.exasol/personal/deployments/<name> as the deployment directory
      --deployment-dir file-path   Override the deployment directory selected automatically
  -j, --json                       Output in JSON format
      --no-restart                 Record the SLC without restarting; it activates on the next start
  -v, --verbose                    Enable verbose output for deployment actions

exasol slc list

List available script language containers and which are installed

Usage:
    exasol slc list [flags]

Flags:
  -d, --deployment string          Select <home>/.exasol/personal/deployments/<name> as the deployment directory
      --deployment-dir file-path   Override the deployment directory selected automatically
  -j, --json                       Output in JSON format

exasol slc remove

Remove an installed script language container by alias.

Handles both official and user-supplied (custom) containers.

Usage:
    exasol slc remove <alias> [flags]

Flags:
  -d, --deployment string          Select <home>/.exasol/personal/deployments/<name> as the deployment directory
      --deployment-dir file-path   Override the deployment directory selected automatically
  -j, --json                       Output in JSON format
      --no-restart                 Record the removal without restarting; it applies on the next start
  -v, --verbose                    Enable verbose output for deployment actions

exasol slc update

Update an installed official script language container by alias or flavor.
Prefer aliases because they remain stable when the catalog flavor changes.

The alias `rust` is special: it re-resolves the latest release of
exasol-labs/language-container-rs for this machine's CPU architecture and applies it
if it differs from the installed container. To pin a specific Rust build, use
`exasol slc custom install --language rust --source <path-or-url>`.

For any other user-supplied container, use `exasol slc custom update`.

Usage:
    exasol slc update <alias-or-flavor> [flags]

Flags:
  -d, --deployment string          Select <home>/.exasol/personal/deployments/<name> as the deployment directory
      --deployment-dir file-path   Override the deployment directory selected automatically
  -j, --json                       Output in JSON format
      --no-restart                 Record the update without restarting; it applies on the next start
  -v, --verbose                    Enable verbose output for deployment actions

exasol status

Get the status of a deployment

Display the status of the current deployment.

    The possible values for the `status` field are:

    - not_initialized
    - initialized
    - operation_in_progress
    - interrupted
    - stopped
    - running
    - deployment_failed
    - database_connection_failed
    - database_ready

Usage:
    exasol status [flags]

Flags:
  -d, --deployment string          Select <home>/.exasol/personal/deployments/<name> as the deployment directory
      --deployment-dir file-path   Override the deployment directory selected automatically
  -j, --json                       Output in JSON format
      --timeout int                Maximum number of seconds to wait for the complete status check (default 5)
      --unsafe                     Try to read the deployment folder state even if it is locked. May fail.

exasol version

Print the program version and exit

Example usage:
    exasol version
    exasol version --latest --json

Usage:
    exasol version [flags]

Flags:
  -j, --json     Output in JSON format
  -l, --latest   Get information about the latest available version