如何解决TIMESCALEDB 架构问题
我正在尝试在 timescale db 中创建列以匹配我在 GoLANG 中的类型结构。下面是我的类型结构和我的表/超级表的代码。有人知道我做错了什么吗?
type Trade struct {
A int16 `json:"a"`
B int16 `json:"b"`
Ev string `json:"ev"`
P int16 `json:"p"`
Sym string `json:"sym"`
S int16 `json:"s"`
T int64 `json:"t"`
}
creatX := `CREATE EXTENSION IF NOT EXISTS timescaledb;`
creatT := `CREATE TABLE IF NOT EXISTS trade (id SERIAL PRIMARY KEY,a INT,b INT,ev TEXT,sym TEXT,s INT,t INT,p DECIMAL);`
//Table schema
tradeHypertable := `CREATE TABLE trade_data (
time TIMESTAMPTZ NOT NULL,a INT NOT NULL,b INT NOT NULL,ev TEXT NOT NULL,sym TEXT NOT NULL,s INT NOT NULL,t INT NOT NULL,p DECIMAL NOT NULL
);
SELECT create_hypertable('trade_data','time',p DECIMAL if_not_exists => TRUE);
`
我收到此错误无法将样本插入时间刻度错误:
syntax error at or near "INT" (SQLSTATE 42601)
exit status 1
这里可能有很多问题,请教我。
解决方法
tradeHypertable := `CREATE TABLE IF NOT EXISTS trade_data (
time TIMESTAMPTZ NOT NULL,a INT,b INT,ev TEXT,sym TEXT,s INT,t BIGINT,p DECIMAL);
SELECT create_hypertable('trade_data','time');
`
trdInsert := `INSERT INTO trade_data (time,a,b,ev,sym,s,t,p) VALUES ($1,$2,$3,$4,$5,$6,$7,$8)`
trdInsert 是正确的语法
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。