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

相关推荐
笃行35010 小时前
金仓数据库数据安全双防线:静态存储加密与传输加密实战
数据库
笃行35010 小时前
金仓数据库物理备份实战:sys_rman 全流程演练与误覆盖抢救
数据库
笃行35011 小时前
金仓数据库逻辑备份实战:从全库导出到 Schema 替换的完整闭环
数据库
SelectDB1 天前
阶跃星辰基于 SelectDB 构建 PB 级 Agent 可观测平台
大数据·数据库·aigc
这个DBA有点耶1 天前
GROUP BY优化全解:如何写出既不丢数据又飞快的分组查询
数据库·mysql·架构
掉头发的王富贵2 天前
【StarRocks】极限十分钟入门StarRocks
数据库·sql·mysql
Nturmoils2 天前
WHERE 条件别凭习惯写,常用查询先跑一遍
数据库
Databend2 天前
在 AWS 中国峰会逛了一天,我在 Databend 展台看到了 Agent 数据基础设施的新思路
数据库·人工智能·agent
ClouGence4 天前
Oracle 数据同步为什么会出现数据不一致?长事务是常被忽略的原因
数据库·后端·oracle