问题标签 [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.
time-series - 数据如何存储在时间序列数据库中
我很想知道,如果我使用任何时间序列数据库来存储我的日志数据,大约每秒数千条记录或每天百万条记录,时间序列数据库将如何在内部存储这些数据。如果我想对过去 4 个月的数据进行分析,它如何确保快速响应我?
python-3.x - TimescaleDB:是否可以从 Python 调用“create_hypertable”?
我想在 Postgres 中动态创建 TimescaleDB 表,因为我正在处理随时间变化的数据源(财务提要,因此可能是 100,可能是 1000),并且我希望每个数据源一个表。
我可以从 Python 创建表没有问题,但是当我调用SELECT create_hypertable(test_table1, time)
它时会引发错误。当然,从 pSQL 执行时,相同的查询似乎工作正常,所以看起来时间刻度 API 可能无法通过 psycopg2 获得?
环境:
- Python 3.6.4
- psycopg2-binary-2.7.4(安装了标志:--no-binary :all :)
- Postgres:10.3
- 时标数据库:0.8.0-2
- macOS:10.13.3
测试代码:
错误:
2018-03-05 11:45:36,901 [MainThread] [ERROR] 函数 create_hypertable(unknown, unknown) 不存在
LINE 1: SELECT create_hypertable('temp_table1', 'time')
。. . . . . . . . . . . . . ^
提示:没有函数匹配给定的名称和参数类型。您可能需要添加显式类型转换。
有谁知道目前是否有这项工作?我错过了一些简单的事情吗?或者是否有其他服务可以替代支持动态创建的时间刻度功能?
postgresql - 将 Postgres 9.6 继承的表迁移到 TimeScaleDB
我们有一个按继承划分的时间序列表。我们现在希望将其迁移到同一数据库中的 TimeScaleDB。文档说要使用 pg_dump/COPY 或 CREATE with LIKE。我们都无法使用继承的表。我们是否应该将所有继承的表 pg_dump/COPY 到 CSV 文件中,连接然后导入?
postgresql - 将 plpython3 扩展添加到 Postgres/timescaledb Alpine Docker Image
我尝试将plpython3
扩展名添加到我的timescaledb
/ postgres
(基于 linux alpine)图像:
当我尝试创建扩展时,出现以下错误:
但是当我在容器中搜索文件时,我可以在不同的目录中找到它们:
如何安装postgresql-plpython3
到不同的目录或配置postgres
以识别我添加的扩展?
更新
当我只是mv
文件时,/usr/local/share/postgresql/extension
我得到了错误:
更新 2
所以问题$libdir
是pg_config --pkglibdir
指向/usr/local/lib/postgresql
但plpython3.so
在里面/usr/lib/postgresql
。当我将所有内容移动到相应的/usr/local
目录时,我可以成功创建扩展。
这就引出了我希望在哪里找到答案的问题。我怎样才能安装postgresql-plpython3
到/usr/local/...
而不是/usr/...
?
windows - Postgres,TimescaleDB 设置:不确定如何使所有相关的二进制文件都在您的 PATH 中:pg_config
我正在 Windows 10 机器上设置 TimescaleDB。 https://docs.timescale.com/v0.9/getting-started/installation/windows/installation-windows 它说先决条件是:确保所有相关的二进制文件都在您的PATH中:pg_config
我不确定这甚至意味着什么。这是否告诉我将 pg10\bin 的路径放在系统变量 PATH 中?如果是这样,为什么他们说“pg_config”?
database - 无法在 Postgres 10 (Windows Server 2016) 上成功安装 TimescaleDB
我无法让 TimescaleDB 在我的 Windows Server 2016 机器上使用 Postgres 10 工作。
我使用 AWS 打开了一个全新的 windows server 2016 实例,并使用 windows GUI 安装程序安装了 Postgres。(C:\Postgres)。
安装程序会自动更新路径以包含 bin 目录 (C:\PostgreSQL\pg10\bin)。
我停止postgres。
我运行 TimescaleDB Windows 安装程序文件,它说它已成功完成。
我更新了conf文件。(shared_preload_libraries = 'timescaledb')。
我重新启动计算机并启动 postgres,但 postgres 从未成功启动。Windows 事件对我大喊大叫,说我 2018-03-29 17:01:35 UTC [952]: [1-1] user=,db=,app=,client= FATAL: could not load library "C:/ POSTGR~1/pg10/../pg10/lib/postgresql/timescaledb.dll”:找不到指定的模块。
知道发生了什么吗?
python - 带有 timescaledb 扩展的 postgresql 的 Sqlalchemy 设置
我试图将 sqlalchemy 与使用 timescaledb 扩展的底层 postgresql 连接起来。当我从 psql 终端客户端尝试时,所有查询都可以正常工作。但是当我尝试使用 python & sqlalchemy 来做这件事时,它一直给我一个错误。
这是我尝试使用的非常基本的代码片段:
它总是显示以下错误消息:
与数据库的连接很好,否则它不会知道数据库正在使用timescaledb。
任何人有任何见解?
更新:我尝试直接使用 psycopg2。它基本上给出了相同的错误。DB连接成功,但是timescaledb-0.9.0无法访问。
这是截取的代码
这是完全相同的错误消息:
postgresql - 恐慌:pq:用户“postgres”的密码身份验证失败,同时通过超表中的 timescaledb-parallel-copy 将数据添加到表中
我正在使用带有 Linux 16.04 版本的 PostgreSQL。我在那里安装了timescaledb。
之后我试图将大量数据插入到new_observation
通过observation.csv
它调用的超表中大约 5 GB 数据附近,而我通过简单的复制命令复制我会得到更多的错误后记我看到另一种从 go-parallel 复制大量数据的方法所以我刚刚安装了 go 并尝试了这样的事情:
恐慌:pq:用户“postgres”的密码验证失败
goroutine 19 [运行]: github.com/jmoiron/sqlx.MustConnect(0x641807, 0x8, 0xc42001e080, 0x3a, 0x0) /home/gopal/.go/src/github.com/jmoiron/sqlx/sqlx.go:652 + 0x83 main.processBatches(0xc420080250, 0xc42008a060) /home/gopal/.go/src/github.com/timescale/timescaledb-parallel-copy/main.go:180 +0x63 由 main.main 创建 /home/gopal/.go /src/github.com/timescale/timescaledb-parallel-copy/main.go:105 +0x178
当我尝试通过这种方式复制数据时,我得到了这个错误。
postgresql - 在 Ubuntu 上更新 TimescaleDB 后出现 Postgres 错误:找不到文件
如官方文档中所述,我将 Timescale PPA 存储库添加到apt
. 然后我通过sudo apt install timescaledb-postgresql-9.6
. 一切正常。
随着最近运行sudo apt upgrade
的 timescale 包从0.8.0~ubuntu16.04更新到0.9.1~ubuntu16.04。
在运行我的 Python 脚本以插入一些新数据时,我现在收到以下错误(并且没有插入任何内容):
似乎旧版本的共享库仍在某个地方被引用。在哪里?
我已经尝试过的:
- 更新我在脚本中用于访问的psycopg2 Python 模块。
- 我确保我的
/etc/postgresql/9.6/main/postgresql.conf
仍然包含shared_preload_libraries = 'timescaledb'
. - 通过 重新启动 postgres 服务
sudo service postgresql restart
。 - 重新启动机器。
- 我做了一个
sudo apt purge timescaledb-postgresql-9.6
然后重新启动,重新安装,重新启动服务。 - 当通过执行命令连接到psql时,不会将 timescaledb 显示为已安装的扩展;所以按照升级文档的建议执行这里是不成功的
psql -U postgres -h localhost -W
\dx
ALTER EXTENSION timescaledb UPDATE;
postgresql - 无法访问在 docker 入口点文件中创建的 postgres 扩展,直到我在 psql 中手动创建它
我正在尝试使用 timescaledb 扩展,所以我正在运行他们的官方 docker image。
在我的 docker 入口点文件的最后一行,我运行:
我验证它可以\dx
在 psql 中使用。一旦我尝试使用扩展程序,我就会得到:
没有函数匹配给定的名称和参数类型。您可能需要添加显式类型转换。
我发现我必须通过exec
ing 到 psql 并运行来手动添加它CREATE EXTENSION IF NOT EXISTS timescaledb CASCADE;
我的入口点有什么问题?为什么我必须在容器构建并运行后手动创建扩展?
编辑:这是完整的入口点脚本: