Repository navigation
ZH Configuration
2.1.3 已通过 GitHub 源码/标签和 Maven Central 发布,同 SHA CI 与公开制品核验通过。 当前坐标为 2.1.3;详见 2.1.3 发布说明.
| 配置项 | 默认值与范围 |
|---|---|
tsdb.influxdb.max-batch-bytes |
67108864(64 MiB),一个 InfluxDB 3 应用批次预生成 UTF-8 payload 的合计字节 |
tsdb.influxdb1.max-batch-bytes |
67108864(64 MiB),InfluxDB 1.x 的相同范围 |
tsdb.opengemini.max-batch-bytes |
67108864(64 MiB),OpenGemini 的相同范围 |
配置必须为正数,并进入适配器构造时的配置快照。超过应用批次预算时返回 ARGUMENT_ERROR、NOT_COMMITTED,请求数为零。应与物理请求边界、记录数上限、解压后的查询响应字节预算分别理解;IoTDB 没有新增此字节预算配置。详见写入与错误。
统一 HTTP 适配路径不自动跟随重定向。URL 应指向最终服务或由部署方管理的入口;没有新增 YAML 开关恢复自动重定向,应在适配器外配置路由,不依赖自动请求重放。
本页涉及的输入校验、配置快照和初始化失败策略修复纳入 2.1.0;详见 2.1.0 变更记录。
可以。业务侧在 application.yml 或 application.yaml 中配置当前后端的数据库名即可,无需修改适配层代码。
| 后端 | YAML 配置项 | 未配置时的值 |
|---|---|---|
| IoTDB 表模型 | tsdb.iotdb.database |
tsdb |
| InfluxDB 3 Core | tsdb.influxdb.database |
tsdb |
| InfluxDB OSS 1.x | tsdb.influxdb1.database |
tsdb |
| openGemini 默认引擎 | tsdb.opengemini.database |
tsdb |
下面仅演示 IoTDB 的数据库选择片段,连接参数请结合后面的完整示例填写。未配置的后端即使引入了对应 starter 也不会启用,仅需为所选后端填写 enable: true。
tsdb:
iotdb:
enable: true
database: business_metrics数据库选择优先级为:非空的单次调用参数,例如 write("another_database", record) 或链式 .database("another_database"),其次是后端配置的默认库,最后是配置项省略时的 tsdb。单次调用参数为 null 或空白时回退到配置的默认库;YAML 配置项显式为空时,启用的后端会在启动校验阶段报错。禁用后端的配置不会被校验。这几种情况应区分使用。
TsGate 2.1.0 新增 tsgate-opengemini 与 tsgate-opengemini-spring-boot-starter,构建包含四个后端、九个 JAR 模块,2.1.0 BOM 管理这两个新模块。Central 2.0.0 不包含它们。准确的默认引擎版本与拓扑验证范围见 OpenGemini 接入指南。
starter 只选择显式配置 enable: true 的后端。未引入的后端不参与启用判断或冲突检查;同一 Spring 上下文最多启用一个后端。默认库设置只负责选择数据库,不负责建库或迁移数据:IoTDB / InfluxDB 1.x / openGemini 的目标数据库需要提前创建。原生 executeQuery(...) 没有单次调用的数据库参数,具体规则见本页的“默认数据库规则”。
四个后端默认关闭。业务直接在 application.yml 中填写连接参数,并将所需后端的 enable 显式设为 true;无需配置 spring.profiles.active,也无需为其他后端填写 enable: false。省略 enable 或设置为 false 均不启用,即使保留了连接参数。
| 开关 | 行为 |
|---|---|
省略 enable
|
不启用,即使存在连接参数 |
enable: false |
不启用,不绑定或校验其连接参数 |
enable: true |
启用,并校验必填连接参数 |
显式空值或非法 enable
|
配置错误 |
同一 Spring 上下文最多启用一个后端。多个开关同时为 true 时,在客户端初始化前返回 CONFIGURATION_ERROR。没有启用的后端时,不创建 adapter、TGTemplate 或原生客户端 Bean。未引入的 adapter 不参与启用判断。这些开关控制 starter 自动装配;业务直接构造 adapter 时仍自行调用 init()。
YAML、properties、环境变量、命令行和自定义属性源仍遵循 Spring 配置优先级,例如 TSDB_INFLUXDB1_ENABLE=true 也可以提供显式开关。自定义属性源无需枚举全部连接参数。Spring profile 可按需选择应用配置文件,但不能替代后端的 enable 开关。
下面保留了未启用的 InfluxDB 3 配置,同时显式启用 InfluxDB 1.x:
tsdb:
influxdb1:
enable: true
url: http://127.0.0.1:8086
database: business_metrics
influxdb:
enable: false
url: http://127.0.0.1:8181这里的 false 可以省略,省略后 InfluxDB 3 仍保持关闭。只校验已启用后端的必填连接参数。
IoTDB、InfluxDB 3、InfluxDB 1.x 和 openGemini 默认引擎的 database 在未配置时均默认使用 tsdb;显式配置为空仍会校验失败。已有数据库名称可通过对应的 tsdb.iotdb.database、tsdb.influxdb.database 或 tsdb.influxdb1.database / tsdb.opengemini.database 保留,显式配置的其他库名不会被覆盖。
IoTDB 表模型示例:
tsdb:
query-log-enabled: true
iotdb:
enable: true
fail-fast: true
discovery-mode: AUTO
username: root
password: root
database: tsdb
max-batch-records: 10000
max-query-rows: 10000
pool:
enabled: true
node-urls:
- 127.0.0.1:16669
max-size: 8
wait-to-get-session-timeout-in-ms: 3000
connection-timeout-in-ms: 3000
query-timeout-in-ms: 60000
max-retry-count: 3
retry-interval-in-ms: 1000
fetch-size: 10000
table:
tablet-max-row-size: 1024InfluxDB 3 Core 示例:
tsdb:
query-log-enabled: true
influxdb:
enable: true
fail-fast: true
url: http://127.0.0.1:8181
token: ""
database: tsdb
strict-cursor-sql: or
max-batch-records: 10000
max-batch-bytes: 67108864
max-query-rows: 10000
max-query-response-bytes: 16777216
http-client:
max-idle-connections: 8
keep-alive-duration-ms: 300000
connect-timeout-ms: 3000
read-timeout-ms: 60000
write-timeout-ms: 60000
call-timeout-ms: 0
retry-on-connection-failure: trueInfluxDB OSS 1.x 示例(HTTP 8086、用户名密码,与 3.x 的 token 配置独立):
tsdb:
query-log-enabled: true
influxdb1:
enable: true
fail-fast: true
url: http://127.0.0.1:8086
username: ""
password: ""
database: tsdb
retention-policy: ""
max-batch-records: 10000
max-batch-bytes: 67108864
max-query-rows: 10000
max-query-response-bytes: 16777216
http-client:
max-idle-connections: 8
keep-alive-duration-ms: 300000
connect-timeout-ms: 3000
read-timeout-ms: 60000
write-timeout-ms: 60000
call-timeout-ms: 0
retry-on-connection-failure: trueopenGemini 默认引擎适配;url 为一个 ts-sql 入口或外部负载均衡入口:
tsdb:
query-log-enabled: true
opengemini:
enable: true
fail-fast: true
url: http://127.0.0.1:8086
username: ""
password: ""
database: tsdb
retention-policy: ""
max-batch-records: 10000
max-batch-bytes: 67108864
max-query-rows: 10000
max-query-response-bytes: 16777216
http-client:
max-idle-connections: 8
keep-alive-duration-ms: 300000
connect-timeout-ms: 3000
read-timeout-ms: 60000
write-timeout-ms: 60000
call-timeout-ms: 0
retry-on-connection-failure: false必须使用独立的 tsdb.opengemini.enable 开关;复用 InfluxDB1 实现不会启用后者,同时启用两者仍报配置错误。OpenGemini 的 HTTP 连接恢复默认 false;显式设置 true 可能允许 OkHttp 对符合条件的请求进行恢复,不能保证写入幂等或确定提交边界。adapter 不发现节点,也不跨入口重放失败写入。
1.x 空凭据用于无鉴权环境;启用服务端鉴权时填写用户名/密码,适配层使用 HTTP Basic Auth。retention-policy 为空时使用数据库默认策略;此配置只选择已有策略,不负责创建或修改策略。
IoTDB 和 InfluxDB 1.x 的 database 需预先创建;1.x 可先执行 CREATE DATABASE tsdb。
适配层不发送建库请求;InfluxDB 3 Core 可在首次 line protocol 写入时由服务端原生创建 database,是否允许创建取决于服务端权限。
关键配置说明:
| 配置项 | 说明 |
|---|---|
tsdb.iotdb.enable / tsdb.influxdb.enable / tsdb.influxdb1.enable / tsdb.opengemini.enable
|
默认 false;只有显式 true 才启用。省略/false 不校验连接参数;空值/非法值属于配置错误,同一上下文最多启用一个后端 |
tsdb.query-log-enabled |
是否以 DEBUG 级别输出适配器实际执行的查询 SQL,默认 true;设置为 false 时不输出 |
tsdb.iotdb.fail-fast |
客户端资源初始化失败时是否终止启动,默认 true;初始化阶段不访问默认数据库 |
tsdb.iotdb.discovery-mode |
节点自动发现和重定向策略,支持 AUTO、ENABLED、DISABLED,默认 AUTO
|
tsdb.iotdb.username |
IoTDB 登录用户名,必填且无默认值 |
tsdb.iotdb.password |
IoTDB 登录密码,必填且无默认值 |
tsdb.iotdb.database |
IoTDB 连接池默认 database,未配置时为 tsdb;必须预先创建且运行期间不可删除,普通读写直接使用,显式访问其他库时才执行 USE
|
tsdb.iotdb.pool.enabled |
必须为 true;单 ITableSession 模式已禁用,为 false 时启动失败 |
tsdb.iotdb.pool.node-urls |
IoTDB 节点地址,IoTDB 配置下必填 |
tsdb.iotdb.table.tablet-max-row-size |
IoTDB 单个 Tablet 最大行数,默认 1024
|
tsdb.iotdb.table.rpc-compression-enabled |
是否允许 Tablet RPC 紧凑编码/压缩,默认 true;不兼容的旧服务端显式设为 false,与 Thrift 传输及磁盘压缩无关 |
tsdb.iotdb.max-batch-records |
单次业务批量写入最大记录数,默认 10000;超限时写入前直接失败 |
tsdb.influxdb.fail-fast |
客户端资源初始化失败时是否终止启动,默认 true;初始化阶段不访问默认数据库 |
tsdb.influxdb.url |
InfluxDB 3 Core 地址 |
tsdb.influxdb.token |
InfluxDB token;无鉴权环境可为空 |
tsdb.influxdb.database |
InfluxDB 写入和查询 API 使用的 database,默认 tsdb
|
tsdb.influxdb.strict-cursor-sql |
结构化严格复合游标续页的 SQL 策略:or(省略或空白时的默认值)或 union-all;不改写原生 SQL,也不影响 InfluxDB 1.x |
tsdb.influxdb.max-batch-records |
单次业务批量写入最大记录数,默认 10000;超限时发出 HTTP 请求前直接失败 |
tsdb.iotdb.max-query-rows / tsdb.influxdb.max-query-rows / tsdb.influxdb1.max-query-rows / tsdb.opengemini.max-query-rows
|
普通链式与原生查询结果上限,默认 10000;范围 1..2147483646;时间游标 / 复合游标分页最多允许额外读取一条探测记录 |
tsdb.influxdb.max-query-response-bytes |
解压后的查询响应体字节上限,默认 16777216(16 MiB),必须为正数 |
tsdb.influxdb1.username / password
|
1.x HTTP Basic Auth 凭据,空值用于无鉴权环境 |
tsdb.influxdb1.fail-fast |
1.x 客户端资源初始化失败时是否终止启动,默认 true;不探测数据库可用性 |
tsdb.influxdb1.database |
1.x 写入和查询使用的 database,未配置时默认为 tsdb;必须预先创建 |
tsdb.influxdb1.retention-policy |
已有 retention policy 名称,空值使用库默认策略 |
tsdb.influxdb1.max-batch-records / max-query-rows / max-query-response-bytes
|
默认 10000 / 10000 / 16 MiB,含义同 3.x;count 扫描也受响应字节上限约束 |
tsdb.influxdb1.http-client.* |
1.x 独立 HTTP 连接池与超时,默认值同 3.x |
tsdb.opengemini.url |
一个 ts-sql 入口或外部负载均衡入口,默认 http://localhost:8086
|
tsdb.opengemini.username / password
|
HTTP Basic Auth 凭据,无鉴权环境使用空值 |
tsdb.opengemini.fail-fast / database / retention-policy
|
默认 true / tsdb / 空值;数据库与所选保留策略必须预先存在 |
tsdb.opengemini.max-batch-records / max-query-rows / max-query-response-bytes
|
默认 10000 / 10000 / 16 MiB;count 扫描仍受响应字节上限约束 |
tsdb.opengemini.http-client.* |
独立 HTTP 配置;连接池/超时默认值同 InfluxDB1,但 retry-on-connection-failure 默认 false |
tsdb.influxdb.http-client.* |
InfluxDB HTTP 客户端连接池和超时参数 |
tsdb.query-log-enabled=true 仅表示允许记录查询 SQL;还需要把 com.alandevise.tsgate.adapter.impl 的日志级别设置为 DEBUG
才能看到该日志。
部署模式说明:
-
discovery-mode=AUTO时,一个 endpoint 会关闭自动发现和重定向,适用于单机或 VIP;多个 endpoint 会开启两者,适用于直接连接多个 DataNode 的集群。 -
discovery-mode=ENABLED强制开启自动发现和重定向,适用于只配置一个种子节点但仍需发现其他 DataNode 的集群。 -
discovery-mode=DISABLED强制关闭自动发现和重定向,始终使用配置的固定入口。 - openGemini 通过
tsdb.opengemini.url连接单个 ts-sql 入口或集群外部入口,不提供客户端节点发现或自动切换入口。 - InfluxDB 客户端没有 IoTDB 风格的节点自动发现。3.x 的 REST 和 Arrow Flight 客户端从
tsdb.influxdb.url建立连接;1.x 的 HTTP 客户端使用tsdb.influxdb1.url。
不再支持 required-adapters、default-type、default-database、table.enabled、自动创建 retention 的配置、IoTDB 树模型配置和点位模型配置。
tsdb.influxdb.strict-cursor-sql 省略或空白时默认 or,保持现有的字典序 OR 条件。对于已验证但无法执行该查询形态的旧服务端 Core 3.0.0 / 3.0.3,在已有连接配置中显式选择 union-all:
tsdb:
influxdb:
enable: true
strict-cursor-sql: union-all此片段补充上面的地址、token 和数据库配置。该开关仅作用于具有非空后续游标的结构化严格复合游标查询,例如 strictCursorPage() 的第二页及后续页。普通严格游标的第一页、普通 list、仅时间游标、offset 分页、计数、普通聚合、原生 SQL 和其他后端仍使用原来的查询生成方式。union-all 模式不支持严格游标与聚合组合,即使第一页也会报 UNSUPPORTED_OPERATION。
策略在构造 adapter 时确定,之后修改配置对象不会改变现有 adapter。YAML 中非空白的未知值(如 auto 或 unsupported-mode)会导致 Spring 属性绑定失败;省略或空白值按 Spring 绑定行为保留字段默认值 or;以编程方式传入 null 策略会在构造 adapter 时报 CONFIGURATION_ERROR。
union-all 为最终游标中的每个键最多生成一个互斥分支,再对合并结果执行完整排序和分页限制。它只发送一次 SQL 请求,但可能增加服务端扫描和排序开销。响应行数与解压后字节上限继续生效。混合排序示例见分页,准确的服务端/策略实测组合见兼容性与验证。TsGate 不探测服务端版本,不自动切换策略,也不在 HTTP 500 后换 SQL 重试。
tsdb.iotdb.table.rpc-compression-enabled 默认 true,业务侧无需填写。它允许官方 SDK 对 Tablet RPC 载荷采用紧凑编码/压缩,具体 Tablet 是否采用该格式仍由 SDK 判断。它与 Thrift 传输压缩、磁盘 TsFile 压缩是不同设置。
对于 IoTDB 2.0.2 等无法解码新版 Tablet 表示的旧表模型服务端,在已有 IoTDB 连接配置中显式关闭:
tsdb:
iotdb:
enable: true
table:
rpc-compression-enabled: false这个片段需要与前面的地址、账号和密码配置合并。参数在物理 SessionPool 构建时生效,故障恢复时创建的替换池也使用同一设置;适配器不会自动猜测服务端版本,也不会在写入失败后换一种编码自动重试。
兼容验证必须让一个实际 Tablet 至少包含 10 行,并写入后回查。业务 batch 总量达到 10 条,但按 measurement 分组或按 tablet-max-row-size 拆分后各 Tablet 都不足 10 行,仍不能覆盖 SDK 的编码阈值;小批量通过可能掩盖兼容问题。设为 false 只改变传输表示,不改变 TsGate 的前置校验、行数限制或批次提交状态契约。已完成的证据见兼容性与验证;这个开关和 SDK 升级都不构成旧版全覆盖或未来版本必然兼容的承诺。
启用的 starter 会自动注册 com.alandevise.tsgate.core.TGTemplate,默认 Bean 名为 tgTemplate;业务已提供自己的 TGTemplate 时不重复注册。优先按类型注入,需要按名称注入时使用 @Qualifier("tgTemplate") 或 @Resource(name = "tgTemplate");自定义 Bean 名应与业务注入点一致。TGQueryBuilder<T> 由 tgTemplate.query(...) 为每次查询创建,不是 starter 共享的 Bean。公共类型及自定义 Bean 示例见TG API 与模板配置。
- 各 starter 默认关闭,必须显式配置
enable: true。省略或 false 均保持关闭;空值或非法值属于配置错误,不再依据连接配置自动启用。 - 多种依赖可以同时存在,但最多启用一种;冲突检查基于当前 Spring 上下文配置,不使用静态全局状态,并在客户端初始化前执行。
- 未配置或显式关闭的 adapter 不校验连接配置、不创建客户端;显式启用但只填写部分配置的后端会执行完整配置校验,不会因缺少必填项而忽略。没有启用的后端时不自动装配 adapter 或
TGTemplate。 - 未启用的原生客户端 Bean 不存在。业务代码同时引用多个客户端时,应使用
ObjectProvider或可选注入; 也可用@Conditional(TSDBAdapterEnabledCondition.IoTDB.class)/InfluxDB.class/InfluxDB1.class/OpenGemini.class控制对应业务组件。 没有启用的后端时,依赖TGTemplate的业务组件也应禁用(可用@Conditional(TSDBAdapterEnabledCondition.class))。 - 必填配置缺失、批量上限非法或 IoTDB pool 被关闭属于配置错误,无论
fail-fast取值如何都会终止启动。 - adapter 初始化只创建客户端资源并把默认 database 绑定到 IoTDB 连接池,不建立物理 Session;默认库在首次借出 Session 时由 IoTDB 校验。 部署流程必须预先创建默认库并保证运行期间不被删除,否则首次借出 Session 会失败。
-
fail-fast=true在客户端资源初始化失败时关闭 adapter 并抛出异常;false则允许四个源码 starter 保留 adapter/template,此时原生客户端在按类型可选注入时不可用。业务若强制注入原生客户端,仍可能无法启动,应使用ObjectProvider或可选注入。此策略不探测数据库/表是否存在,也不改变运行时写查异常语义。 - starter 不提供
HealthIndicator,不会探测 TSDB 宕机或恢复,也不会因为运行期 TSDB 不可用而主动停止应用。运行状态应使用 TSDB 自身指标或业务系统统一的监控体系。
四个源码 adapter 都在构造时防御性复制连接与操作配置,包括嵌套 HTTP/table/pool 配置和 IoTDB 节点 URL 列表。在 init() 前后修改调用方的 Properties 对象,都不会改变该 adapter、其原生客户端或恢复时新建的 IoTDB 物理池。配置绑定必须在构造之前完成。
需要更改地址、凭据、数据库、超时、发现策略或限额时,应使用新配置创建新的 adapter/上下文,并与业务操作协调替换。临时资源初始化失败可以使用原快照重试;修正非法配置则需要新实例。此规则保证配置一致性,不增加动态重配置功能;每次操作显式指定 database 的能力保持可用。
- 四个后端的
database未配置时均使用tsdb,显式空值无效;显式指定的其他库名仍按原值使用。更改默认值不会自动创建、重命名或迁移已有数据库。 -
write(record)、batchWrite(records)、链式查询未调用database(...)时,adapter 使用 YAML 中配置的默认 database。 - IoTDB 连接池绑定配置的默认 database;未指定 database 或显式指定默认库时直接执行,只有显式访问其他库时才执行
USE。 - 跨库操作关闭 Session 时,IoTDB 客户端会先恢复连接池默认 database,再把物理 Session 放回池中。
- InfluxDB 3 写入会把目标 database 放入
/api/v3/write_lp请求的db参数;InfluxDB 1.x 与 openGemini 使用/write的db参数。 - 原生查询
executeQuery(...)不提供 database 参数,也不改写 SQL。IoTDB 不主动执行USE,但借出的 Session 已具有默认库上下文;InfluxDB 3 / 1.x / openGemini 的查询 API 需要请求库,分别使用配置中的tsdb.influxdb.database/tsdb.influxdb1.database/tsdb.opengemini.database,查询文本不被改写。 - IoTDB 原生 SQL 可直接访问默认库中的表;跨库 SQL 建议显式使用
database.table。
starter 会把当前 adapter 持有的原生 client 暴露为 Spring Bean:
@Autowired
private ITableSessionPool tableSessionPool;@Autowired
private InfluxDBClient influxDBClient;IoTDB 仅支持 pool 模式,业务侧可以直接注入 ITableSessionPool。应用中只存在当前启用后端的 client Bean;可同时引入四个源码 starter,显式将一个后端设为 enable: true;其他保留的配置块在未显式启用时仍保持关闭。
这些原生 client 来自 adapter 内部维护的连接资源,生命周期由 Spring 容器和 adapter 统一关闭。业务方法不要主动关闭注入的
InfluxDB client 或 IoTDB 连接池;从 ITableSessionPool 借出的 session 使用完应关闭以归还连接池。
原生 client 是借用引用:直接调用不受适配层的查询数量/字节上限和生命周期读锁保护,业务侧需协调应用关闭期间的原生操作。
OpenGemini 适配的 openGeminiClient 是兼容 org.influxdb.InfluxDB 的稳定代理。ping() / version() 使用快照中的入口、凭据和 HTTP 配置,并读取真实 X-Geminidb-Version 响应头。HTTP 成功且版本头非空才构成成功 ping;失败或缺少版本头时不会伪造版本。其他原生操作保留服务端响应,包括错误 DTO。database 和所选 retention policy 须已存在;写入确认不保证新 measurement/tag series 的索引立即对查询可见。详见 OpenGemini 接入指南。
四个后端 adapter 的生命周期统一为 NEW → READY → CLOSED:重复 init() 不创建或覆盖资源,初始化失败释放已创建资源并允许重试;
close() 幂等、清除引用并永久关闭该实例,随后 init / 写入 / 查询 / 获取原生 client 会报 ADAPTER_STATE_ERROR。
关闭会等待已经进入适配层的读写操作和整个批次结束,再释放客户端。InfluxDB / openGemini 若需要限制停机等待,应配置 http-client.call-timeout-ms;
其默认值 0 表示无总调用时限,持续传输的慢响应可能使关闭等待较长。
IoTDB 重复初始化保留相同的对外 ITableSessionPool 代理,断线恢复仅替换内部物理池。手动 close() -> init() 不再支持,需创建新的 adapter/上下文。生命周期锁保护完整适配层操作与终态关闭,业务自行借用的原生 session 仍需协调使用与关闭。IoTDB 使用自身连接、借用和查询超时设置;InfluxDB 的 http-client 设置不适用于 IoTDB。
InfluxDB 1.x 官方客户端可直接注入;openGemini 使用同一兼容类型,Bean 名为 openGeminiClient,不是 openGemini 专用 SDK:
@Autowired
private org.influxdb.InfluxDB influxDB1Client;fail-fast=false 容忍资源初始化失败时,四个后端的原生客户端都可能不可用,应使用 ObjectProvider 或可选注入。初始化成功前,adapter/template 操作报 ADAPTER_STATE_ERROR。临时资源问题解决后可手动重试 adapter.init(),再通过 getNativeClient()(InfluxDB 1.x / 3 / openGemini)或 getSessionPool()(IoTDB)获取借用客户端;Spring 不会自动重建此前不可用的原生客户端 Bean。必填配置缺失仍会导致启动失败,不受 fail-fast 控制。
starter 不主动发送创建 database、table、measurement 的请求,也不创建或修改 retention/TTL。库表不存在时,由后端按其原生写入规则创建或返回错误;查询不会代为建库建表。
- IoTDB:业务侧或运维流程提前创建 database 和 table。表没有 TTL/retention 时沿用数据库级策略。
- openGemini 默认引擎:database 和所选 retention policy 需提前创建;适配器复用 InfluxDB1 兼容实现,暴露
org.influxdb.InfluxDB,不是 openGemini 专用 SDK。 - InfluxDB 1.x:需提前创建 database;measurement 在首次 line protocol 写入时由服务端创建。
- InfluxDB 3 Core:首次 line protocol 写入可由服务端创建 database 和 table;需要预先管理权限、库名或保留策略时,仍应在部署流程中显式创建。
需要建库建表时,建议业务系统在初始化流程中直接使用官方 client 或运维脚本处理。
← 开始使用 · 写入、模型与错误处理 →
TsGate 2.1.0 包含独立的 OpenGemini adapter 与 starter。配置、默认引擎边界及准确版本测试见 OpenGemini 接入指南,发行说明见 2.1.0 发布说明。
TsGate · Wiki home · 文档首页 · Apache-2.0 · NOTICE
Compatibility claims apply only to documented capabilities and verified versions. 兼容性承诺仅适用于已列明的能力和已验证的版本。