postgresql时序数据库插件timescaledb语法

文章目录

前提是已经安装好timescaledb插件。

查看超表的chunks数据

有人说,我看表里的数据该是多少条还是多少条,没有分块啊?

是这样,超表只是一层外壳,实际上底层是做了chunks的。

语句:

sql 复制代码
SELECT hypertable_name, chunk_name, range_start, range_end
FROM timescaledb_information.chunks
WHERE hypertable_name = 'system_log_timescale';

结果如图:

当然,直接去timescaledb_informationchunks里查看也是可以的。

timescaledb机制?

从sql上来说,用法基本相同。它之所以快,是从底层做了很多结构性的优化,例如chunks等,所以才会如此快。

额外的结构

一张图就能说明白,原本只有一个schema就是public,使用timescaledb后,自动创建了很多schema这些schema都是用来支持timescaledb的,如图:

测试案例-建表语句

这里建了两个表,一个普通表,一个timescaledb表。

sql 复制代码
-- 1. 创建普通日志表
CREATE TABLE IF NOT EXISTS system_log_normal (
                                                 id          SERIAL PRIMARY KEY,
                                                 time        TIMESTAMPTZ NOT NULL,
                                                 level       TEXT NOT NULL,
                                                 service     TEXT NOT NULL,
                                                 message     TEXT
);

-- 2. 创建TimescaleDB超表
CREATE TABLE IF NOT EXISTS system_log_timescale (
                                                    time        TIMESTAMPTZ NOT NULL,
                                                    level       TEXT NOT NULL,
                                                    service     TEXT NOT NULL,
                                                    message     TEXT
);

-- 3. 将system_log_timescale转换为超表(需要已安装TimescaleDB扩展)
SELECT create_hypertable('system_log_timescale', 'time',
                         chunk_time_interval => INTERVAL '1 day',
                         if_not_exists => TRUE);

-- 4. 创建索引(可选,提升查询性能)
CREATE INDEX IF NOT EXISTS idx_normal_time ON system_log_normal(time);
CREATE INDEX IF NOT EXISTS idx_normal_level ON system_log_normal(level);
CREATE INDEX IF NOT EXISTS idx_timescale_time ON system_log_timescale(time);
CREATE INDEX IF NOT EXISTS idx_timescale_level ON system_log_timescale(level);

定时任务相关 todo

相关推荐
yexuhgu1 小时前
Redis怎样节省海量状态存储内存_利用Bitmap结构替代传统String存储
jvm·数据库·python
hughnz1 小时前
下一代地热能的技术障碍
java·大数据·数据库
小李云雾1 小时前
慧校坊-二手校园交易平台-------项目总结
数据库·后端·程序人生·fastapi·项目
2301_779622411 小时前
如何修复SQL嵌套查询死锁_调整锁粒度与执行顺序
jvm·数据库·python
HelloWorld工程师1 小时前
Redis 小小知识点
数据库·redis·缓存
iAm_Ike1 小时前
HTML怎么显示灵感便签关联项目_HTML拖拽绑定项目入口【详解】
jvm·数据库·python
2301_809204701 小时前
SQL如何实现实时数据的滑动窗口分析_SQL性能调优
jvm·数据库·python
木子墨5161 小时前
工程算法实战 | 数据库ORDER BY的底层:内存排序 → 外部归并 → 索引优化
数据结构·数据库·python·sql·算法·动态规划
yexuhgu1 小时前
如何在 JavaScript 循环中动态构建 HTML 字符串
jvm·数据库·python