文档文档

查看分区信息

InfluxDB Clustered 将分区信息存储在 InfluxDB 3 系统表中。查询分区信息以查看分区模板并验证分区是否按预期工作。

查询系统表可能会影响整体集群性能

分区信息存储在 InfluxDB 3 系统表中。查询系统表可能会影响 InfluxDB 集群的整体写入和查询性能。

系统表可能会发生更改

系统表不是 InfluxDB 稳定 API 的一部分,可能会随着新版本而更改。提供的模式信息和查询示例在 **2024 年 9 月 24 日** 之前有效。如果您检测到模式更改或无法正常工作的查询示例,请提交问题

从系统表查询分区信息

使用 influxctl query 命令 和 SQL 从 InfluxDB 系统表查询与分区相关的信息。提供以下内容

  • 使用 --enable-system-tables 命令标志启用系统表

  • 数据库令牌:具有对指定数据库读取权限的数据库令牌。使用influxctl 连接配置文件中的 token 设置或 --token 命令标志。

  • 数据库名称:要查询信息的数据库的名称。使用influxctl 连接配置文件中的 database 设置或 --database 命令标志。

  • SQL 查询:要执行的 SQL 查询。通过以下方式之一传递查询

    • 命令行上的字符串
    • 包含查询的文件路径
    • 单个破折号 (-) 从 stdin 读取查询
influxctl query \
  --enable-system-tables \
  --database 
DATABASE_NAME
\
--token
DATABASE_TOKEN
\
"
SQL_QUERY
"

替换以下内容

  • DATABASE_TOKEN:具有对指定数据库读取访问权限的数据库令牌
  • DATABASE_NAME:要查询信息的数据库的名称。
  • SQL_QUERY:要执行的 SQL 查询。有关示例,请参阅系统查询示例

当提示时,输入 y 以确认查询系统表可能对您的集群产生潜在影响。

使用以下查询返回有关 InfluxDB 集群中分区的信息。


在以下示例中,将 TABLE_NAME 替换为您要查询信息的表的名称。


查看特定表的分区模板

SELECT * FROM system.tables WHERE table_name = '
TABLE_NAME
'

示例结果

table_namepartition_template
weather{"parts":[{"timeFormat":"%Y-%m-%d"},{"bucket":{"tagName":"location","numBuckets":250}}]}

如果表在此命令的输出中不包含分区模板,则该表使用默认的(1 天)分区策略,并且不按标签或标签桶进行分区。

查看表的所有分区

SELECT * FROM system.partitions WHERE table_name = '
TABLE_NAME
'

示例结果

partition_idtable_namepartition_keylast_new_file_created_atnum_filestotal_size_mb
1362weather43 | 2020-05-27168374741876381371310
800weather234 | 2021-08-02168374742189940079610
630weather325 | 2022-03-17168374741761668903610
1401weather12 | 2021-01-09168374741778612229510
1012weather115 | 2022-07-04168374741761421914810

查看每个表的分区数

SELECT
  table_name,
  COUNT(*) AS partition_count
FROM
  system.partitions
WHERE
  table_name IN ('
TABLE_NAME_1
'
, '
TABLE_NAME_2
'
, '
TABLE_NAME_3
'
)
GROUP BY table_name

示例结果

table_namepartition_count
weather1096
home24
numbers1

查看特定表的分区数

SELECT
  COUNT(*) AS partition_count
FROM
  system.partitions
WHERE
  table_name = '
TABLE_NAME
'

示例结果

table_namepartition_count
weather1096

此页是否对您有帮助?

感谢您的反馈!


Flux 的未来

Flux 即将进入维护模式。您可以继续像当前一样使用它,而无需对代码进行任何更改。

阅读更多

InfluxDB 3 开源现已公开发布 Alpha 版本

InfluxDB 3 开源现在可用于 Alpha 测试,根据 MIT 或 Apache 2 许可获得许可。

我们正在发布两个产品作为 Alpha 版本的一部分。

InfluxDB 3 Core 是我们新的开源产品。它是一个用于时间序列和事件数据的最新数据引擎。InfluxDB 3 Enterprise 是一个商业版本,它建立在 Core 的基础上,增加了历史查询功能、读取副本、高可用性、可扩展性和细粒度的安全性。

有关如何开始使用的更多信息,请查看