【问题标题】:how to get timescaledb version of the database如何获取数据库的 timescaledb 版本
【发布时间】:2019-12-24 12:48:15
【问题描述】:

根据docs

TimescaleDB 支持在同一个 PostgreSQL 实例中的不同数据库上拥有不同的扩展版本。

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

SELECT extversion
FROM pg_extension
where extname = 'timescaledb';

但是我怎样才能获得特定数据库的版本呢?

注意事项:

  • 我更喜欢通过 sql(不是 psql)获取版本
  • 原因是我们想知道是否必须更新数据库(即执行ALTER EXTENSION timescaledb UPDATE;

【问题讨论】:

  • SELECT extversion FROM pg_extension 为您提供当前连接数据库的已安装扩展。尝试这个。 1.连接db1; 2.创建分机create extension postgres_fdw; 3. 执行你的查询,你会看到 postgres_fdw 的版本; 4.新建db2; 5.连接db2执行查询,扩展列表中看不到postgres_fdw

标签: timescaledb


【解决方案1】:

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

SELECT extversion
FROM pg_extension
where extname = 'timescaledb';

返回当前连接数据库的版本。

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

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;
  • 现在版本都一样了

【讨论】:

  • 这正是我所建议的!当你回答自己的问题时总是很好:)
  • 是的,有时只需要评论(感谢@Blagoj Atanasovski),事情就会变得更清楚:)
  • 在 psql 中运行 \dx 始终是获​​取 postgres 中安装的扩展版本的简单方法
  • 如果在 ALTER EXTENSION timescaledb UPDATE 之后怎么办;安装的版本没有变化?
  • @MrJedi 您应该提出一个新问题 - 并在尝试更新之前包含默认/安装版本的信息。
猜你喜欢
  • 2018-06-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-01-10
  • 1970-01-01
  • 2020-10-04
  • 1970-01-01
  • 2015-11-18
相关资源
最近更新 更多