# Quickstart

> Create a DuckDB database in the cloud and query it from the DuckDB CLI on your own machine, in about two minutes.

Source: https://duckhouse.co/docs

DuckHouse gives you a DuckDB database in the cloud that you query from DuckDB itself. There is no new client to learn and no driver to install: you `ATTACH` it and it behaves like another database in your session.

## 1. Create a database

1.  [Create an account](https://duckhouse.co/signup) and open the [dashboard](https://duckhouse.co/dashboard).
2.  Choose **Create database**, give it a name, and keep the recommended region, US East, unless the programs that will query it run elsewhere. DuckLake databases always run there. The smallest size is fine to start with; you can resize later.
3.  Copy the **token** you are shown. It is displayed once. If you lose it, create another from the database's page.

Provisioning takes about a minute. The database's page shows its connection address when it is running.

## 2. Install DuckDB

You need DuckDB **1.5.3 or newer**. Your database runs DuckDB 1.5.5, and matching that version is the safest choice (see [Versions and limitations](https://duckhouse.co/docs/limits.md)).

```bash
# macOS and Linux
curl https://install.duckdb.org | sh

# or with Homebrew
brew install duckdb

duckdb --version
```

## 3. Attach and query

Start `duckdb` and attach your database using the address from its page and your token. DuckDB downloads its `quack` extension automatically the first time.

```sql
ATTACH 'quack:duckdb-a1b2c3d4e5.fly.dev:443' AS wh (TOKEN 'dh_your_token');

-- Create a table in the cloud and query it
CREATE TABLE wh.events AS
  SELECT range AS id, now() AS created_at FROM range(1000);

SELECT count(*) FROM wh.events;
```

That table now lives in your DuckHouse database. Close DuckDB, open it on another machine, attach again, and it is still there.

## 4. See what is in it

```sql
FROM wh.query('SHOW ALL TABLES');
```

> Why not plain SHOW TABLES?
>
> The protocol DuckDB uses to talk to remote databases is new, and it does not list remote tables yet. `wh.query('…')` runs SQL on the server, where everything works. This and a few similar gaps are covered in [Querying and loading data](https://duckhouse.co/docs/querying.md).

## Where to go next

Load your own data with [one statement](https://duckhouse.co/docs/querying.md#loading-data), connect from [Python or Node.js](https://duckhouse.co/docs/connect.md), keep a [Postgres database or Stripe account in sync](https://duckhouse.co/docs/connections.md), or hand your data to an [AI agent over MCP](https://duckhouse.co/docs/mcp.md).

Prefer a GUI to the terminal? [DuckPlus](https://duckhouse.co/duckplus) is our native DuckDB IDE. Paste the same address and token and browse your tables, write SQL and see results (see [Connecting](https://duckhouse.co/docs/connect.md#duckplus)).
