您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關怎么在postgresql 數據庫中使用TimescaleDB 修改分區時間范圍,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。
創建超表 create_hypertable()
1.創建普通版表
CREATE TABLE "超表名" ( "collect_time" timestamp(6) NOT NULL, "code" varchar(36) COLLATE "pg_catalog"."default" NOT NULL, "value" numeric(14,4) NOT NULL, "create_time" timestamp(6) NOT NULL ) ;
2.改為超表 create_hypertable()
SELECT create_hypertable('超表名', 'collect_time', chunk_time_interval => INTERVAL '7 day');
3.插入數據
INSERT INTO 超表名("collect_time", "code", "value", "create_time") VALUES ('2020-10-15 16:35:00', '22255220522', '23.4672', '2020-10-14 16:35:26.659'); INSERT INTO 超表名("collect_time", "code", "value", "create_time") VALUES ('2020-10-16 16:35:00', '26622569666', '0.1085', '2020-10-14 16:35:27.546'); INSERT INTO 超表名("collect_time", "code", "value", "create_time") VALUES ('2020-10-13 16:35:00', '525941155555', '25.0549', '2020-10-14 16:35:28.473'); INSERT INTO 超表名("collect_time", "code", "value", "create_time") VALUES ('2020-10-14 16:35:00', '744445411114', '0.0000', '2020-10-14 16:35:24.01'); INSERT INTO 超表名("collect_time", "code", "value", "create_time") VALUES ('2020-10-12 16:35:00', '774484457444', '0.0000', '2020-10-14 16:35:23.032');
查看分區,你會發現這些數據在2個分區內
1.查看_timescaledb_catalog.dimension 表
SELECT * FROM "_timescaledb_catalog"."dimension"
interval_length上顯示 604800000000 (TIMESTAMP類型)意思是一周
2.查看分區塊狀態
查看 dimension_slice 表
轉換時間戳
1602720000000000 2020-10-15 08:00:00
1603324800000000 2020-10-22 08:00:00
這里可以看到分區是7天的
1.修改分區時間
SELECT set_chunk_time_interval('超表名', interval '24 hours');
2.插入數據驗證
INSERT INTO 超表名("collect_time", "code", "value", "create_time") VALUES ('2021-1-14 16:35:00', '375222D001', '27.7932', '2020-10-14 16:35:15.011'); INSERT INTO 超表名("collect_time", "code", "value", "create_time") VALUES ('2021-1-15 16:35:00', '3715044111', '0.0000', '2020-10-14 16:35:20.389'); INSERT INTO 超表名("collect_time", "code", "value", "create_time") VALUES ('2021-1-16 16:35:00', '202Q0019QT001', '0.3663', '2020-10-14 16:35:19.087'); INSERT INTO 超表名("collect_time", "code", "value", "create_time") VALUES ('2021-1-17 16:35:00', '3702000284441', '22.2946', '2020-10-14 16:35:15.035'); INSERT INTO 超表名("collect_time", "code", "value", "create_time") VALUES ('2021-1-18 16:35:00', '37075225555501', '0.3022', '2020-10-14 16:35:24.041'); INSERT INTO 超表名("collect_time", "code", "value", "create_time") VALUES ('2021-1-19 16:35:00', '25555222206001', '0.0000', '2020-10-14 16:35:23.956');
查看_timescaledb_catalog.dimension 表
變成 86400000000 了
2.查看分區
分區也多了
還有第2種(未測試)
我想能不能直接"_timescaledb_catalog".“dimension” 表的 interval_length 字段直接 改為86400000000
看完上述內容,你們對怎么在postgresql 數據庫中使用TimescaleDB 修改分區時間范圍有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。