Skip to main content

VeighNa框架的QuestDB数据库接口

说明

对接 QuestDB 的高性能时序数据库接口实现。

主要特性:

  • 通过 QuestDB ILP/HTTP 高速写入K线和Tick数据。
  • 通过 PGWire 执行建表、查询、汇总和逻辑删除。
  • 使用 QuestDB WAL 表和 DEDUP UPSERT KEYS 支持重复数据覆盖。
  • 使用 deleted 字段进行逻辑删除,查询和汇总时自动过滤已删除数据。

安装

pip install vnpy_questdb

QuestDB 端口说明

当前实现会同时使用 QuestDB 的两个服务端口:

  • database.port:PGWire SQL端口,默认 8812。代码使用 psycopg 连接该端口,用于创建表、读取数据、查询汇总、执行逻辑删除,以及检查 WAL 事务是否已经应用。
  • database.http_port:HTTP端口,默认 9000。代码使用 questdb.ingress.Sender 通过 ILP/HTTP 写入K线和Tick数据。

这两个端口的职责不同,不能互相替代。8812 面向 PostgreSQL Wire Protocol 查询;9000 面向 QuestDB HTTP服务,其中包含 ILP/HTTP 写入入口和 Web Console。如果使用 Docker、远程服务器或防火墙,需要同时开放这两个端口。

示例 Docker 端口映射:

docker run --rm -p 8812:8812 -p 9000:9000 questdb/questdb

当前版本使用 ILP/HTTP 写入,不使用 QuestDB 的 ILP/TCP 9009 端口。

VeighNa 配置

在 VeighNa 配置文件中选择 QuestDB 数据库,并配置连接参数:

{
    "database.name": "questdb",
    "database.host": "localhost",
    "database.port": 8812,
    "database.user": "admin",
    "database.password": "quest",
    "database.database": "qdb",
    "database.http_port": 9000
}

参数说明:

  • database.name:数据库适配器名称,使用本插件时配置为 questdb
  • database.host:QuestDB 服务地址,PGWire 和 HTTP ILP 都会连接该地址。
  • database.port:PGWire SQL端口,用于查询和管理操作。
  • database.user:PGWire 用户名,QuestDB 默认值为 admin
  • database.password:PGWire 密码,QuestDB 默认值为 quest
  • database.database:PGWire 数据库名,QuestDB 默认值为 qdb
  • database.http_port:QuestDB HTTP端口,用于 ILP/HTTP 数据写入。

如果 QuestDB 部署在远程主机,请确认 database.host 可以从运行 VeighNa 的机器访问,并确认 database.portdatabase.http_port 均已开放。

Release files for vnpy_questdb 1.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for vnpy_questdb 1.0.0
File Size Uploaded
vnpy_questdb-1.0.0.tar.gz 10.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for vnpy_questdb 1.0.0
File Interpreter ABI Platform
vnpy_questdb-1.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 19.3 kB

Release files / vnpy_questdb-1.0.0.tar.gz

Download URL vnpy_questdb-1.0.0.tar.gz
Size 10.5 kB
Tags Source
SHA-256 checksum
How to use checksums
096f89390addfe832600d3acf2c0a0333a3fbfe11ba7b60f2d312de0685f6f5b
BLAKE2b-256 checksum
How to use checksums
83081199804730e600677a817fc83f3107ce23c41ec7ead9c05e37edcc206162
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.3

Release files / vnpy_questdb-1.0.0-py3-none-any.whl

Download URL vnpy_questdb-1.0.0-py3-none-any.whl
Size 8.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1afc0c1b1a6ec1d5c1df01f89fc27c58f25e5dc3c09a43a8c3dff433e21aaaef
BLAKE2b-256 checksum
How to use checksums
14be68bdc73d9c04622076ba04c8b79f13e694ce74cc8a1b2cdf09ec39508599
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.3

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page