postgreSql Timescale (创建超表和物化视图)

打印 上一主题 下一主题

主题 986|帖子 986|积分 2958

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
目次
1、创建数据库test
2、把数据库转为时序库 
3、创建超表
4、超表数据保存策略 6个月前数据主动删除
5、 验证查询超表空间
6、创建物化视图步骤


参考:https://docs.timescale.com/getting-started/latest/aggregation/
Timescale Cloud 是一个基于云的 PostgreSQL 平台,适用于资源麋集型工作负载。我们帮助您更快地构建、进一步扩展并控制预算。Timescale Cloud 服务是一个经过优化的 100% PostgreSQL 数据库实例,您可以按原样利用,也可以利用特定于业务需求的功能进行扩展。可用的功能包括:


  • 时间序列和分析:带有 TimescaleDB 的 PostgreSQL。您熟悉和喜爱的 PostgreSQL,具有用于大规模存储和查询时间序列数据的功能,可用于分析和其他用例。利用超表、连续聚合和列式存储获得更快的基于时间的查询。利用本机压缩、数据保存策略和无底数据分层到 Amazon S3 节流存储空间。
  • AI 和向量:带有向量扩展的 PostgreSQL。利用 PostgreSQL 作为向量数据库,并利用专门构建的扩展来重新到尾构建 AI 应用程序。利用 pgvector 和 pgvectorscale 扩展进行快速准确的相似性搜刮。利用 pgai 扩展创建向量嵌入并对数据执行 LLM 推理。
  • PostgreSQL:值得信任的行业标准 RDBMS。非常适合需要强数据一致性、复杂关系和高级查询功能的应用程序。通过自定义函数、数据类型和扩展获得 ACID 合规性、广泛的 SQL 支持、JSON 处置惩罚和可扩展性。Timescale Cloud 持续监控您的服务并防止常见的 PostgreSQL 内存不敷瓦解。
全部 Timescale Cloud 服务都包罗您盼望用于生产和开辟环境的工具:实时迁移、 主动备份和 PITR、高可用性、读取副本、数据分叉、连接池、分层存储、 基于利用环境的存储、安全的控制台内SQL 编辑、服务指标 和见解、简化的维护等等。  

1、创建数据库test

  1. # create database "test";
复制代码
2、把数据库转为时序库 

  1. # 在数据库会话中执行
  2. CREATE EXTENSION timescaledb;
复制代码
3、创建超表

利用的财务数据集,创建一个名为的超表 stocks_real_time,此中包罗生意业务量排名前 100 位的代码的逐秒股票生意业务数据。

创建一个常规 PostgreSQL 表来存储实时股票生意业务数据CREATE TABLE:

  
  1. CREATE TABLE stocks_real_time (
  2.     time TIMESTAMPTZ NOT NULL,
  3.     symbol TEXT NOT NULL,
  4.     price DOUBLE PRECISION NULL,
  5.     day_volume INT NULL
  6. );
复制代码
4、超表数据保存策略 6个月前数据主动删除

  1. SELECT add_retention_policy('stocks_real_time ', INTERVAL '6 months');
复制代码


  5、 验证查询超表空间

  1. SELECT *
  2. FROM timescaledb_information.dimensions
  3. WHERE hypertable_name = 'stocks_real_time';
复制代码
  1. [/code]  [size=5]6、创建物化视图步骤[/size]
  2.      [code]-- 聚合查询语句
  3. select
  4.     day_volume,
  5.     max(time) last_time,
  6.     time_bucket(interval '1 day',data_time) as bucket
  7. from stocks_real_time td
  8. group by time ,bucket
  9. order by bucket desc ;
  10. -- 创建物化视图
  11. CREATE MATERIALIZED view stocks_real_day_calculation
  12.             WITH (timescaledb.continuous) AS
  13. select
  14.     day_volume,
  15.     max(time) last_time,
  16.     time_bucket(interval '1 day',data_time) as bucket
  17. from stocks_real_time td
  18. group by time ,bucket
  19. order by bucket desc ;
  20. -- 创建刷新策略
  21. SELECT add_continuous_aggregate_policy(
  22.                'stocks_real_day_calculation',          -- 物化视图的名称
  23.                start_offset =>  INTERVAL '3 day',  -- 开始偏移量,设置为3天
  24.                end_offset => INTERVAL '1 day',  -- 结束偏移量,设置为1天
  25.                schedule_interval => INTERVAL '1 hour'  -- 刷新间隔,每1小时刷新一次
  26.        );
  27. -- 聚合数据保留策略 3年前聚合数据删除
  28. SELECT add_retention_policy('stocks_real_day_calculation', INTERVAL '3 years');
  29. -- 查询视图数据
  30. select * from stocks_real_day_calculation;
  31. --删除物化视图
  32. drop  MATERIALIZED VIEW stocks_real_day_calculation
复制代码
  

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

何小豆儿在此

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表