如何获取数据库的timescaledb版本

how to get timescaledb version of the database

根据 docs:

TimescaleDB supports having different extension versions on different databases within the same PostgreSQL instance.

我可以使用此 SQL 命令获取实例的安装版本:

SELECT extversion
FROM pg_extension
where extname = 'timescaledb';

但是如何获取特定数据库的版本?

备注:

事实证明,我的假设是错误的:

SELECT extversion
FROM pg_extension
where extname = 'timescaledb';

returns当前连接的数据库版本。

我们可以通过以下方式找到版本:

SELECT default_version, installed_version FROM pg_available_extensions
where name = 'timescaledb';
  • default_version:是PostgreSQL服务器实例中安装的版本
  • installed_version: 是当前数据库使用的版本

示例

当数据库使用的扩展不是最新时,版本不匹配:

SELECT default_version, installed_version FROM pg_available_extensions
where name = 'timescaledb';

 default_version | installed_version 
-----------------+-------------------
 1.4.1           | 1.4.0

现在更新扩展程序

  • 通过 psql -X -U USER -W -D DBNAME
  • 连接
  • 执行ALTER EXTENSION timescaledb UPDATE;
  • 现在版本都一样了