Warehouse

Contents

The warehouse is in beta

Not yet available to everyone – join the waitlist and we'll let you in as soon as it's ready.

The warehouse is a full analytical database that PostHog provisions and runs for your organization. Your PostHog data and your connected sources land in it continuously, and you query it with SQL – from a command-line client, from BI tools like Superset or Metabase, from your own code, or from PostHog itself.

It's the difference between "PostHog can query my data" and "PostHog is my data warehouse": you get a real database endpoint with its own hostname and credentials, holding your product data and business data side by side.

How it works

Under the hood, the warehouse runs PostHog's fork of Trino, the open source distributed SQL engine, over open Parquet files on durable object storage. You don't need to know any of that to use it, but it explains the shape of the product:

  1. Provisioning – When you set up the warehouse, PostHog creates a dedicated catalog for your organization, with its own hostname like my-warehouse.dw.us.postwh.com and its own storage.
  2. Getting data in – PostHog backfills your historical events, persons, and groups, then keeps the warehouse up to date with daily loads. Sources you've connected (Stripe, Postgres, Salesforce, HubSpot, and so on) sync into the warehouse after each of their regular imports.
  3. Storage – Data lives as columnar Parquet files in object storage, with a transactional catalog on top. Storage and compute scale independently, and your data survives any individual machine.
  4. Querying – The fork keeps Trino's standard client protocol over HTTPS, so existing Trino clients, drivers, and BI tool connectors work without special adapters.

Architecture

A closer look at the pieces PostHog manages for you:

  • An HTTPS front end. Each warehouse gets its own hostname. Connections terminate over TLS, are authenticated, and are routed to the query engine in your region (US or EU).
  • A query engine built for the warehouse. PostHog's fork adds a connector for the warehouse's storage format, with full read and write support. It scopes every login to its own warehouse hostname, and it tunes how Parquet files are read from object storage.
  • Shared, autoscaling compute. Queries run on a shared pool that PostHog manages. A coordinator plans each query and splits it across many workers that run in parallel. When queries start to wait for capacity, PostHog adds workers automatically. Each organization has its own concurrency limits, so one organization's heavy workload can't take over the pool.
  • Isolated storage. Your organization's tables live in their own catalog and their own storage bucket in your region, as open Parquet files. Access control keeps every organization's credentials scoped to its own catalog. Compute comes and goes; your data doesn't, and it lives in an open format rather than a proprietary store.

How this fits into PostHog

The warehouse doesn't replace ClickHouse or any other part of PostHog. Insights, product analytics, and every other PostHog feature keep running on PostHog's existing query engine, unchanged, and your events keep flowing in exactly as before.

The warehouse is an addition: a dedicated database that receives the same data, where you can run isolated workloads on a query engine that PostHog manages for you. Point BI dashboards, notebooks, and scheduled jobs at it, build your own tables in it, and none of it competes with the queries powering your PostHog project.

What's in your warehouse

Your organization gets one catalog, and each project in your organization gets its own schema name, chosen during setup. With a project schema name of prod, you'll find:

DataWhere it lives
Eventsposthog.events_prod
Personsposthog.persons_prod
Groupsposthog.groups_prod
Source importsA schema per project for imported sources, e.g. posthog_data_imports_prod, with one table per synced source table
Modeled dataA schema holding the outputs of your data models
Your own tablesAnything you create yourself with CREATE TABLE or CREATE VIEW

The exact layout is still settling during the beta, so the reliable way to see what you have is to ask the warehouse itself – SHOW SCHEMAS, SHOW TABLES FROM posthog, or DESCRIBE on any table.

Where to go next

Still have questions?

Was this page useful?