QuestDB is a relational column-oriented database designed for time series and event data. It uses SQL with extensions for time series to assist with real-time analytics. These pages cover core concepts of QuestDB, including setup steps, usage guides, and reference documentation for syntax, APIs and configuration.

Get Started#

This section explains how to install and run QuestDB using one of the following methods:

  • Docker for repeatable, portable and scalable installations
  • Binaries for direct downloads to run on Linux, macOS or Windows
  • Homebrew for running QuestDB on macOS

Once QuestDB is running, a guide is provided to create your first database.


This section describes how to connect to QuestDB using a variety of tools and programming languages through our various network endpoints.

  • Connect to the database through our various endpoints. Learn which protocol is best for different use cases.
  • Insert data using the InfluxDB Line Protocol, PostgreSQL wire protocol or our HTTP REST API.
  • Query data with SQL queries via the PostgreSQL Wire Protocol or exported to JSON or CSV via our HTTP REST API.
  • Web Console for quick SQL queries, charting and CSV upload/export functionality.




This section contains resources for managing QuestDB instances and has dedicated pages for the following topics:

  • Capacity planning for configuring server settings and system resources for common scenarios and edge cases
  • Data retention strategy to delete old data and save disk space
  • Health monitoring endpoint for determining the status of the instance
  • Backup and restore using filesystem and point-in-time backup functionality. Notes for cloud providers.

Third-party tools#

This section describes how to integrate QuestDB with third-party tools and utilities for collecting metrics and visualizing data:

  • Prometheus monitoring and alerting.
  • Grafana instructions for connecting QuestDB as a datasource for building visualizations and dashboards
  • Kafka guide for ingesting data from topics into QuestDB by means of Kafka Connect
  • Telegraf guide for collecting system metrics, specifying QuestDB as an output and visualizing the results


This section describes the architecture of QuestDB, how it stores and queries data, and introduces features and capabilities unique to the system.

  • Storage model describes how QuestDB stores records and partitions within tables
  • Designated timestamp is a core feature that enables time-oriented language capabilities and partitioning
  • SQL extensions allow performant time series analysis with a concise syntax
  • JIT compiler to speed up queries
  • Partitions can be used for significant performance benefits on calculations and queries
  • Symbol type makes storing and retrieving repetitive strings efficient
  • Indexes can be used for faster read access on specific columns
  • Geospatial data with geohashes
  • Root directory describes the directory contents of QuestDB for storage and configuration


This section contains the reference documentation for the following categories:


Command-line options#

The following resource provides info on options that may be passed to QuestDB when starting services:


The configuration page shows all the properties that can be used to customize QuestDB.

ILP Client libraries#

Data Types#

The data types page lists the datatypes that can be used in QuestDB.





For hints on diagnosing common configuration issues, see the following resources:

We are happy to help with any question you may have, particularly to help you optimize the performance of your application. Feel free to reach out using the following channels: