Wil*_*owe 9 python-3.x timescaledb
我想在Postgres中动态创建TimescaleDB表,因为我正在处理随着时间的推移而变化的数据源(财务供稿,因此可能是100,可能是1000),我希望每个数据源有一个表.
我可以用Python创建表没问题,但是当我调用SELECT create_hypertable(test_table1, time)它时会抛出错误.当然,当从pSQL执行时,相同的查询似乎工作正常,所以看起来像时间刻度API不能通过psycopg2获得?
db.query("CREATE TABLE test_table1 (time TIMESTAMP NOT NULL, name CHAR(100) NOT NULL")
db.query("SELECT create_hypertable('test_table1', 'time')")
Run Code Online (Sandbox Code Playgroud)
2018-03-05 11:45:36,901 [MainThread] [ERROR]函数create_hypertable(unknown,unknown)不存在
LINE 1:SELECT create_hypertable('temp_table1','time')
..............^
提示:没有函数匹配给定的名称和参数类型.您可能需要添加显式类型转换.
有谁知道目前是否还有这项工作吗?我错过了一些简单的事吗?或者是否有其他服务可以取代支持动态创建的时间刻度功能?
Lee*_*ton 15
该输出意味着您尚未TimescaleDB在正在运行的数据库上安装扩展create_hypertable.确保你运行:
CREATE EXTENSION IF NOT EXISTS timescaledb CASCADE;
Run Code Online (Sandbox Code Playgroud)
你的数据库上运行之前create_hypertable.要确保已创建扩展,请运行以下查询:
select * from pg_extension;
Run Code Online (Sandbox Code Playgroud)
psycopg不会对此产生任何影响,因为.query()调用似乎只是执行您传递它的原始SQL.确保您的psycopg客户端连接到与您最初安装TimescaleDB扩展程序的数据库相同的数据库.
| 归档时间: |
|
| 查看次数: |
4168 次 |
| 最近记录: |