Skip to content
DuckDB

Serverless DuckDB 2

Query local tables, PostgreSQL and MariaDB with DuckDB 2. Save analytical snapshots in DuckLake with managed R2. DuckDB 1 is also available.

Free tier, no credit card
SQL Console
DuckDB

Tables

  • sales
  • customers
  • products
  • events
SELECT region, SUM(revenue) AS total
FROM sales
GROUP BY region
ORDER BY total DESC LIMIT 5;
regiontotal
us-east482,194.50
us-west311,820.00
eu-west208,944.75
ap-south147,612.20
sa-east92,408.40
5 rows ยท 8ms
  • Free tier

    $0/mo, no credit card

  • Then flat

    $5 or $15/mo, no meters

  • Encrypted

    TLS on every plan

  • Layerbase Cloud

    Managed, in seconds

  • Desktop and CLI

    Run it locally or self-host

Branch DuckDB for every preview deploy

Fork a running DuckDB into a full, isolated copy with its own connection string. With Branching turned on for the database, copy-on-write makes it near-instant, not a dump and restore: point a preview deploy at it, test a migration, then throw it away when the pull request merges. Layerbase branches 17 engines, not just Postgres.

Branching applies to standalone DuckDB. Attached sources block branching, and retained DuckLake state blocks normal backups, branching, restore, move and deletion, even after detach.

See how branching works
Branch it from the CLI
lbase cloud branch app-db pr-482
lbase cloud branch ls app-db
lbase cloud branch delete app-db pr-482

Start with DuckDB. Add sources. Keep results in DuckLake.

Run a standalone DuckDB 2 database, query PostgreSQL and MariaDB from your account, or join both in one SQL query. Add DuckLake when you want to save analytical snapshots in managed R2. DuckDB 1 is also available for standalone use and supported account sources; managed DuckLake requires DuckDB 2. On every plan, a DuckDB 2 client can also connect natively over HTTPS with the Quack extension and a token you can rotate.

PostgreSQL + MariaDB

Read-only sources

DuckDB 2

Query, join, then copy with SQL

DuckLake

PostgreSQL catalog
Parquet data in managed R2

Local DuckDB tables stay in place. Saving a lake table is an explicit SQL copy, not continuous replication.

Account sources are available on every plan for eligible databases in the same personal account and server container. Managed DuckLake is included on Pro and Dedicated, along with two Beta options that are still a work in progress: keeping the lake in your own R2 or S3 bucket, and attaching an external PostgreSQL database as a read-only source.

Explore DuckLake

Connect with any DuckDB client

Ad-hoc analytics over CSVs and Parquet, columnar OLAP workloads, BI dashboards, and teams who want DuckDB without managing a server.

  • Spin up a hosted warehouse for a side project without provisioning infra
  • Drop a CSV, JSON, or Parquet file into the web console and query it as a table in seconds
  • Prototype an analytics layer that scales to zero between sessions
  • Connect Prisma, Drizzle, DBeaver, or any Postgres tool and browse the full schema
  • Query PostgreSQL and MariaDB account sources through a Postgres-compatible endpoint
  • Attach a DuckDB client natively over HTTPS with the Quack extension and a token you can rotate
Full DuckDB connection guide
bash
DuckDB
psql "postgresql://layerbase:password@your-host.cloud.layerbase.dev:5432/duck1?sslmode=require"

What you actually get on the free DuckDB tier

DuckDB is usually a file on your laptop. Hosted here it is a real endpoint your team and your BI tool can both reach, on the Free plan, with no card and no trial clock.

Free is $0/mo with no card

The Free plan covers 2 databases, 5 GB of storage, and up to 20 concurrent connections. DuckDB is one of the engines you can create on it. There is no trial clock on the plan and no expiry date.

You connect with Postgres clients, not a file path

Layerbase runs DuckDB behind a PostgreSQL-compatible endpoint on port 5432, so psql, your BI tool, and any Postgres driver connect to it directly. Copy the Postgres-style URL from Quick Connect and keep sslmode=require on it. Do not add sslnegotiation=direct: DuckDB uses the standard Postgres SSL negotiation, and forcing direct negotiation drops the connection.

It sleeps after 15 minutes idle and wakes on connect

A free DuckDB database hibernates after 15 minutes with no connections; paid plans wait 6 hours. The hostname, port, and data volume all stay in place, so the next connection wakes it in roughly 1 to 5 seconds and your query then runs normally.

Forget about it and it archives, it does not vanish

A free database left hibernated for 14 days is archived (7 days if you never connected to it): its address is released and it takes an explicit Restore, roughly 10 to 30 seconds, to bring it back. Data and backups are kept. After 90 continuous days archived the live resources are reclaimed and the most recent backup is kept and still restorable in one click. Paid plans are never auto-archived.

Create a free DuckDB database

No card on Free. Solo is $5/mo and Pro is $15/mo when you outgrow it.

See every engine on the free plan

Common DuckDB questions

Can I use DuckLake with hosted DuckDB?

Yes. DuckDB 2 supports managed DuckLake 1.1 on Pro and Dedicated: PostgreSQL holds metadata and managed R2 stores Parquet data. Managed lake storage has its own allowance equal to your plan storage (25 GB on Pro, plus 25 GB per pool block); over it the lake turns read-only until Reclaim storage frees space or a pool block raises the allowance. Query PostgreSQL and MariaDB as read-only sources, join them, and explicitly copy results into lake tables. DuckDB 1 remains available for standalone use and supported sources. Layerbase does not back up a lake: its Parquet objects are never copied, and a DuckDB database with retained lake state, even after detach, is not covered by local backups and blocks lifecycle operations. Databases with only read-only sources back up normally. Two Beta options, still a work in progress, are also open to Pro and Dedicated without enrollment: keeping the lake in your own AWS S3 or Cloudflare R2 bucket, and attaching a PostgreSQL database hosted outside Layerbase as a read-only source.

Can I connect a DuckDB client natively?

Yes, on every plan. The owner of a DuckDB 2 database in a personal account can enable a native connection from Connect. It runs over an HTTPS gateway with the Quack extension and a token: copy the snippet into a compatible DuckDB client. Rotate the token or disable native access at any time; enabling, rotating, and disabling briefly restart the database. If the native extension cannot be installed, the database still starts without native access and ordinary SQL over the Postgres-compatible endpoint keeps working.

What is DuckDB?

DuckDB is an in-process columnar database built for analytics: fast aggregations and scans over CSV, JSON, and Parquet data, with a SQL dialect close to Postgres. It is the usual pick for ad-hoc analysis, BI dashboards, and OLAP work that does not justify a cluster. Layerbase exposes hosted DuckDB through a PostgreSQL-compatible endpoint with a web SQL console, so psql, Prisma, Drizzle, DBeaver, and other Postgres clients can query it.

Is DuckDB really free on Layerbase?

Yes. Layerbase Free includes DuckDB with no credit card. Your database hibernates after 15 minutes of inactivity and wakes on the next connection. Upgrade only if you need always-on, larger storage, or paid-tier engines.

How do I connect to hosted DuckDB?

Layerbase Cloud exposes DuckDB through a PostgreSQL-compatible endpoint. Use psql, any PostgreSQL driver, Prisma, Drizzle, or a BI tool: the connection string in the dashboard works with all of them. Schema introspection works too, so a client can browse your tables and columns. SSL is required (?sslmode=require).

How do I get data into hosted DuckDB?

Three ways. Drag a CSV, JSON, or Parquet file onto the web query console and it becomes a table. Import an existing .duckdb database file to restore it whole. Or query remote files in place with read_parquet and read_csv_auto over a URL. Standard INSERTs and any PostgreSQL client work too.

Can I use DuckDB locally instead?

Yes. The Layerbase CLI (npm i -g layerbase, run as lbase) runs any database engine locally, including DuckDB, as native processes with no Docker required. Layerbase Desktop wraps the same engine runtime in a GUI. The same database files are portable across local, desktop, and cloud.

What happens to my DuckDB database if I stop using it?

Free databases hibernate after 15 minutes of inactivity, or 30 for MySQL and MariaDB (paid: 6 hours), and wake automatically on connect, typically in 1 to 2 seconds for DuckDB. After 14 days idle on the Free tier, the database is archived (its network listener and DNS record are removed); you can restore it from the dashboard. Paid plans never auto-archive.

Is DuckDB available on the desktop app?

Yes. Layerbase Desktop runs DuckDB locally with the same dashboard, query console, and connection management as the cloud version. Free for personal use.

Branch DuckDB for every preview deploy

Fork a running DuckDB into a full, isolated copy with its own connection string. With Branching turned on for the database, copy-on-write makes it near-instant, not a dump and restore. Point a preview deploy at it, test a migration, then throw it away. Layerbase branches 17 engines, not just Postgres.

See how branching works

Everything a DuckDB database should ship with

The same primitives on every DuckDB database: TLS, web console, hibernation, and a real dashboard. The rows that need a paid plan say so on the row; nothing here is hidden behind a sales call.

Local file backups exclude attached sources and DuckLake data. Normal backups and lifecycle operations are blocked while a managed lake is retained, including after detach. Lake recovery requires operator assistance.

Web IDE

Query console in the dashboard, no extra client to install.

Included

TLS by default

All connections encrypted. No setup required.

Included

Always-on connections

Pin a database to your plan's always-on pool so it never hibernates. Free has no pool, so a free database always sleeps when idle; Solo includes 768 MB of pool and Pro 1.5 GB.

Included, Paid plans

Scale to zero

Hibernates when idle. Wakes on the next connection.

Included

Connection pooling

Pooled endpoint for serverless and edge workloads.

Included

Direct connections

Bypass the pooler for migrations and replication.

Included

Native HTTPS endpoint

Engines whose own wire protocol speaks HTTPS. Every database, including this one, is also queryable over the platform's HTTPS query API and web console.

Not available

Serverless driver

Drop-in HTTP driver for edge runtimes (Neon serverless, PlanetScale, Upstash REST, or the engine-native client).

Not available

IP whitelisting

Restrict access to specific IPs or CIDR ranges.

Included

Automatic backups

Scheduled dumps and volume snapshots with one-click restore on paid plans. Free includes 1 manual backup slot you take and restore yourself.

Included, Scheduled: paid plans

What DuckDB costs on Layerbase

Plans are flat. There is no per-hour compute meter, no per-database line item, and no ingress or egress fee, so the bill does not change shape when your traffic does. You do not need an AWS, GCP, or Azure account either: Layerbase runs the infrastructure.

Free$0

Scale to zero when idle. No credit card.

Solo$5/mo

The database you pin never sleeps.

Pro$15/mo

Every shared-cloud engine, plus a bigger always-on pool.

Hosted DuckDB, compared

MotherDuck

Free tier
Lite plan at $0: 10 GB of storage and 10 Pulse compute hours per month
Billing
Business plan $250 per org/mo plus usage; compute billed per second

Layerbase

Free tier
DuckDB on the Free tier
Billing
$0, $5, or $15/mo flat. No compute meters.

Competitor facts verified September 7, 2026 against each vendor's own pricing and documentation pages: MotherDuck.

DuckDB is developed by the DuckDB Foundation. Layerbase packages and hosts official releases; the engine itself is built upstream.

duckdb.org