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
  • Create your first database provides a guide once QuestDB is running
  • Learn more is a selection of useful concepts and guides for new QuestDB users


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:

Third-party tools#

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

  • Flink guide for ingesting data from Flink into QuestDB
  • Grafana instructions for connecting QuestDB as a datasource for building visualizations and dashboards
  • MindsDB tutorial for connecting QuestDB to MindsDB for running models with Machine Learning capabilities.
  • Kafka guide for ingesting data from Kafka topics into QuestDB
  • Pandas for ingesting Pandas dataframes via ILP
  • Prometheus monitoring and alerting
  • Redpanda instructions for a Kafka compatible data streaming tool
  • Spark for large-scale data engineering
  • Superset instructions for using Apache Superset data visualization
  • 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 WHERE clauses
  • Partitions can be used to perform time-based queries more efficiently
  • 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: