Quick start
This guide will get your first QuestDB instance running.
As the goal is to, well, start quickly, we'll presume defaults.
Once running, we'll provide guides for inserting data, configuration and production hosting.
Choose from the following options:
- QuestDB Cloud (Managed service)
- Docker
- Homebrew
- Binaries
#
QuestDB CloudLet the expert team behind QuestDB open source manage your QuestDB deployment.
Continue reading for self-hosted options, or sign up for QuestDB Cloud. There's $200 credit!
Already signed up to Cloud? Jump over to the Insert data guide.
#
Install QuestDBFor those wishing to self-host QuestDB and run it on their own hardware, the following steps will get you started.
Although you're free to do all three of these methods if you so choose, it's best to start with one.
To see a full list of self-hosting options, visit our download page.
#
DockerTo begin, install Docker. You can find guides for your platform on the official documentation.
Once Docker is installed, you will need to pull QuestDB's image from Docker Hub and create a container:
For deeper instructions, see the Docker deployment guide.
#
HomebrewTo install QuestDB via Homebrew, run the following command:
On macOS, the location of the root directory of QuestDB and server configuration files depending on the chip:
Apple Silicon (M1/M2/M*) chip:
/opt/homebrew/var/questdb
Intel chip:
/usr/local/var/questdb
#
BinariesDownload and run QuestDB via binaries.
- Linux or FreeBSD versions include
questdb.sh
script - Windows version has
questdb.exe
executable
- Linux
- Windows
- FreeBSD
- Any (no JVM)
questdb-7.3.5-no-jre-bin.tar.gz
This package does not embed Java.
Use if there is no package for your platform, such as ARM Linux.
Requires local Java 17.
To check your installed version:
If you do not have Java, install one of the following:
- AdoptOpenJDK
- Amazon Corretto
- OpenJDK
- Oracle Java
Other Java distributions might work but are not tested.
JAVA_HOME
environment variable#
Point JAVA_HOME
to your Java 17 installation folder.
Extract the tarballs:
- Linux
- Windows
- FreeBSD
- Any (no JVM)
And then run with the following:
- Linux
- Windows
- FreeBSD
- Any (no JVM)
To run the instance as a windows service (preferably as a privileged account):
To run a one-off instance in the current work directory:
The default root directory will then be:
- Linux
- Windows
- FreeBSD
- Any (no JVM)
#
Run QuestDB- Linux/FreeBSD/No JVM
- macOS (Homebrew)
- Windows
Option | Description |
---|---|
-d | Expects a dir directory value which is a folder that will be used as QuestDB's root directory. For more information and the default values, see the default root section below. |
-t | Expects a tag string value which will be as a tag for the service. This option allows users to run several QuestDB services and manage them separately. If this option is omitted, the default tag will be questdb . |
-f | Force re-deploying the Web Console. Without this option, the Web Console is cached and deployed only when missing. |
Option | Description |
---|---|
-d | Expects a dir directory value which is a folder that will be used as QuestDB's root directory. For more information and the default values, see the default root section below. |
-t | Expects a tag string value which will be as a tag for the service. This option allows users to run several QuestDB services and manage them separately. If this option is omitted, the default tag will be questdb . |
-f | Force re-deploying the Web Console. Without this option, the Web Console is cached and deployed only when missing. |
Option | Description |
---|---|
install | Installs the Windows QuestDB service. The service will start automatically at startup. |
remove | Removes the Windows QuestDB service. It will no longer start at startup. |
-d | Expects a dir directory value which is a folder that will be used as QuestDB's root directory. For more information and the default values, see the default root section below. |
-t | Expects a tag string value which will be as a tag for the service. This option allows users to run several QuestDB services and manage them separately. If this option is omitted, the default tag will be questdb . |
-f | Force re-deploying the Web Console. Without this option, the Web Console is cached and deployed only when missing. |
-j | Windows only! This option allows to specify a path to JAVA_HOME . |
#
Enjoy QuestDBCongratulations! ๐ QuestDB is now running.
The QuestDB Web Console is available by default at: http://localhost:9000
.
Also by default, QuestDB will use the following ports:
9000
- REST API and Web Console9009
- InfluxDB line protocol8812
- Postgres wire protocol9003
- Min health server
With that, you're ready to bring your data and enjoy the high performance and reliability of QuestDB.
#
Bring your dataTime to really blast-off. ๐
Now, for your data - the life blood!
The Insert data guide outlines options.
However, the three primary methods include:
- Quick CSV import via Web Console
- Data streaming via InfluxDB Line Protocol
- Transactional imports via PostgreSQL Wire Protocol
No data yet and still want to trial QuestDB?
There are several quick options:
- QuestDB demo instance: Hosted, fully loaded and ready to go. Quickly explore the Web Console and SQL syntax.
- Create my first data set guide: create tables, use
rnd_
functions and make your own data. - Sample dataset repos: IoT, e-commerce, finance or git logs? Check them out!
- Quick start repos: Code-based quick starts that cover ingestion, querying and data visualization using common programming languages and use cases. Also, a cat in a tracksuit.
There are also one-click sample data sets available in QuestDB Cloud.
#
Get deeperFor operators or developers looking for next steps to run an efficient instance, see:
- Configuration to see all of the available options in
your
server.conf
file - Design for performance for tips and tricks
- Capacity planning for an advanced guide for operating QuestDB in production
- Visualize with Grafana to create useful dashboards and visualizations from your data