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).
-
Download Exasol Launcher:
Copycurl https://www.exasol.com/install/ | sh -
Install on a cloud provider or on your local system:
Copyexasol install aws # Amazon Web ServicesCopyexasol install azure # Microsoft AzureCopyexasol install exoscale # ExoscaleCopyexasol install stackit # STACKITCopyexasol install local # local system, macOS -
See Connect and load data on how to connect to your Exasol Personal database and start loading data.
Deploy Exasol Personal (full procedure)
-
Download and install Exasol Launcher for your local platform.
Linux and macOS:
Copycurl https://www.exasol.com/install/ | shThis installs the Exasol Launcher binary
exasolin~/.local/bin. On most Linux distributions this directory is already in yourPATH. On macOS, or if the installer reports that~/.local/binis not in yourPATH, follow the instructions in the installer.Windows:
Download Exasol Launcher from the Exasol Download Portal and copy the
exasolbinary to a directory in your PATH. -
Create a new directory
deployment
and change into the directory:Copymkdir deployment
cd deploymentDo not place the exasol binary in the deployment directory. This directory must be empty or the installation will fail.
-
For cloud presets, configure authentication for your provider. See the relevant account setup guide in Prerequisites for the environment variables and credentials required.
-
Run the
exasol installcommand with the preset for your cloud provider or local system:Copyexasol 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, macOSThe
exasol installcommand 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:
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:
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:
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:
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.
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:
exasol connect < sample.sql
Alternatively, connect with a SQL client of your choice and paste the following statements:
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'
);
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:
exasol install azure --location westeurope
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:
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):
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:
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).
-
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:
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).