濮阳杆衣贸易有限公司

主頁 > 知識庫 > 淺析postgresql 數據庫 TimescaleDB 修改分區(qū)時間范圍

淺析postgresql 數據庫 TimescaleDB 修改分區(qū)時間范圍

熱門標簽:電話機器人怎么換人工座席 電銷機器人能補救房產中介嗎 移動外呼系統(tǒng)模擬題 地圖標注要花多少錢 天津開發(fā)區(qū)地圖標注app 江蘇400電話辦理官方 濟南外呼網絡電話線路 400電話申請客服 廣州電銷機器人公司招聘

今天遇到一個問題 之前用TimescaleDB創(chuàng)建的超表 是已7天為單位的 由于7天的數據量過大 影響查詢效率 需要把7天的分區(qū)改為一天一分區(qū)

創(chuàng)建超表 create_hypertable()

1.創(chuàng)建普通版表

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');

查看分區(qū),你會發(fā)現這些數據在2個分區(qū)內

修改分區(qū) set_chunk_time_interval()

一.查看分區(qū)情況

1.查看_timescaledb_catalog.dimension 表

SELECT * FROM "_timescaledb_catalog"."dimension"

interval_length上顯示 604800000000 (TIMESTAMP類型)意思是一周
2.查看分區(qū)塊狀態(tài)
查看 dimension_slice 表

轉換時間戳
1602720000000000 2020-10-15 08:00:00
1603324800000000 2020-10-22 08:00:00
這里可以看到分區(qū)是7天的

二.修改分區(qū)時間 set_chunk_time_interval()

1.修改分區(qū)時間

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.查看分區(qū)
分區(qū)也多了

還有第2種(未測試)
我想能不能直接"_timescaledb_catalog".“dimension” 表的 interval_length 字段直接 改為86400000000

到此這篇關于postgresql 數據庫 TimescaleDB 修改分區(qū)時間(范圍)的文章就介紹到這了,更多相關postgresql 數據庫 TimescaleDB 分區(qū)時間內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • PostgreSQL LIST、RANGE 表分區(qū)的實現方案
  • PostgreSQL 創(chuàng)建表分區(qū)
  • 利用python為PostgreSQL的表自動添加分區(qū)
  • 如何為PostgreSQL的表自動添加分區(qū)
  • 淺談PostgreSQL 11 新特性之默認分區(qū)
  • PostgreSQL之分區(qū)表(partitioning)
  • PostgreSQL分區(qū)表(partitioning)應用實例詳解
  • PostgreSQL教程(三):表的繼承和分區(qū)表詳解
  • 淺談PostgreSQL表分區(qū)的三種方式

標簽:榆林 杭州 昭通 海西 寶雞 辛集 濮陽 溫州

巨人網絡通訊聲明:本文標題《淺析postgresql 數據庫 TimescaleDB 修改分區(qū)時間范圍》,本文關鍵詞  淺析,postgresql,數據庫,TimescaleDB,;如發(fā)現本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《淺析postgresql 數據庫 TimescaleDB 修改分區(qū)時間范圍》相關的同類信息!
  • 本頁收集關于淺析postgresql 數據庫 TimescaleDB 修改分區(qū)時間范圍的相關信息資訊供網民參考!
  • 推薦文章
    裕民县| 东乡| 潞西市| 四子王旗| 甘南县| 德安县| 合山市| 普定县| 平塘县| 南木林县| 花莲县| 新和县| 驻马店市| 房山区| 桑植县| 普陀区| 汉寿县| 共和县| 康平县| 蒙山县| 禄丰县| 延庆县| 海宁市| 安远县| 麟游县| 桓仁| 阜新市| 江永县| 奉节县| 商水县| 成武县| 霍邱县| 石景山区| 镇原县| 施甸县| 莱西市| 浮山县| 白朗县| 镶黄旗| 澄城县| 绥棱县|