在Ubuntu上更新TimescaleDB后发生Postgres错误:找不到文件

Gün*_*erl 1 postgresql ubuntu ubuntu-16.04 postgresql-9.6 timescaledb

正如官方文档中所指定的,我将Timescale PPA存储库添加到apt.然后我通过它安装它sudo apt install timescaledb-postgresql-9.6.一切都很好.

最近运行sudo apt upgrade的时间表包从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
Run Code Online (Sandbox Code Playgroud)

看起来共享库的旧版本仍然被引用.哪里?

我已经尝试过的:

  • 更新我在脚本中用于访问的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后续重启,重新安装,服务重启.
  • 通过执行命令连接到psqlpsql -U postgres -h localhost -W时,\dx不会 timescaledb显示为已安装的扩展名; 因此ALTER EXTENSION timescaledb UPDATE;,升级文档提出的执行不成功

Gün*_*erl 8

得到它了.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)
Run Code Online (Sandbox Code Playgroud)
  1. \q 退出psql