Design and Manage QuestDB Databases Visually with DbSchema

DbSchema lets you design, manage, and document QuestDB databases. Create ER diagrams, define tables and columns, and generate SQL scripts - with or without a live database connection.

Use Git to share the design, compare it with the QuestDB database, and deploy changes. DbSchema also includes a data editor, query builder, and HTML5 documentation - everything you need in one tool.

DbSchema Database Designer

Download DbSchema Download QuestDB JDBC Driver

QuestDB is a columnar, append-only time-series database built for high-throughput ingestion and low-latency analytical queries. Its storage engine is purpose-built for time-ordered data, and every table has a designated timestamp column that drives partition layout. QuestDB exposes a PostgreSQL wire protocol endpoint, which means DbSchema connects using the standard PostgreSQL JDBC driver and interacts with QuestDB's SQL dialect without any custom adapter.

Write SQL Queries Against QuestDB Tables

QuestDB extends ANSI SQL with time-series operators including SAMPLE BY, LATEST ON, and ASOF JOIN. DbSchema's SQL editor accepts these extensions, letting you write and execute time-series queries interactively, inspect column types, and iterate on results without switching tools.

SQL editor executing a SAMPLE BY query against a QuestDB table

Browse Time-Series Rows in the Data Explorer

The data explorer renders QuestDB query results in a paginated grid with column-level filtering. Use it to spot-check recently ingested data, verify timestamp precision after a write, or confirm that an expected row exists — without writing a one-off query client.

Data explorer showing paginated rows from a QuestDB time-series table

Document QuestDB Table Schemas

DbSchema generates static HTML documentation from the QuestDB schema, listing each table with its column names, data types, and designated timestamp column. Share this documentation with teams consuming QuestDB data via InfluxDB Line Protocol or the REST API so they understand the expected schema before writing ingest code.

Schema documentation generated for a QuestDB database

Connecting to QuestDB

QuestDB's PostgreSQL wire protocol listener runs on port 8812 — not the default PostgreSQL port. Use the JDBC URL jdbc:postgresql://host:8812/qdb with the PostgreSQL JDBC driver, which DbSchema downloads automatically. The default credentials are username admin and password quest; change these in any production deployment. QuestDB also exposes a REST API on port 9000 and an InfluxDB Line Protocol ingress on port 9009, but those are ingest-only interfaces — DbSchema uses only the PG wire protocol endpoint at port 8812.

Why Use DbSchema with QuestDB

  • Visualize QuestDB table schemas including designated timestamp and partition columns
  • Run SAMPLE BY, LATEST ON, and ASOF JOIN queries from a dedicated SQL editor
  • Page through ingested time-series data without writing a separate client application
  • Generate schema documentation for API consumers and downstream analytics teams
  • Compare table schemas across QuestDB instances in different environments