Quick start with Exasol Personal

Learn how to quickly spin up an Exasol database using Exasol Personal.

Exasol Personal is a completely free, single-user edition of Exasol running in your own cloud environment or on your local machine. You deploy Exasol Personal from your own computer using Exasol Launcher, a cross-platform command-line tool that runs in Linux, Windows, and macOS.

This article explains how to deploy Exasol Personal and get started using your database.

Prerequisites

Cloud deployment

A cloud account on one of the supported platforms (AWS, Azure, Exoscale, STACKIT) with the necessary permissions to provision compute instances.

For instructions on how to set up your cloud account, see the following articles:

Local deployment

  • macOS 15 or later running on Apple silicon

  • 8 GB RAM minimum

Quick start (macOS / Linux)

Follow these steps to get started quickly launching from Linux or macOS. For Windows instructions and additional details, see Deploy Exasol Personal (full procedure).

  1. Download Exasol Launcher:

    Copy
    curl https://www.exasol.com/install/ | sh
  2. Install on a cloud provider or on your local system:

    Copy
    exasol install aws        # Amazon Web Services
    Copy
    exasol install azure      # Microsoft Azure
    Copy
    exasol install exoscale   # Exoscale
    Copy
    exasol install stackit    # STACKIT
    Copy
    exasol install local      # local system, macOS
  3. See Connect and load data on how to connect to your Exasol Personal database and start loading data.

Deploy Exasol Personal (full procedure)

  1. Download and install Exasol Launcher for your local platform.

    Linux and macOS:

    Copy
    curl https://www.exasol.com/install/ | sh

    This installs the Exasol Launcher binary exasol in ~/.local/bin. On most Linux distributions this directory is already in your PATH. On macOS, or if the installer reports that ~/.local/bin is not in your PATH, follow the instructions in the installer.

    Windows:

    Download Exasol Launcher from the Exasol Download Portal and copy the exasol binary to a directory in your PATH.

  2. Create a new directory deployment and change into the directory:

    Copy
    mkdir deployment
    cd deployment

    Do not place the exasol binary in the deployment directory. This directory must be empty or the installation will fail.

  3. For cloud presets, configure authentication for your provider. See the relevant account setup guide in Prerequisites for the environment variables and credentials required.

  4. Run the exasol install command with the preset for your cloud provider or local system:

    Copy
    exasol install aws                         # Amazon Web Services
    exasol install azure --location <region>   # Microsoft Azure
    exasol install exoscale [--zone <zone>]    # Exoscale
    exasol install stackit                     # STACKIT
    exasol install local                       # local system, macOS

    The exasol install command does the following:

    • Generates backend files in the deployment directory

    • Provisions the necessary deployment resources

    • Starts the deployment

    • Downloads and installs Exasol Personal

    The installation process normally takes about 10 to 20 minutes to complete.

When the deployment process has finished, the terminal output will show the connection details for the new database. You can also find this information at any time by using exasol info in the terminal.

If the deployment process is interrupted, cloud resources that were created in the process will not be automatically removed and may continue to accrue cost. To clean up after an interrupted deployment, use exasol destroy. Alternatively, remove the resources manually in your cloud provider’s console.

Connect and load data

Once the deployment process is complete, use exasol info for information about how to connect to your Exasol database. The credentials for connecting to the database from a client are stored in the file secrets.json in the deployment directory.

Using the built-in SQL client

You can also use the built-in SQL client in Exasol Launcher to connect directly to the database from the command line:

Copy
exasol connect

To run SQL without entering the interactive shell, pass it directly. Both flags accept multiple semi-colon-separated statements and exit when done, which is convenient for scripting and automation:

Copy
exasol connect -c "SELECT 1; SELECT 2"   # run inline statement(s)
exasol connect -f script.sql             # run statements from a file

--command and --file are mutually exclusive. In this non-interactive mode, execution stops at the first failing statement and connect exits with a non-zero status so scripts can detect errors. Combine with --json for machine-readable output, or use --csv for CSV output:

Copy
exasol connect --csv -c "SELECT * FROM PRODUCTS" > products.csv

With --json, non-interactive execution writes exactly one JSON document to stdout for the full invocation, including multi-statement runs and SQL errors. Interactive exasol connect --json continues to emit one JSON document per executed statement.

In an interactive session, query output is capped at 100 rows by default so a large SELECT does not flood the terminal. A note is printed when output is truncated. Piped or --command/--file (non-interactive) execution returns the full result set. Use --max-rows N to set the cap explicitly, or --max-rows 0 for unlimited:

Copy
exasol connect --max-rows 0        # return all rows, even interactively
echo "SELECT * FROM PRODUCTS;" | exasol connect --max-rows 1000

Exasol Admin

Exasol Admin is an easy-to-use web interface that you can use to administer your new Exasol database.To learn more about how to use Exasol Admin, see Exasol Admin.

Instructions how to access Exasol Admin are shown in the terminal output at the end of the install process. To find the Exasol Admin URL after installation, use exasol info.

Credentials for connecting to Exasol Admin are stored in the file secrets-exasol-<play_id>.json in the deployment directory.

Exasol Admin is currently only available in cloud deployments.

Your browser may show a security warning when connecting to Exasol Admin because of the self-signed certificate. Accept this warning and continue.

Connect using SSH

To connect with SSH to your deployment, use one of the following commands:

Copy
# Connect to the compute instance your database is running on:
exasol shell host
Copy
# Connect to the COS container your node is running on:
exasol shell container

Load sample data

To help you get started quickly, Exasol provides a sample dataset hosted on S3 that you can import using SQL. You can load the dataset directly by executing the following command in the deployment directory:

Copy
exasol connect < sample.sql

Alternatively, connect with a SQL client of your choice and paste the following statements:

Copy
CREATE OR REPLACE TABLE PRODUCTS AS (
    IMPORT FROM PARQUET
    AT 'https://exasol-easy-data-access.s3.eu-central-1.amazonaws.com/sample-data/'
    FILE 'online_products.parquet'
);
Copy
CREATE OR REPLACE TABLE PRODUCT_REVIEWS AS (
    IMPORT FROM PARQUET
    AT 'https://exasol-easy-data-access.s3.eu-central-1.amazonaws.com/sample-data/'
    FILE 'product_reviews.parquet'
);
Table Rows Size
PRODUCTS 1,000,000 27.3 MiB
PRODUCT_REVIEWS 1,822,007 154.5 MiB

Both tables are distributed by PRODUCT_ID, enabling efficient joins between them.

  • To learn more about how to connect to your database and load data using various tools and integrations, see Connect to Exasol and Load data.

  • To learn how to use the SQL statements, data types, functions, and other SQL language elements that are supported in Exasol, see SQL reference.

Additional deployment options

Region and zone options for Azure and Exoscale

For deployments on Azure and Exoscale you can pass additional options with the exasol install <preset> command to explicitly choose a deployment region/zone.

For Azure the --location option is always required because the target region is not inferred automatically.

Examples:
Copy
exasol install azure --location westeurope
Copy
exasol install exoscale                     # deploy to ch-gva-2 (default)
exasol install exoscale --zone de-fra-1     # deploy to Frankfurt
exasol install exoscale --zone at-vie-1     # deploy to Vienna

Available zones for Exoscale are: ch-gva-2 (default), de-fra-1, de-muc-1, at-vie-1, at-vie-2, bg-sof-1.

Choosing cluster size and compute instance types

By default, the launcher deploys a single-node cluster on a memory-optimized instance (r6i.xlarge on AWS, Standard_E4s_v3 on Azure, standard.extra-large on Exoscale, m2i.4 on STACKIT). To change the number of nodes or the instance type, use the --cluster-size and --instance-type options:

Copy
exasol install <preset> --cluster-size <number> --instance-type <string>

Specify the deployment directory

By default, Exasol Personal stores the deployment state in ~/.exasol/personal/deployments/default. If you run a command from an existing deployment directory, Exasol Personal uses that directory instead. To choose a different deployment directory explicitly, use exasol install <preset> --deployment-dir <path> .

Retry a failed deployment

An initialized deployment directory is tied to the selected infrastructure and installation presets. To retry a failed deployment safely, rerun exasol install <preset> with the same presets, or use exasol config get, exasol config set, and exasol config reset to inspect or change parameters for the existing presets without deleting local state.

To switch presets in the same deployment directory, run exasol destroy --remove before initializing again, or run exasol remove if the deployment resources are already gone.

Manage the artifact cache

Runtime tools such as OpenTofu are downloaded on demand and reused from a per-user runtime artifact cache. To inspect and manage the cache, you can use the exasol cache command.

Command Usage
exasol cache list Inspect cached artifacts
exasol cache clean Remove stale artifacts
exasol cache clean --invalid Remove artifacts that fail integrity checks
exasol cache clean --partial-downloads Remove staged partial downloads
exasol cache clean --all Remove all cached artifacts
exasol diag cache Inspect cache health without changing it

Stop and start Exasol Personal

To save costs, you can temporarily stop Exasol Personal by using the following command (in the deployment directory):

Copy
exasol stop

This stops the compute instance(s) that Exasol Personal is running on.

Networking and data volumes that the database data is stored on will continue to incur costs when compute instances are stopped.

To start Exasol Personal again, use the following command:

Copy
exasol start

The IP addresses of the nodes will change when you stop and start Exasol Personal. Check the output of the start command to know how to connect to the deployment after a restart.

Remove Exasol Personal

To completely remove an Exasol Personal deployment, use exasol destroy. This command will terminate and delete the compute instances and all associated resources on your cloud platform.

To learn more about this command, use exasol destroy --help.

Deleting the deployment directory and Exasol Launcher will not remove the resources that were created in your cloud environment. To completely remove a deployment, you must use the exasol destroy command.

If you have already deleted the deployment directory and Exasol Launcher, you must remove the resources manually in your cloud provider’s console.

Presets

Exasol Personal uses presets – self-contained directories of templates and config files – to provision infrastructure and install Exasol. Each deployment combines two presets:

Infrastructure preset

  • Provisions cloud resources (compute, network, and storage).

  • Built-in presets: aws, azure, exoscale, stackit, local

Installation preset

  • Installs and configures Exasol on the provisioned nodes.

  • Built-in presets: ubuntu (used by default).

Copy
exasol install <infra-preset> [install-preset]

exasol install aws            # built-in preset by name
exasol install ./my-preset    # local preset by path (starts with . / ~ or contains /)
exasol install ./my-infra ./my-install   # both presets from local paths

To list all available built-in presets:

Copy
exasol presets

Local presets

You can store your own preset directories anywhere on your filesystem and pass the path directly to exasol install. This lets you target additional cloud platforms or customize provisioning without modifying the launcher.

Building your own presets

For the full preset contract: manifest schema, required output artifacts, variable channels, and the reference implementations in assets/infrastructure, see Preset development (infrastructure + installation) on GitHub.

Licensing

Exasol Launcher installs the Exasol database, which is proprietary software provided by Exasol AG, free for personal use. By deploying it with exasol install, you accept the Exasol Personal End User License Agreement (EULA).