# QuestDB
## 产品介绍
QuestDB 是一个面向实时分析的开源时序数据库,提供高吞吐写入、低延迟 SQL 查询、Web Console、REST API、InfluxDB Line Protocol 和 PostgreSQL Wire Protocol。
## 主要功能
- 面向时序数据的列式存储、WAL 和分区管理
- Web Console、REST API 与 SQL 查询
- 通过 HTTP 接收 InfluxDB Line Protocol 数据
- 兼容 PostgreSQL Wire Protocol 的查询接口
- 快照、检查点和持久化数据目录
## 访问说明
- Web Console、REST API 和 ILP-over-HTTP 共用默认端口 `9000`。
- PostgreSQL Wire Protocol 默认使用端口 `8812`,数据库名为 `qdb`。
- 本应用默认启用 HTTP Basic 认证和 PGWire 密码认证,两个接口使用独立用户名与密码。
- QuestDB 的 ILP TCP 端口 `9009` 默认不提供简单的用户名/密码保护。本应用为减少未认证写入面,默认关闭且不发布该端口;常见写入场景可直接使用已受 HTTP Basic 保护的 ILP-over-HTTP。
- 内部 `9003` 端口仅用于容器健康检查,不发布到宿主机。健康状态端点不要求业务凭据,其他 HTTP 接口仍受 Basic 认证保护。
## 数据与安全
- QuestDB 的完整数据根目录持久化到安装表单选择的数据目录,其中包含 `db`、`conf`、`public`、快照和检查点等运行数据。
- HTTP 与 PGWire 密码由 1Panel 安装表单随机生成。安装脚本仅把面板值缓存到 `.questdb_http_password` 和 `.questdb_pg_password`,并在升级时恢复原值,避免 1Panel 回放安装参数造成凭据轮换。
- 官方镜像入口以 root 启动,用于检查数据目录属主,然后以 UID/GID `10001:10001` 运行 QuestDB。首次挂载既有数据目录时,上游入口可能调整其已知数据子目录的属主;迁移前应先备份并核对权限。
- Web Console 和协议端口本身不提供 HTTPS。对外访问时应使用 HTTPS 反向代理、限制端口来源,并按需配置网络层 TLS。
- 默认关闭匿名遥测,可在安装表单中按需开启。
## 升级说明
- 升级前停止写入并完整备份数据目录及两个密码缓存文件。
- 固定版与 `latest` 使用相同的数据路径和配置键,可通过 1Panel 执行跨版本升级。
- 数据格式迁移可能在启动阶段完成。生产数据应先在副本环境验证目标版本,并在升级过程中等待健康检查通过后再恢复流量。
## Introduction
QuestDB is an open-source time-series database for high-throughput ingestion and low-latency SQL analytics. This package exposes the authenticated Web/REST/ILP-over-HTTP endpoint and PGWire endpoint, while disabling unauthenticated ILP TCP by default.
Back up the full data directory, `.questdb_http_password` and `.questdb_pg_password` before upgrades. Public deployments should place the Web endpoint behind HTTPS and restrict direct access to the database ports.
## Features
- Column-oriented time-series storage, WAL and partition management
- Web Console, REST API and SQL queries
- Authenticated InfluxDB Line Protocol over HTTP
- PostgreSQL Wire Protocol compatibility
- Persistent checkpoints and snapshots
## 参考资料
- Docker 部署:
- 配置选项:
- 安全指南:
- 源码仓库:
- 官方镜像: