问题标签 [timescaledb]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1778 浏览

flask - 将超表转换为常规 postgres 表

timescaledb 很新,我正在为迁移脚本而苦苦挣扎。我正在尝试使用 SQLAlchemy 为烧瓶应用程序创建迁移。

假设我创建了一个表(如在 timescaledb 文档中),如下所示:

要添加超表,我的升级迁移脚本应该这样做:

降级部分应该是什么样子?从timescaledb docs,他们建议:

但我不希望整个表都被删除,只有“hypertable”部分才有意义。也许这是愚蠢和毫无意义的,我想通过我们的迁移提供一种脱离 timescaledb 的方法。我已经阅读了这个 SO 问题:通过 SQL Alchemy 创建 Hypertables,其中似乎没有为 SQLAlchemy 提供特定支持,他们建议使用触发器来创建超表而不是特定迁移。

你有什么建议?

0 投票
1 回答
772 浏览

sql - TimeScaleDB 物化行太大

概括

我遇到了一个问题,即物化视图的行限制超过了 Postgres 数据库中允许的最大值。

描述

命名的表PAC4200_Metering有 108 个字段,都是双精度字段。我想存储一个表的物化缓存,我在其中存储一个 JSON 对象,其中包含时间段内字段的平均值、最大值、最小值等键。

错误响应:

我尝试过的替代方法

我没有将 JSON 对象填充为 JSON 对象,而是尝试将 JSON 对象中的每个键(平均值、最小值、最大值等...)存储为类似于“voltage_an_avg”、“voltage_an_min”、“voltage_an_max”的字段,然后访问它们以这种方式,但我仍然遇到同样的限制。

主要问题/解决方案

  • 有没有办法增加这个行大小限制?(如果这甚至是好的做法)
  • 有没有更好的方法来存储这些值...
0 投票
1 回答
690 浏览

sql - How to use timebucket_gapfill when rows can have null values?

I have a time series table where measurements are recorded into "wide" rows. Rows may contain all measurements or only some. The other columns are then set to NULL.

I would like to use timebucket_gapfill() to "clean" this table and make sure that every row in the output has data in all columns, even if the underlying dataset has some null values for some of the columns.

This is how I prepare the table with some data (schema from the getting started guide):

And this is how I query it:

The output is:

  • I understand why the first row is empty - no data in the dataset.
  • At 5:02:17, interpolation is working fine when there are no rows in the dataset.
  • However, at 5:02:15 and 5:02:19, where the underlying rows are "partial", the database did not use values from the previous and next rows to interpolate a result for respectively humidity and temperature.

How do I write the query to return an interpolated value for all measurement columns?

0 投票
2 回答
1297 浏览

sql - 在多列中前向填充 NULL 值

我有一个包含一些时间序列数据的表。

我想对 NULL 值进行前向填充,以便我的查询结果如下所示:

我怎样才能做到这一点?

我正在使用带有 timescaledb 扩展的 postgresql 10

0 投票
1 回答
1097 浏览

java - TimescaleDB 比用于插入的普通 postgresql 10 慢

我正在使用 JDBC 将 1m 行插入到具有时间刻度的测试表中,性能似乎是普通 postgresql 的一半左右。通过采用 timescale-tune 实用程序建议的所有值来完成时间刻度调整。我究竟做错了什么?

时间刻度:计数:1000000 总时间: 42026写入/秒:23794

Postgres 10: 计数:1000000 总时间:22573 写入/秒:44300

x86_64-pc-linux-gnu 上的 PostgreSQL 10.10 (Ubuntu 10.10-1.pgdg16.04+1),由 gcc (Ubuntu 5.4.0-6ubuntu1~16.04.11) 5.4.0 20160609,64 位编译

时标数据库 | 1.4.2 | 公共 | 为时间序列数据启用可扩展的插入和复杂查询

硬件:Intel(R) Core(TM) i7-4702MQ CPU @ 2.20GHz,16GB 内存

0 投票
1 回答
925 浏览

postgresql - timescaledb 中的数据保留

试图绕过 timescaledb,但我的 google-fu 让我失望了。很可能是因为我没有在搜索正确的术语。

使用 RRD 工具,可以将旧数据存储为平均值,从而减少存储的数据量。

我似乎无法找到如何使用 timescaledb 做到这一点。我想要 90 天的 5 分钟分辨率,但在那之后,保留所有这些数据点是没有意义的,我想在几年内将其减少到 30 或 60 分钟的平均值,然后可能是之后的每日平均值。

这是我可以在数据库本身中设置的东西,还是我必须在家政工作中实现的东西?

0 投票
1 回答
531 浏览

postgresql - 具有时间刻度升级的 postgresql

我安装了带有 Timescale 1.1.1 共享库的 Postgresql 9.6.11。我正在尝试升级它们,使用 Timescale 和pg_upgradePostgres 的就地升级,即 Postgresql 到 11.5 和 Timescale 到 1.4。我应该先升级哪个?我首先成功地升级了 Timescale,然后我尝试继续使用 pg_upgrade,但我遇到了错误 pg_restore: [archiver (db)] Error from TOC entry 1012; 1259 24224 TABLE cache_inval_extension 我想知道我是否应该安装带有 Timescale 1.1.1 的 Postgresql 11.5。然后使用 pg_upgrade 然后就地时间尺度。

0 投票
1 回答
903 浏览

sql - 如何优化(TimescaleDB/PostgreSQL)时间序列 SQL 查询

我有时间序列数据,我正在尝试尽可能高效地进行数据库结构和查询。

我已将 id 和 datetime 索引为表中的 desc。

表结构如下

映射表

没有错误,但我仍然想知道这看起来不够好或不够高效。现在执行大约需要 14 秒。优化此查询的最简单解决方案是什么?

在 EXPLAIN ANALYZE 的结果下方

0 投票
2 回答
4274 浏览

postgresql - 如何确定表是否启用了时间刻度以及在哪些列上?

我有一个其他人创建的Timescale数据库。

  1. 如何确定是否create_hypertable在桌子上被调用?

现在我使用它,但必须有更好的方法:

  1. 如果create_hypertable在表上调用,调用时使用了哪些参数(包括 chunk_time_interval)create_hypertable

(在某些情况下,有 from_date 和 to_date)

0 投票
0 回答
186 浏览

postgresql - Grafana Postgres 查询编辑器和 pg_prometheus (timescaledb)

我有 Prometheus通过 prometheus remote_write 功能和相关的远程存储适配器将指标写入 Postgres(带有 TimescaleDB 和pg_prometheus扩展) 。设置工作正常。

我已经使用 Postgres 数据源(启用了 timescaledb 选项)设置了 Grafana,以评估查询编辑器的功能。如果不切换到 Raw SQL ,我似乎无法做到基本的“GROUP BY”。查询(有效)很简单:

我希望查询编辑器能够指导最终用户浏览 JSONB 标签结构,但事实并非如此。最糟糕的是,一旦我们开始对 JSONB 字段进行分组,编辑器就会出现异常行为。

Grafana 只是对 Timescale/pg_prometheus 的支持很差,还是我在这里遗漏了什么?

谢谢你的支持。