Я пытаюсь создать столбцы в базе данных временной шкалы, чтобы они соответствовали моей структуре типа в 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',
a INT,
b INT,
ev TEXT,
sym TEXT,
s INT,
t INT,
p DECIMAL if_not_exists => TRUE);
`
Я получаю эту ошибку Невозможно вставить образец в шкалу времени ОШИБКА:
syntax error at or near "INT" (SQLSTATE 42601)
exit status 1
Здесь, наверное, много вопросов, пожалуйста, просветите меня.
P
в структуре какint16
, но в таблицах естьp DECIMAL
. Ожидается ли это? - person advay rajhansa   schedule 24.05.2021create_hypertable
. Вы указываете только имя таблицы, столбец которой является столбцом раздела времени. Вы не предоставляете столбцы для этих функций, так как они обнаружены в исходной таблице. - person k_rus   schedule 24.05.2021SELECT create_hypertable('trade_data', 'time')
после оператора создания таблицы. Правильно ли я понимаю, что вы получаете сообщение об ошибке для оператора создания гипертаблицы? - person k_rus   schedule 24.05.2021