4

官方文档中所述,我将 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 脚本以插入一些新数据时,我现在收到以下错误(并且没有插入任何内容):

2018-04-12 09:42:06,279 ERROR    Postgres: could not access file "timescaledb-0.8.0": No such file or directory

似乎旧版本的共享库仍在某个地方被引用。在哪里?

我已经尝试过的:

  • 更新我在脚本中用于访问的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\dxALTER EXTENSION timescaledb UPDATE;
4

1 回答 1

12

知道了。ALTER EXTENSION timescaledb UPDATE;很接近-但这必须在您连接到的数据库上执行,而不是在登录到 psql 后立即全局执行。建议同时传递-X参数以禁用读取启动文件(~/.psqlrc)。

  1. psql -X -U postgres -h localhost -W
  2. \c your-timescale-extended-database-name
  3. ALTER EXTENSION timescaledb UPDATE;
  4. \dx

输出:

                                    List of installed extensions
    Name     | Version |   Schema   |                            Description
-------------+---------+------------+-------------------------------------------------------------------
plpgsql     | 1.0     | pg_catalog | PL/pgSQL procedural language
timescaledb | 0.9.1   | public     | Enables scalable inserts and complex queries for time-series data
(2 rows)
  1. \q退出 psql
于 2018-04-12T09:07:49.987 回答