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

相关推荐
long3161 小时前
MySQL 学习练习(配套 01 入门资料)
数据库·学习·mysql
数据库小学妹3 小时前
数据库等保三级和四级有什么区别?从访问控制到备份恢复的完整对比
数据库·安全·数据库安全·三级等保·等保合规·四级等保
看浪的路人3 小时前
第3讲:手写第一个 MCP Server(Python SDK)
jvm·数据库·oracle
大眼、不聚光4 小时前
5.mysql--主从同步安装部署
数据库·mysql
Yan_chen6665 小时前
SQL-LABS_Less18-20实战攻略
数据库·sql·web安全·网络安全
oradh5 小时前
Oracle RAC OCR维护操作总结
数据库·oracle·ocr·rac ocr维护·ocr维护·vote disk
snow@li5 小时前
HikariCP:高性能数据库连接池全景深入梳理
java·数据库
一个天蝎座的程序猿6 小时前
传统数据库迁金仓KES,空值问题差点让财务报表翻车
数据库
wWYy.6 小时前
Mysql:索引下推
数据库·mysql
风123456789~8 小时前
【Oracle专栏】ORA-02069: global_names 参数
数据库·oracle