淺析postgresql 數(shù)據(jù)庫(kù) TimescaleDB 修改分區(qū)時(shí)間范圍
今天遇到一個(gè)問(wèn)題 之前用TimescaleDB創(chuàng)建的超表 是已7天為單位的 由于7天的數(shù)據(jù)量過(guò)大 影響查詢效率 需要把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.插入數(shù)據(jù)
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ū),你會(huì)發(fā)現(xiàn)這些數(shù)據(jù)在2個(gè)分區(qū)內(nèi)
修改分區(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 表

轉(zhuǎn)換時(shí)間戳
1602720000000000 2020-10-15 08:00:00
1603324800000000 2020-10-22 08:00:00
這里可以看到分區(qū)是7天的
二.修改分區(qū)時(shí)間 set_chunk_time_interval()
1.修改分區(qū)時(shí)間
SELECT set_chunk_time_interval('超表名', interval '24 hours');
2.插入數(shù)據(jù)驗(yàn)證
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');
三.查看 修改結(jié)果
查看_timescaledb_catalog.dimension 表

變成 86400000000 了
2.查看分區(qū)
分區(qū)也多了

還有第2種(未測(cè)試)
我想能不能直接"_timescaledb_catalog".“dimension” 表的 interval_length 字段直接 改為86400000000
到此這篇關(guān)于postgresql 數(shù)據(jù)庫(kù) TimescaleDB 修改分區(qū)時(shí)間(范圍)的文章就介紹到這了,更多相關(guān)postgresql 數(shù)據(jù)庫(kù) TimescaleDB 分區(qū)時(shí)間內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- PostgreSQL LIST、RANGE 表分區(qū)的實(shí)現(xiàn)方案
- PostgreSQL 創(chuàng)建表分區(qū)
- 利用python為PostgreSQL的表自動(dòng)添加分區(qū)
- 如何為PostgreSQL的表自動(dòng)添加分區(qū)
- 淺談PostgreSQL 11 新特性之默認(rèn)分區(qū)
- PostgreSQL之分區(qū)表(partitioning)
- PostgreSQL分區(qū)表(partitioning)應(yīng)用實(shí)例詳解
- PostgreSQL教程(三):表的繼承和分區(qū)表詳解
- 淺談PostgreSQL表分區(qū)的三種方式
相關(guān)文章
PostgreSQL?數(shù)組類型操作使用及特點(diǎn)詳解
這篇文章主要為大家介紹了PostgreSQL?數(shù)組類型操作使用及特點(diǎn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-10-10
使用navicat連接postgresql報(bào)錯(cuò)問(wèn)題圖文解決辦法
我們?cè)谌粘i_發(fā)中有時(shí)候需要用navicate連接postgresql數(shù)據(jù)庫(kù),有時(shí)候會(huì)連接不上數(shù)據(jù)庫(kù),下面這篇文章主要給大家介紹了關(guān)于使用navicat連接postgresql報(bào)錯(cuò)問(wèn)題圖文解決辦法,需要的朋友可以參考下2023-11-11
Postgres bytea類型 轉(zhuǎn)換及查看操作
這篇文章主要介紹了Postgres bytea類型 轉(zhuǎn)換及查看操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-12-12
DBeaver中PostgreSQL數(shù)據(jù)庫(kù)顯示不全的解決方法
最近,在DBeaver中連接了本地的PostgreSQL數(shù)據(jù)庫(kù),但是連接后打開這個(gè)數(shù)據(jù)庫(kù)時(shí)發(fā)現(xiàn),數(shù)據(jù)庫(kù)顯示不全,所以本文給大家介紹了DBeaver中PostgreSQL數(shù)據(jù)庫(kù)顯示不全的解決方法,需要的朋友可以參考下2024-11-11
Postgresql源碼分析returns?setof函數(shù)oracle管道pipelined
這篇文章主要為大家介紹了Postgresql源碼分析returns?setof函數(shù)oracle管道pipelined,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-01-01
自定義函數(shù)實(shí)現(xiàn)單詞排序并運(yùn)用于PostgreSQL(實(shí)現(xiàn)代碼)
這篇文章主要介紹了自定義函數(shù)實(shí)現(xiàn)單詞排序并運(yùn)用于PostgreSQL,本文給大家分享實(shí)現(xiàn)代碼,對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-04-04
PostgreSQL數(shù)據(jù)庫(kù)的基本查詢操作
這篇文章采用詳細(xì)的代碼示例為大家介紹了PostgreSQL數(shù)據(jù)庫(kù)的基本查詢操作使用,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪2022-04-04
PostgreSQL中的日期/時(shí)間函數(shù)詳解
這篇文章主要給大家介紹了關(guān)于PostgreSQL中日期/時(shí)間函數(shù)的相關(guān)資料,文章通過(guò)實(shí)例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2022-01-01
Postgresql之時(shí)間戳long,TimeStamp,Date,String互轉(zhuǎn)方式
這篇文章主要介紹了Postgresql中的時(shí)間戳long,TimeStamp,Date,String互轉(zhuǎn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-03-03

