Connect & Ingest data from / to a Clickhouse database

Sling CLI Setup

The following credentials keys are accepted:

  • host (required) -> The hostname / ip of the instance

  • database (required) -> The database name of the instance

  • user (optional) -> The username to access the instance

  • schema (optional) -> The default schema to use

  • password (optional) -> The password to access the instance

  • port (optional) -> The port of the instance. Default is 9000.

  • http_url (optional) -> The HTTP url to override the connection string (see

  • ssh_tunnel (optional) -> The URL of the SSH server you would like to use as a tunnel (example ssh://

  • ssh_private_key (optional) -> The private key to use to access a SSH server (raw string or path to file).

  • ssh_passphrase (optional) -> The passphrase to use to access a SSH server.

Here are examples of setting a connection named CLICKHOUSE. We must provide the type=clickhouse property:

$ sling conns set CLICKHOUSE type=clickhouse host=<host> user=<user> database=<database> password=<password> port=<port> 

# OR use url
$ sling conns set CLICKHOUSE url="clickhouse://myuser:mypass@host.ip:9000/mydatabase"

# connecting via http
$ sling conns set CLICKHOUSE type=clickhouse http_url="http://myuser:mypass@host.ip:8123/default"

Environment Variable

export CLICKHOUSE='clickhouse://myuser:mypass@host.ip:9000/mydatabase'

Sling Env File YAML

See here to learn more about the sling env.yaml file.

    type: clickhouse
    host: <host>
    user: <user>
    port: <port>
    database: <database>
    schema: <schema>
    password: <password>

  # connecting via http
    type: clickhouse
    http_url: http://myuser:mypass@host.ip:8123/default

    url: "clickhouse://myuser:mypass@host.ip:9000/mydatabase"

If you are facing issues connecting, please reach out to us at, on discord or open a Github Issue here.

Last updated