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

相关推荐
cspttty7 小时前
银行数据分析校招能力模型:SQL、指标体系、可视化与AI辅助分析
数据库
这个DBA有点耶8 小时前
AI Agent操作数据库的安全边界:只读沙箱、操作预演与自动回滚如何落地?
数据库·sql·程序人生·aigc·数据库架构·dba
ss2738 小时前
Java全栈实战 | 1.3-03 索引原理:联合索引 (a,b,c) 只查 b 走不了索引?B+ 树一图讲透所有索引玄学
java·数据库
聚美智数9 小时前
车辆合格证OCR识别-机动车合格证识别-车辆合格证OCR‑机动车出厂证解析‑整车参数提取 API 接口介绍
数据库·经验分享
DBA_G9 小时前
南大通用技术分享:GBase 8a数据库执行计划架构原理解析
数据库
QQ_21696290969 小时前
基于SpringBoot+Vue的小生活平台的设计与实现
java·数据库·vue.js·spring boot·spring·微信小程序·生活
天天喝旺仔9 小时前
Prometheus + Grafana 监控告警体系搭建实战:从 Exporter 指标采集、PromQL 查询到 Alertmanager 告警落地
容器·kubernetes·grafana·prometheus·时序数据库
考虑考虑17 小时前
数据库中的EXISTS
运维·数据库·后端
Wang's Blog17 小时前
Java框架快速入门: Spring Security+OAuth2之数据库和实体类的RBAC改造
java·数据库·spring
梦想平凡18 小时前
百游棋牌源代码开发搭建教程(十):隔离部署、备份恢复与双端验收
java·前端·javascript·数据库·源代码管理