From fa8dded9f5c4688164435f71d9db5f82f0992066 Mon Sep 17 00:00:00 2001 From: "suguo.yao" Date: Fri, 17 Dec 2021 10:51:57 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E5=96=84influx?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 1 + influx/influx.go | 29 +++++++++++++++++++++++++++++ 2 files changed, 30 insertions(+) diff --git a/.gitignore b/.gitignore index 458b8d1..b0b204d 100644 --- a/.gitignore +++ b/.gitignore @@ -18,3 +18,4 @@ go.sum tmp/ .vscode/ logs/ +snippet \ No newline at end of file diff --git a/influx/influx.go b/influx/influx.go index 08cf686..728a337 100644 --- a/influx/influx.go +++ b/influx/influx.go @@ -3,6 +3,7 @@ package influx import ( "context" "encoding/json" + "errors" "fmt" "time" @@ -101,3 +102,31 @@ func ReadSample() error { } return nil } + +//创建数据库,并配置默认过期策略(单位:天) +func CreateDB(dbname string, expired uint) error { + if dbname == "" || expired == 0 { + return errors.New("无效参数") + } + db, err := New() + if err != nil { + return err + } + defer db.Close() + + createDbSQL := client.NewQuery(fmt.Sprintf("CREATE DATABASE %s", dbname), "", "") + result, err := db.Query(createDbSQL) + if err != nil { + return err + } + if result.Error() != nil { + return result.Error() + } + // 过期策略 + createRPSQL := client.NewQuery(fmt.Sprintf("CREATE RETENTION POLICY default ON %s DURATION %dd REPLICATION 1 DEFAULT", dbname, expired), dbname, "") + result, err = db.Query(createRPSQL) + if err != nil { + return err + } + return result.Error() +}