Logo QuestDB

Databases

QuestDB

QuestDB — time series in SQL on your VPS: fast ingestion, web console, REST API and PostgreSQL protocol, protected by a password.

About QuestDB

QuestDB is an open-source time-series database (Apache-2.0 licence). It is built for one job: continuously receiving timestamped measurements — sensors, application metrics, market prices, events — and querying them right away in SQL, without learning a new language.

Its SQL adds time-series operations: `SAMPLE BY` to aggregate by interval, `LATEST ON` for the latest value of each series, `ASOF JOIN` to align two streams in time. Data arrives over the InfluxDB Line Protocol on HTTP (official clients exist for Python, Go, Java, Node.js, Rust, C/C++ and .NET), through CSV import or in SQL. A built-in web console serves as SQL editor, import tool and quick chart, and the PostgreSQL protocol lets you plug in your usual tools and drivers.

What gets installed

Ready when the VPS starts

Compatible OS
Choice of Linux distributions
Application
QuestDB
Tech stack
DockerJavaQuestDB
Minimum RAM
2 GB minimum
Minimum CPU
1 vCPU
Default port
8112
Access
root over SSH

Key features

  • Time-series SQL — SAMPLE BY, LATEST ON and ASOF JOIN on top of standard SQL.
  • Fast ingestion — InfluxDB Line Protocol over HTTP, with official clients for Python, Go, Java, Node.js, Rust and .NET.
  • Built-in web console — SQL editor, CSV file import, charts of the results.
  • REST API — queries, CSV import and export over HTTP, from any language.
  • PostgreSQL protocol — your usual PostgreSQL drivers and tools, from programs on the VPS.
  • Protected access — admin user and generated password, required on the HTTP API, ingestion and the PostgreSQL protocol.

When to use this solution?

IoT measurements

Your sensors or gateways send their readings over HTTPS; you compute hourly or daily averages in SQL and spot the latest value of each device.

Application metrics and events

Record timestamped response times, orders or sign-ups from your code, then analyse them in SQL from the console or the REST API.

Market and finance data

Store high-frequency prices or trades and align two streams in time with ASOF JOIN for your analyses.

Guide

Deploy QuestDB on your VPS

  1. Create the VPS and choose the address

    Order an Ubuntu 24.04 VPS with at least 2 GB of RAM (4 GB if you ingest a lot of data). QuestDB requires a domain: your servers and devices send their measurements to it, so it must answer over HTTPS on a stable name. It opens on a subdomain of one of your domains, or on the VPS's free subdomain (questdb.{dns_slug}.servorbit-dns.com), HTTPS included. No need to buy a domain name.

  2. Install QuestDB from the Marketplace

    In your client area, select QuestDB, choose the address and click Install. The script deploys the official container, generates the admin user's password, enables authentication on the HTTP API and the PostgreSQL protocol, turns off anonymous telemetry and configures the nginx reverse proxy over HTTPS.

  3. Log in for the first time

    Open https://your-domain: the console shows "Sign in to QuestDB". Enter the admin user and the password shown in your client area, then run SELECT build(); in the SQL editor to check access.

  4. Send your first data

    Write a line in InfluxDB Line Protocol format to https://your-domain/write with the same credentials as basic authentication: the table is created on the first write. From your code, use an official QuestDB client with a https::addr=your-domain:443;username=admin;password=…; configuration.

  5. Query in SQL

    In the console or through the REST API (/exec), aggregate by interval with SAMPLE BY 1h and fetch the latest value of each series with LATEST ON. A program on the VPS can also connect over the PostgreSQL protocol on 127.0.0.1:8812.

Frequently asked questions

Questions about QuestDB

← Back to DatabasesAll applications
ClickHouse is a general-purpose analytical database, designed for large volumes and ad hoc queries on any kind of data. QuestDB focuses on time series: each table has a designated time column, ingestion is continuous, and its SQL adds SAMPLE BY, LATEST ON and ASOF JOIN. For timestamped measurements to receive and query live, QuestDB is the simpler of the two.

Embed the deploy button

Maintaining a project that uses QuestDB? This button lets your readers deploy it on a VPS in one click, without reading Docker documentation.

Deploy QuestDB on ServOrbit
Markdown
[![Deploy QuestDB on ServOrbit](https://servorbit.com/brand/deploy/button.svg)](https://servorbit.com/vps-cloud?template=questdb&utm_source=deploy-badge&utm_medium=referral&utm_campaign=questdb)
HTML
<a href="https://servorbit.com/vps-cloud?template=questdb&utm_source=deploy-badge&utm_medium=referral&utm_campaign=questdb"><img src="https://servorbit.com/brand/deploy/button.svg" alt="Deploy QuestDB on ServOrbit" height="40"></a>

The button points to a VPS order with the template preselected. The image is served from servorbit.com — nothing to host on your side.

Need help?

Browse our help center and FAQ, or reach our team — callback, WhatsApp or email.

Message us on WhatsAppopens in a new tab