> 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 dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

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

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
