influxdb3 源代码编译测试

2025-10-28

influxdb3 源代码编译测试

influxdb3 源代码编译测试

Loading image...
Please wait a moment

https://docs.influxdata.com/influxdb3/cloud-dedicated/admin/databases/#table-limit

https://docs.influxdata.com/influxdb3/cloud-dedicated/admin/databases/create/#create-a-database-with-custom-partitioning

build influxdb3 cli

1git clone https://github.com/influxdata/influxdb.git  
1cargo run -- serve --object-store file --node-id node1 --data-dir ./tmp  

cd influxdb/target/debug

1❯ ./influxdb3 create token --admin  
2  
3New token created successfully!  
4  
5Token: apiv3_O12FEWfXA0H8UcSHYsEAfuTuKbHLbNCAB56Qcv9Bp4UKbruuK2Q0bUNdTMc5ny3A4-V_3zlM3whj3Wn4_ZMH7w  
6HTTP Requests Header: Authorization: Bearer apiv3_O12FEWfXA0H8UcSHYsEAfuTuKbHLbNCAB56Qcv9Bp4UKbruuK2Q0bUNdTMc5ny3A4-V_3zlM3whj3Wn4_ZMH7w  
7  
1./influxdb3 create database iot_sensors --retention-period 7d --token apiv3_O12FEWfXA0H8UcSHYsEAfuTuKbHLbNCAB56Qcv9Bp4UKbruuK2Q0bUNdTMc5ny3A4-V_3zlM3whj3Wn4_ZMH7w  
1./influxdb3 write \  
2--database iot_sensors \  
3--token apiv3_O12FEWfXA0H8UcSHYsEAfuTuKbHLbNCAB56Qcv9Bp4UKbruuK2Q0bUNdTMc5ny3A4-V_3zlM3whj3Wn4_ZMH7w \  
4"temperature,device=sensor_01 value=23.5"  
5success  
 1  
 2./influxdb3 query -d _internal \  
 3--token apiv3_O12FEWfXA0H8UcSHYsEAfuTuKbHLbNCAB56Qcv9Bp4UKbruuK2Q0bUNdTMc5ny3A4-V_3zlM3whj3Wn4_ZMH7w \  
 4"SELECT database_name, retention_period_ns FROM system.databases"  
 5+---------------+---------------------+  
 6| database_name | retention_period_ns |  
 7+---------------+---------------------+  
 8| _internal | |  
 9| iot_sensors | 604800000000000 |  
10+---------------+---------------------+  
1./influxdb3 update database \  
2--database iot_sensors \  
3--token apiv3_O12FEWfXA0H8UcSHYsEAfuTuKbHLbNCAB56Qcv9Bp4UKbruuK2Q0bUNdTMc5ny3A4-V_3zlM3whj3Wn4_ZMH7w \  
4--retention-period 1h  
5  
6Database "iot_sensors" updated successfully  
1  
2./influxdb3 update database \  
3--database iot_sensors \  
4--token apiv3_O12FEWfXA0H8UcSHYsEAfuTuKbHLbNCAB56Qcv9Bp4UKbruuK2Q0bUNdTMc5ny3A4-V_3zlM3whj3Wn4_ZMH7w \  
5--retention-period none  
6  
7Database "iot_sensors" updated successfully  

demo

 1# 设置为1分钟  
 2❯ ./influxdb3 update database \  
 3--database iot_sensors \  
 4--token apiv3_O12FEWfXA0H8UcSHYsEAfuTuKbHLbNCAB56Qcv9Bp4UKbruuK2Q0bUNdTMc5ny3A4-V_3zlM3whj3Wn4_ZMH7w \  
 5--retention-period 1m  
 6Database "iot_sensors" updated successfully  
 7  
 8# 查看修改是否生效  
 9❯ ./influxdb3 query -d _internal \  
10--token apiv3_O12FEWfXA0H8UcSHYsEAfuTuKbHLbNCAB56Qcv9Bp4UKbruuK2Q0bUNdTMc5ny3A4-V_3zlM3whj3Wn4_ZMH7w \  
11"SELECT database_name, retention_period_ns FROM system.databases"  
12+---------------+---------------------+  
13| database_name | retention_period_ns |  
14+---------------+---------------------+  
15| _internal | |  
16| iot_sensors | 60000000000 |  
17+---------------+---------------------+  
18# 查询数据  
19❯ ./influxdb3 query \  
20--database iot_sensors \  
21--token apiv3_O12FEWfXA0H8UcSHYsEAfuTuKbHLbNCAB56Qcv9Bp4UKbruuK2Q0bUNdTMc5ny3A4-V_3zlM3whj3Wn4_ZMH7w \  
22"SELECT * FROM temperature LIMIT 10"  
23  
24# 等待1分钟后,数据被清理  
25❯ ./influxdb3 query \  
26--database iot_sensors \  
27--token apiv3_O12FEWfXA0H8UcSHYsEAfuTuKbHLbNCAB56Qcv9Bp4UKbruuK2Q0bUNdTMc5ny3A4-V_3zlM3whj3Wn4_ZMH7w \  
28"SELECT * FROM temperature LIMIT 10"  
29++  
30++  
31  

retention period 时间单位说明

单位符号 含义 示例 对应纳秒数
s 秒 (second) 30s 30 000 000 000
m 分钟 (minute) 15m 900 000 000 000
h 小时 (hour) 24h 86 400 000 000 000
d 天 (day) 7d 604 800 000 000 000
w 周 (week) 4w 2 419 200 000 000 000
mo 月 (month, 30天) 1mo 2 592 000 000 000 000

build 遇到的问题(macos arm)

 1#具体需要看自己的arch是什么,然后找到对应的libpython3.10.dylib路径,设置到环境变量中即可。  
 2❯ find /opt/homebrew -name "libpython3.10.dylib"  
 3/opt/homebrew/Cellar/[email protected]/3.10.18/Frameworks/Python.framework/Versions/3.10/lib/libpython3.10.dylib  
 4/opt/homebrew/Cellar/[email protected]/3.10.18/Frameworks/Python.framework/Versions/3.10/lib/python3.10/config-3.10-darwin/libpython3.10.dylib  
 5  
 6❯ find /usr/local -name "libpython3.10.dylib" 2>/dev/null  
 7/usr/local/Homebrew/Cellar/[email protected]/3.10.6_1/Frameworks/Python.framework/Versions/3.10/lib/libpython3.10.dylib  
 8/usr/local/Homebrew/Cellar/[email protected]/3.10.6_1/Frameworks/Python.framework/Versions/3.10/lib/python3.10/config-3.10-darwin/libpython3.10.dylib  
 9  
10# 设置环境变量继续执行 cargo 即可  
11export DYLD_LIBRARY_PATH=/opt/homebrew/Cellar/[email protected]/3.10.18/Frameworks/Python.framework/Versions/3.10/lib:$DYLD_LIBRARY_PATH