我使用influxd restore
将Influx数据库移到了新服务器上。最初是我的数据库。
select * from trade_history limit 3
time amount buy_order_id currency_pair price sell_order_id
---- ------ ------------ ------------- ----- -------------
2018-08-20T23:00:58.033Z 0.05 158466946 BTC_EUR 5499 158481910
2018-08-20T23:01:30.925Z 0.06179987 155820390 BTC_EUR 5480 158482207
2018-08-20T23:01:40.187Z 0.06051517 158467094 BTC_EUR 5479 158482286
我的脚本开始将新数据插入到我的数据库中。这是InfluxDBClient
的json正文。
json_body = [{"measurement": "trade_history",
"tags": {"currency_pair": "BTC_EUR"},
"time": int(trade['date']),
"fields": {"price": float(trade['price']),
"amount": float(trade['amount']),
"buy_order_id": trade['buyOrderId'],
"sell_order_id": trade['sellOrderId']}}]
它可以正常工作,但是会添加一个名为currency_pair_1
的新列。
> select * from trade_history order by time desc limit 3
time amount buy_order_id currency_pair currency_pair_1 price sell_order_id
---- ------ ------------ ------------- --------------- ----- -------------
2018-09-27T13:02:38.378Z 0.007441 178103686 BTC_EUR 5569.53 178100608
2018-09-27T12:59:48.5Z 0.0002 178101896 BTC_EUR 5563.26 178101856
2018-09-27T12:59:21.996Z 0.00616286 178101676 BTC_EUR 5556.55 178101686
为什么influxdb
创建名为currency_pair_1
的新列并停止使用currency_pair
?
currency_pair
应该为tag
,其他值为fields
。
> SHOW FIELD KEYS ON database
name: trade_history
fieldKey fieldType
-------- ---------
amount float
buy_order_id integer
currency_pair string
price float
sell_order_id integer
> SHOW TAG KEYS ON database
name: trade_history
tagKey
------
currency_pair
如您所见,currency_pair_1
或tags
中没有fields
。这怎么可能?
涌入版本:
influx
Connected to http://localhost:8086 version 1.6.3
InfluxDB shell version: 1.6.3
通过pip3安装了Influxdb客户端:
influxdb (5.0.0)
Python3版本:
Python 3.6.6