问题标签 [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 投票
1 回答
333 浏览

python - 使用新列(时间序列技术指标)动态更新现有 Postgres 表 (psycopg2)

我正在处理股票的金融时间序列数据 (OHLCV),并正在用金融指标(例如布林带)扩充我的数据集。我有一个 Postgres/TimescaleDB 超表设置并计划使用 psycopg2 来运行查询。

我想做的是能够自动和动态地将列添加到我现有的数据库表中,并使用来自现有 python 库/模块的不同技术指标。

例如,我有一个长表,列中有每日 OHLCV 和股票代码数据,以便稍后进行 ETL 处理。我想运行数量尚未确定的指标,例如布林带(上限和下限)、RSI、EMA 等。但不想每次我都通过 psycopg2 在 SQL 中手动编码这些新列创建一个新指标,而是将它们作为参数提供,以便在数据库中自动设置 - 作为迁移/新表,或在现有的每日表中。(以最有效的方式)

我环顾四周,但没有看到任何我认为可能适用于此的东西。

0 投票
1 回答
731 浏览

postgresql - 需要修复我的 TimescaleDB 数据库中的时间戳(提供给 TO_TIMESTAMP 的秒数不正确,正好是 1000 倍)

我有一个 TimescaleDB 数据库,其中几个表中的一些时间戳不正确 - 我无意中给 TO_TIMESTAMP() 函数指定了毫秒数数,而不是秒数。因此,自 1970 年以来,所有这些数据点都比应有的时间长 1000 倍。通过在 where 子句中检查未来日期,我可以轻松地隔离出哪些行需要修复,但我对如何转换和替换这些不正确的时间戳有点困惑。我基本上需要获取 unix 时间表示,将其除以 1000,然后替换该行中的值,但是我的 SQL 太生疏了,无法将这个查询拼凑在一起。

我看到我可以使用 extract(epoch from ) 来获取秒数,但是我不清楚如何对每一行执行此操作,然后更新其时间戳。

编辑:

使用查询时:

我得到错误:

关系“_hyper_8_295_chunk”的新行违反了检查约束“constraint_295”

0 投票
1 回答
702 浏览

timescaledb - TimescaleDB 手动整合聚合数据的方法是什么?

我有一个相当常见的时间序列设置:

  • TimescaleDB Hypertable ( data ) 随着时间的推移跟踪一些指标。这些列是:时间戳、标识符、指标。
  • Hypertable 有一个连续的聚合表(aggregated_data),它通过存储几个统计值(avg、min、max)按小时聚合指标。
  • 只有汇总的指标才会显示给用户

我想介绍手动合并指标的可能性(例如编辑异常值、填补空白……)。这些合并后的值将与测量的指标一起显示给用户。

TimescaleDB 实现这一目标的方法是什么?

这是我想出的:

  • 为手动合并的数据创建一个常规表 ( solidated_data )
  • 此表将具有与aggregated_data视图相同的列
  • 然后我会联合这两个表并添加一些 SQL 以避免重复,识别合并的数据,...

然后,UNION 操作将与此类似(我实际上并没有运行/测试此语句):

我希望这种方法能够奏效,但仍有很多未知数:

  • 合并表应该是 Hypertable 吗?这会加快 UNION 操作吗?
  • 我应该更喜欢合并吗?
  • 有没有更聪明的方法来使用我还不知道的工具和实用程序?
0 投票
1 回答
3019 浏览

postgresql - Timescaledb - 如何在特定模式中显示超表块

我有一个conditions名为test. 我创建了一个hypertable并插入了数百行。

当我运行 selectshow_chunks()时,它可以工作并显示块,但我不能按照手册中的建议使用表名作为参数。这不起作用:

我怎样才能解决这个问题?

ps:我想通过名字来查询chunk本身?我怎样才能做到这一点?

0 投票
0 回答
1326 浏览

java - Timescaledb - 通过 Java/JDBC 创建超表

我们可以成功地创建hypertable一个标准表,PgAdmin但是当我们运行它时我们会失败相同的查询Java

代码是:

错误是:

此行在 PgAdmin 上完美运行:

我们如何解决这个问题?

0 投票
0 回答
1430 浏览

postgresql - grafana postgres 数据源测试返回“指标请求错误”

我已经使用 Postgres 的 TimescaleDB 扩展部署了一个 docker 容器,作为 Prometheus 收集的指标的持久存储。这包括在单独的容器中部署 Prometheus Postgres 适配器。然后我在第三个容器中部署了 grafana。

在 TimescaleDB 容器中,我可以执行查询:

它从表中返回这些行metrics

grafana 容器运行为:

当我启动浏览器时,http://104.XX.XX.XX:3000我可以登录到 web-ui 并将数据源定义为 postgres,但我收到错误“度量请求错误”。

我在其容器中查找了 grafana 日志,路径/var/log/grafana为空。这是我执行docker inspect命令时指示的日志位置。

使用 Chrome,我可以检查控制台,它报告服务器响应内部错误 500。

在此处输入图像描述

在主机上,我可以确认 docker-proxy 正在侦听端口 5432。

如何让 grafana 获取存储在 postgres 数据库中的指标?

0 投票
1 回答
630 浏览

postgresql - timescaledb - 将 4GB 文件加载到超表时共享内存不足

:) 我有 Gentoo Linux,带有 postgresql 11.4 和 timescaledb-1.3.2。我执行了 timescaledb-tune 来调整我的 postgresql 数据库配置。

我创建了一个包含 30 个字段的表,我们称之为 foo。我创建了另一个重复的表,只是将它创建为一个超表,我们称之为 h_foo。

我有一个 4gb 的 csv 文件,我尝试使用COPY ... FROM ...命令将其加载到数据库中

当我尝试将数据加载到常规表时,只需不到一分钟,就可以了。

当我尝试将它加载到超表时,过了一会儿它抱怨它的共享内存不足,并且需要很长时间才能到达错误点。

我认为使用 timescaledb 开箱即用(不知道高级配置)值得付出努力,但我不确定了。

我将在下面粘贴我的 postgresql 配置文件,请告诉我是否有任何可以修改的内容,谁能帮助我加载该 csv 文件。

谢谢你

0 投票
1 回答
2471 浏览

postgresql - 如何使用 timescaleDB 按月计算 time_bucket

就这个问题而言,我知道有一个开放的功能请求可以将月份/年份添加到 time_bucket 函数中。

我的问题是,现在实现这一目标的最佳方法是什么。这个问题提到date_trunc

以下是两种方法:

timescaledb 的 time_bucket

postgres date_trunc

这两个都按预期工作(尽管我没有进行任何性能测试)。

我想实现:

  • (a) gapfill(如 timescaledb time_bucket_gapfill,以及
  • (b) 最后一个值结转 (locf)

实现这一目标的最佳方法是什么?

谢谢!

0 投票
1 回答
286 浏览

timescaledb - 具有非规范化日期列的基于时间的超表分区

典型的数据仓库数据库模式通常遵循带有非规范化日期和时间列的星型模式。这意味着事实表(使用 timescaledb 时应该是超表)没有包含时间戳的列,而是具有数据和时间表的外键。

有没有办法让 timescaledb 意识到这一点并正确分区事实表?或者时间戳列是超表的硬性要求?

谢谢

0 投票
1 回答
801 浏览

postgresql - kubernetes timescaledb statefulset:在 pod 重新创建时丢失的更改

我有一个 Timescaledb 服务器在 AKS 中作为 StatefulSet 运行。当我删除并重新创建 timescaledb pod 时,即使 pod 与最初关联的 PV(持久卷)相关联,更改也会丢失。任何帮助表示赞赏。

下面是通过运行提取的 statefulset 的 PV、PVC 配置kubectl get statefulset timescaledb -o yaml

下面演示创建的临时数据库 test_db 在重新创建 Pod 后丢失,并且在整个过程中,Pod 关联到 Azure 上的同一 PV/磁盘。

可能它正在重新初始化,如提示。请参阅日志。关于它为什么会这样做的任何指示。

更新 1:我查看了timescalepod 中的安装,它似乎有不同的分区/var/lib/postgresql/var/lib/postgresql/data. 我不懂为什么。

不明白上述安装是如何发生在以下配置中的