InfluxDB常见疑问与解答 - 数据写入时如何在表级别指定保留策略

2019-10-18 17:41:10 浏览数 (1)

网友Siguoei:

我想让一个库中不同的measurment能够指定不同的保存策略。

而不是写入时使用数据库的默认保留策略。

Answer:

这个特性InfluxDB支持的,写入时序数据时,在行协议前加上保留策略名,以influx命令行操作为例,insert语句的语法如下。

代码语言:javascript复制
insert into <rp-name> <line-protocol>

需要注意的是,因为写入的时序数据记录对应的保留策略,不是默认保留策略,在查询相关时序数据记录时,需要加上保留策略名,select语句的语法格式如下。

代码语言:javascript复制
select * from <rp-name>.<measurement-name>

例0x00 在数据库telegraf中,使用非默认保留策略rp-one-year向表devops-idc-sz中写入时序数据记录。

(InfluxDB版本:InfluxDB-1.7.8)

代码语言:javascript复制
> create database telegraf
> use telegraf
Using database telegraf
> create retention policy "rp-one-year" on "telegraf" duration 365d replication 1
> show retention policies on telegraf
name        duration  shardGroupDuration replicaN default
----        --------  ------------------ -------- -------
autogen     0s        168h0m0s           1        true
rp-one-year 8760h0m0s 168h0m0s           1        false
> insert into "rp-one-year" devops-idc-sz,host=server01 cpu=23.1,mem=0.63
> select * from "devops-idc-sz"
>
> select * from "rp-one-year"."devops-idc-sz"
name: devops-idc-sz
time                cpu  host     mem
----                ---  ----     ---
1571296987607266011 23.1 server01 0.63
> select * from "telegraf"."rp-one-year"."devops-idc-sz"
name: devops-idc-sz
time                cpu  host     mem
----                ---  ----     ---
1571296987607266011 23.1 server01 0.63
>

后记:

欢迎交流讨论:

微信公众号:influxdb-dev。

InfluxDB技术交流群(QQ):663274123。

0 人点赞