Launch the official QuestDB AMI via the AWS Marketplace

AWS Marketplace is a digital catalog with software listings from independent software vendors that runs on AWS. This guide describes how to launch QuestDB via the AWS Marketplace using the official listing. This document also describes usage instructions after you have launched the instance, including hints for authentication, the available interfaces, and tips for accessing the REST API and Web Console.

Prerequisites

Launching QuestDB on the AWS Marketplace

The QuestDB listing can be found in the AWS Marketplace under the databases category. To launch a QuestDB instance:

  1. Navigate to the QuestDB listing
  2. Click Continue to Subscribe and subscribe to the offering
  3. Configure a version, an AWS region and click Continue to Launch
  4. Choose an instance type and network configuration and click Launch

An information panel displays the ID of the QuestDB instance with launch configuration details and hints for locating the instance in the EC2 console.

The default user is admin and password is quest to log in to the webconsole.

QuestDB configuration

Connect to the instance where QuestDB is deployed using SSH. The server configuration file is at the following location on the AMI:

/var/lib/questdb/conf/server.conf

For details on the server properties and using this file, see the server configuration documentation.

The default ports used by QuestDB interfaces are as follows:

  • Web Console & REST API is available on port 9000
  • PostgreSQL wire protocol available on 8812
  • InfluxDB line protocol 9009 (TCP and UDP)
  • Health monitoring & Prometheus /metrics 9003

Postgres credentials

Generated credentials can be found in the server configuration file:

/var/lib/questdb/conf/server.conf

The default Postgres username is admin and a password is randomly generated during startup:

pg.user=admin
pg.password=...

To use the credentials that are randomly generated and stored in the server.conffile, restart the database using the command sudo systemctl restart questdb.

InfluxDB line protocol credentials

The credentials for InfluxDB line protocol can be found at

/var/lib/questdb/conf/full_auth.json

For details on authentication using this protocol, see the InfluxDB line protocol authentication guide.

Disabling authentication

If you would like to disable authentication for Postgres wire protocol or InfluxDB line protocol, comment out the following lines in the server configuration file:

/var/lib/questdb/conf/server.conf
# pg.password=...

# line.tcp.auth.db.path=conf/auth.txt

Disabling interfaces

Interfaces may be disabled completely with the following configuration:

/var/lib/questdb/conf/server.conf
# disable postgres
pg.enabled=false

# disable InfluxDB line protocol over TCP and UDP
line.tcp.enabled=false
line.udp.enabled=false

# disable HTTP (web console and REST API)
http.enabled=false

The HTTP interface may alternatively be set to readonly:

/var/lib/questdb/conf/server.conf
# set HTTP interface to readonly
http.security.readonly=true

Upgrading QuestDB

note

You can perform the following steps to upgrade your QuestDB version on an official AWS QuestDB AMI:

  • Stop the service:
systemctl stop questdb.service
  • Download and copy over the new binary
wget https://github.com/questdb/questdb/releases/download/8.2.1/questdb-8.2.1-no-jre-bin.tar.gz \
tar xzvf questdb-8.2.1-no-jre-bin.tar.gz
cp questdb-8.2.1-no-jre-bin/questdb.jar /usr/local/bin/questdb.jar
cp questdb-8.2.1-no-jre-bin/questdb.jar /usr/local/bin/questdb-8.2.1.jar
  • Restart the service again:
systemctl restart questdb.service
systemctl status questdb.service