Я только начал использовать timescaleDB с postgresql. У меня есть база данных с именем storage_db
, которая содержит таблицу с именем day_ahead_prices
.
. После установки timescaledb я следовал за Миграция из той же postgresql базы данных , чтобы перенести мою storage_db
в timescaledb.
Когда я это сделал (включая индексы):
CREATE TABLE tsdb_day_ahead_prices (LIKE day_ahead_prices INCLUDING DEFAULTS INCLUDING CONSTRAINTS INCLUDING INDEXES);
select create_hypertable('tsdb_day_ahead_prices', 'date_time');
Это дало мне следующую ошибку:
ERROR: cannot create a unique index without the column "date_time" (used in partitioning)
Но когда я это сделал (индексированные исключены) ):
CREATE TABLE tsdb_day_ahead_prices (LIKE day_ahead_prices INCLUDING DEFAULTS INCLUDING CONSTRAINTS EXCLUDING INDEXES);
select create_hypertable('tsdb_day_ahead_prices', 'date_time');
Успешно. После этого я сделал
select create_hypertable('tsdb_day_ahead_prices', 'date_time');
, и он дал мне следующий вывод:
create_hypertable
------------------------------------
(3,public,tsdb_day_ahead_prices,t)
(1 row)
Я немного новичок в этом вопросе, поэтому кто-нибудь может объяснить мне, в чем разница между и то и другое и почему я получаю сообщение об ошибке в первом случае?
PS:
My day_ahead_prices
выглядит следующим образом:
id | country_code | values | date_time
----+--------------+---------+----------------------------
1 | LU | 100.503 | 2020-04-11 14:04:30.461605
2 | LU | 100.503 | 2020-04-11 14:18:39.600574
3 | DE | 106.68 | 2020-04-11 15:59:10.223965
Edit 1:
Я создал таблицу day_ahead_prices
в python
, используя flask
и flask_sqlalchemy
, и код:
class day_ahead_prices(db.Model):
__tablename__ = "day_ahead_prices"
id = db.Column(db.Integer, primary_key=True)
country_code = db.Column(avail_cc_enum, nullable=False)
values = db.Column(db.Float(precision=2), nullable=False)
date_time = db.Column(db.DateTime, default=datetime.now(tz=tz), nullable=False)
def __init__(self, country_code, values):
self.country_code = country_code
self.values = values