问题标签 [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.
sql - 如何在不对 timescaledb 进行顺序扫描的情况下有效地获取每个资产的最后一个时间戳?
我有一张桌子
如何获取每个资产的最新时间戳。这是我到目前为止尝试过的
方法一
我目前将 1m 数据存储为 1 小时的块,但可能会将它们变成 1 天的块。我需要在不进行顺序扫描的情况下获取每个资产的最后一个时间戳,任何建议都非常感谢?
postgresql - TimescaleDB 处理复杂的连接
我在 LINUX 机器(16 核和 32 RAM)中使用带有 timescaleDB 的 Postgres 11。我有以下 2 个表,只有一个是时间列。
- usersTransations(没有时区的时间戳,userId String,locationID string)
- 位置(locationID 字符串,经度双精度,纬度双精度)
这usersTransations
是一个具有 24 个块的超表,已创建 1 小时间隔。位置是一个 Postgres 表。我已经在 locationID 上创建了索引(带有时间列)。usersTransations
表非常大,大约有 10 亿条记录。我使用以下查询来加入以上 2 个表,但这需要很长时间。
有什么方法可以优化 TimescaleDB 中的连接查询?
timescaledb - How to batch insert into TimescaleDB from .csv files?
In the TimescaleDB docs, it mentions being able to import data from a .csv into an empty hypertable using their GO program. My question is how would I go about import data from .csv files to a non-empty hypertable? My .csv files are all the same structure, but they all may not all be available when the first table is created.
postgresql - TimescaleDB 中的索引
今天我在Hackernews上读到了BRIN indexing with PostgreSQL。
我们正在使用 TimescaleDB 处理大型和简单的传感器数据系列。
TimescaleDB 中的 BRIN 索引是否提供了额外的价值,或者 TimescaleDB 的功能是否会使 BRIN 索引过时?
docker - Timescaledb 扩展未间歇性启用
我正在使用timescale/timescaledb:latest-pg11
docker 映像在本地运行时间刻度。在测试时,我尝试多次运行它。曾经在尝试创建 ahyper_table
时,出现以下错误,
函数 create_hypertable(unknown, unknown, migrate_data => boolean) 不存在
作为故障排除,我得到了这个答案,它建议检查pg extensions。timescaledb
因此,当我遇到错误时,我在运行时没有select * from pg_extension;
. 然而,在成功的情况下,我有timescaledb
扩展。
我无法再次重现错误案例。但是知道为什么这个问题是随机发生的吗?
PS:我每次都使用相同的 docker run 命令来运行容器。
database-design - 使用 timescaledb 时,时间序列数据是否应该保存在自己单独的 Postgres 数据库中?
有什么理由将时间序列数据保存在自己的数据库中,与其他表分开,还是可以将两者混合在同一个数据库中?TimescaleDB 文档没有提到在同一个数据库中使用超表与其他没有超表的表的任何缺点。
postgresql - 如何使用 created_at 将简单的 postgresql 表转换为超表或时间刻度 db 表进行索引
问题是,当我想使用 created_at 表字段将简单的 Postgresql 表转换为 timescaledb 表或超表以进行索引时,它将显示此错误。表名是订单。这里 cas_admin_db_new 是数据库名称。
我已经尝试了所有可能的方法。如下所示,但订单表不会转换为超表。
postgresql - (TimescaleDB) - 如何优化约 20 亿行数据集的 JOIN 查询。(现在太慢了)
我有一个数据库,它可以获取大量传感器数据(类似物联网)——我将这些数据存储在一个名为events
. (以下结构)
现在用户还可以订阅特定信号的变化(通过 id),他们可以请求从特定点开始的所有信号事件(也只有他们订阅的信号)。
问题是这个查询真的很慢(1分钟+),我不明白为什么这么慢。我是否缺少某种索引?
我要执行的查询:
我已经尝试添加多个索引,但似乎没有什么能改善查询时间。
下面是一个EXPLAIN ANALYZE
使用subscription_id
11 的 a,表中有 114 signal_id
s subscription_signal
。
EXPLAIN ANALYZE
:
EXPLAIN (ANALYZE, BUFFERS)
:
postgresql - 即使有大量数据,Timescaledb 内存消耗仍然非常低
我有一个 timescaledb 设置,我定期转储数据(每 10 分钟左右)。它是使用 docker-compose 部署的。
数据由 entity_id 和测量值以及其他一些内容(例如区域等)组成。
一个典型的查询是get per day minimum for last 30 days for an entity_id
。
- 服务器有 8GB 的 RAM。
- 块间隔设置为 1 天。
每个块的大小约为 4.5GB
/li>
数据库目前有大约 24 个块(24 天的数据)。
我一直在做一些基准测试和负载测试wrk
,发现大量查询需要几秒钟才能完成。我看到的问题是 timescaledb 的 ram 使用量保持在 50MB 左右。并在运行上述查询的负载测试期间达到约 100MB,而 CPU 使用率和磁盘 IO 显着上升。
我的期望是大约一大块(最近的)数据将在 RAM 中。即使该假设是错误的,当发出 30 天查询时,内存使用量也不会增加。
我想了解这是预期行为还是设置存在问题。
我尝试为 docker 容器设置内存预留和内存限制,但没有效果。
java - 查询以在 2 个时间戳之间从数据库中选择数据,异常:time_bucket 函数不存在?
我一直在尝试用 Java 编写一个查询,以在 2 个时间戳之间从 postgres 时间刻度数据库中选择数据,但我不断收到异常说 time_bucket 函数不存在
我无法将数据库中的时间戳列更改为日期,因为我没有所有权,并且我尝试将查询复制粘贴到 sql 编辑器,它工作得很好!
这是查询:
这就是我设置参数的方式:
这是我得到的例外:
即使我在查询中取出了interval关键字,它仍然无法识别time_bucket函数。
提前感谢您的时间和知识!