> For the complete documentation index, see [llms.txt](https://docs.e6data.com/query-engine/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.e6data.com/query-engine/developers/connecting-to-the-engine.md).

# Connecting to the engine

Connect BI tools, SQL clients, drivers, and your own code to an e6data cluster - one endpoint that speaks three protocols.

Connect BI tools, SQL clients, drivers, and your own code to an e6data query cluster. e6data exposes **one authenticated endpoint that speaks three protocols**, so you can connect with the e6data drivers, with plain HTTP, or with any PostgreSQL client you already have - no new driver required for the Postgres path.

## Pick a path

| You want to connect…                        | Use                                                                                                                                                                        | Driver to install                        |
| ------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------- |
| Tableau, pgAdmin, psql, any Postgres tool   | [PostgreSQL protocol](/query-engine/developers/connecting-to-the-engine/postgresql-protocol.md)                                                                            | None (stock Postgres)                    |
| DBeaver, DbVisualizer, a Java app, Zeppelin | [JDBC](/query-engine/developers/connecting-to-the-engine/jdbc.md)                                                                                                          | e6data JDBC driver                       |
| Python, a notebook                          | [Python connector](/query-engine/developers/connecting-to-the-engine/python-connector.md) or [REST](/query-engine/developers/connecting-to-the-engine/rest-api-for-sql.md) | `pip install` (connector) or none (HTTP) |
| A REST integration in any language          | [REST API for SQL queries](/query-engine/developers/connecting-to-the-engine/rest-api-for-sql.md)                                                                          | None                                     |

See [One-endpoint / three-protocols model](/query-engine/developers/connecting-to-the-engine/one-endpoint-three-protocols.md) for how this fits together.

## Core concepts

* **Cluster name** - the routing key. Every connection names the target cluster (a header on the gRPC/HTTP paths; encoded in the database name on the Postgres path). You never address individual nodes.
* **Catalog and schema** - what you query.
* **Access token** - a [personal access token](/query-engine/guides/security/access-tokens/pat-and-service-account-keys.md) authenticates you (the password on the Postgres path, or exchanged for a session on HTTP).
* **TLS is always on**, and the **first query to a suspended cluster auto-resumes it** (allow \~30–90 s).

Find your exact values - host, cluster names, and a ready-to-copy connection string per tool - in the Console under **Cluster → Connectivity**, and create a token under **Profile → Settings**.

## Connection-string cheat sheet

```
e6data JDBC : jdbc:e6data://<HOST>:443/secure=true&cluster-name=<CLUSTER>&catalog=<CATALOG>&database=<SCHEMA>
PG JDBC     : jdbc:postgresql://<PG_HOST>:5432/<CLUSTER>/<CATALOG>?user=<EMAIL>&sslmode=require
psql        : psql "host=<PG_HOST> port=5432 dbname=<CLUSTER>/<CATALOG> user=<EMAIL> sslmode=require"
SQLAlchemy  : e6data://<EMAIL>:<TOKEN>@<HOST>:443/<CLUSTER>?secure=true
HTTP REST   : POST https://<HOST>/api/v1/authenticate → POST https://<HOST>/api/v2/sql/statements
```

## See also

* [One-endpoint / three-protocols model](/query-engine/developers/connecting-to-the-engine/one-endpoint-three-protocols.md)
* [JDBC](/query-engine/developers/connecting-to-the-engine/jdbc.md) · [PostgreSQL protocol](/query-engine/developers/connecting-to-the-engine/postgresql-protocol.md) · [REST API](/query-engine/developers/connecting-to-the-engine/rest-api-for-sql.md) · [Python connector](/query-engine/developers/connecting-to-the-engine/python-connector.md)
* [BI tool recipes](/query-engine/developers/bi-tool-recipes/tableau.md)
* [Access tokens](/query-engine/guides/security/access-tokens.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.e6data.com/query-engine/developers/connecting-to-the-engine.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
