Private beta · 5 design partner slots

DuckDB for real applications.

The performance of DuckDB. The reliability you'd expect from a database that runs in production.

DuckDB is a phenomenal engine. Putting it into an app with real users is another story — concurrent reads, configuration per connection, query routing, error handling under load. We've spent months on that so you don't have to. Drop-in DuckDB-compatible Python SDK, remote execution, built for applications, not dashboards.

DuckDB-compatible Python SDK
Built for concurrent reads
Production-grade reliability
The migration

From import duckdb
to production-ready in two lines.

Same API. Same query semantics. Just remote execution that scales with your app.

Before — DuckDB embedded
app.py
import duckdb

conn = duckdb.connect("my_database.db")
result = conn.execute(
    "SELECT user_id, COUNT(*) FROM events GROUP BY 1"
).fetchall()
After — Duckgresql remote
app.py
import duckgresql

conn = duckgresql.connect(
    token="dkgql_...",
    database="my_database",
)
result = conn.execute(
    "SELECT user_id, COUNT(*) FROM events GROUP BY 1"
).fetchall()

Same fetch methods (fetchall, fetchone, fetchdf, fetch_arrow_table). Same query language. Async support included. Python SDK first. JavaScript / TypeScript on the way.

Why we built this

Born from two years
of DuckDB in production.

Duckgresql comes from two years of running DuckDB in production. The migration from Postgres fixed analytics overnight — and opened a harder problem: making DuckDB behave under real concurrent traffic.

The managed options out there are built for analytics teams running on top of a data lake — not for an application that needs DuckDB to behave under real traffic. Duckgresql exists to fill that gap.

How it works

DuckDB embedded,
made remote.

A DuckDB-compatible client points your application at a remote engine pool. The operational layer — connection management, configuration, query routing, error handling under concurrent load — runs on our side.

Your application Python duckgresql Python SDK DuckDB-compatible API Duckgresql cloud Connection pooling · query routing Concurrent execution · error handling Arrow Flight SQL DUCKDB · ENGINE POOL DuckDB engines tuned for production load
01 · Drop in the SDK

Replace import duckdb with import duckgresql. Same execution methods, same query semantics, same return types. Async-friendly, pandas-friendly, Arrow-friendly.

02 · We handle the operational layer

Connection pooling, memory configuration, query routing under concurrent load, graceful error handling. The work that takes months to get right when you DIY DuckDB in production.

03 · Bring Postgres if you need it (optional)

Migrating from Postgres to DuckDB gradually? Need to query both systems with one SQL surface? Use the Postgres bridge. If you don't need it, ignore it — it's not in the hot path.

What's in the SDK

What's in the SDK
today.

We're in private beta. This is the surface we're hardening with our first design partners.

01

DuckDB-compatible Python API

Connect, execute, fetchall, fetchone, fetchdf, fetch_arrow_table, async support. The methods you already use, pointed at a remote engine.

02

Concurrent reads, handled

Multiple clients, multiple queries, all hitting tuned DuckDB engines without saturating each other. The configuration work is already done.

03

Async jobs for long-running queries

Submit an analytical query, get a job ID, poll for completion. For the queries that take seconds or minutes, not milliseconds.

04

Postgres bridge (optional)

Migrate from Postgres to DuckDB gradually, or query both with the same SQL. Use it when you need it. Skip it when you don't.

Who this is for

Who this
is for.

We're being deliberately narrow during the beta. If this sounds like you, we want to talk.

Who this is for · 01

Teams running DuckDB (or considering it) for an application with concurrent users

You've seen what DuckDB can do on a single laptop, on a single notebook, on a single dashboard. You want to bring that performance to an app where dozens or hundreds of users are filtering, aggregating, exploring concurrently. You don't want to spend three months tuning configuration, writing routing logic, handling edge cases when a query OOMs and takes others down with it. You want to focus on your product.

concurrent reads production load Python-first

Not your situation? We'll get to other use cases after the beta. Reach out anyway if you're curious — but we're prioritizing the profile above for now.

Design partner program

Built together
with our first five.

We're taking on five teams as design partners for the private beta. Free during the program. Direct access to the founder. In exchange, we ask for a 30-minute call every two weeks so we can build this with your real workload in mind, not in a vacuum.

We'll prioritize teams already running DuckDB in or near production.

Are you currently using DuckDB?

We read every application personally. We'll reply within 5 business days, even if it's not a fit right now.