2025年9月25日: PostgreSQL 18 发布!

InfluxDB FDW 2.0.0 发布

发布于 2023-03-28,作者:Toshiba
相关开源项目

我们刚刚发布了 InfluxDB 外部数据包装器(Foreign Data Wrapper,FDW)的 2.0.0 版本。此版本可与 PostgreSQL 11、12、13、14 和 15 协同工作。此版本在以下方面进行了改进(相对于 1.2.0 版本):

  • 支持 PostgreSQL 15.0
  • 支持 InfluxDB v1.x:使用 pgspider/influxdb-cxx 客户端库。
  • 支持 InfluxDB v2.x:通过 InfluxDB v1 兼容 API,使用 pgspider/influxdb-cxx 客户端库。

该 FDW 支持以下功能:

  • InfluxDB FDW 支持下推(pushed down)部分聚合函数:count、stddev、sum、max、min。
  • InfluxDB FDW 支持 INSERT、DELETE 语句。
  • InfluxDB FDW 使用 PostgreSQL 14 或更高版本中的 batch_size 选项支持批量 INSERT。
  • 包含 timestamp、interval 和 now() 函数的 WHERE 子句将被下推。
  • 当只有 LIMIT 子句或同时有 LIMIT 和 OFFSET 子句时,LIMIT...OFFSET 子句将被下推。
  • 支持无模式模式,该模式允许使用 jsonb 类型列访问数据文件中的元素,而无需更改表定义。

限制:

  • 不支持 UPDATE。
  • 不支持 WITH CHECK OPTION 约束。以下限制源于 InfluxDB 的数据模型和查询语言。
  • 结果集具有不同的行数,具体取决于指定的 target list。例如,SELECT field1 FROM t1 和 SELECT field2 FROM t1 在 InfluxDB 数据库中,如果 field1 和 field2 的点数量不同,则返回的行数也不同。
  • 时间戳精度可能会丢失,因为 PostgreSQL 的时间戳分辨率是微秒,而 InfluxDB 的是纳秒。
  • 诸如 WHERE time + interval '1 day' < now() 这样的条件不起作用。请使用 WHERE time < now() - interval '1 day'。

此项目由 Toshiba Software Engineering & Technology Center 开发。请参阅仓库获取详细信息。源代码仓库:https://github.com/pgspider/influxdb_fdw