小版本升级是指从 TimescaleDB <major version>.x 更新到 TimescaleDB <major version>.y。主版本升级是指从 TimescaleDB X.<minor version> 更新到 Y.<minor version>
您可以在同一 PostgreSQL 实例中的不同数据库上运行不同版本的 TimescaleDB。此过程使用 PostgreSQL 的 ALTER EXTENSION 函数在不同数据库上独立升级 TimescaleDB。

在 Timescale 上免费试用

Timescale 是一项完全托管的服务,具有自动备份和恢复、具有复制功能的高可用性、无缝扩展和调整大小以及更多功能。您可以免费试用 Timescale 三十天。

免费试用

此页面向您展示如何执行小版本升级,有关主版本升级,请参阅将 TimescaleDB 升级到主版本

  • 在您的迁移机器上安装 PostgreSQL 客户端工具。这包括 psqlpg_dump
  • 阅读发行说明,了解您要升级到的 TimescaleDB 版本。
  • 执行数据库备份。虽然 Timescale 升级是就地执行的,但升级是一项侵入性操作。始终确保您手头有备份,并确保在发生灾难时备份可读。

要查看自托管数据库实例中运行的 PostgreSQL 和 TimescaleDB 版本

  1. 设置您的连接字符串

    此变量保存要升级的数据库的连接信息

    export SOURCE="postgres://<user>:<password>@<source host>:<source port>/<db_name>"
  2. 检索您正在运行的 PostgreSQL 版本

    psql -X -d $SOURCE -c "SELECT version();"

    PostgreSQL 返回类似以下内容:

    -----------------------------------------------------------------------------------------------------------------------------------------
    PostgreSQL 17.2 (Ubuntu 17.2-1.pgdg22.04+1) on aarch64-unknown-linux-gnu, compiled by gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0, 64-bit
    (1 row)
  3. 检索您正在运行的 TimescaleDB 版本

    psql -X -d $SOURCE -c "\dx timescaledb;"

    PostgreSQL 返回类似以下内容:

    Name | Version | Schema | Description
    -------------+---------+------------+---------------------------------------------------------------------
    timescaledb | 2.17.2 | public | Enables scalable inserts and complex queries for time-series data
    (1 row)

最佳实践是始终使用最新版本的 TimescaleDB。订阅我们在 GitHub 上的发布或使用 Timescale Cloud,始终获取最新更新,没有任何麻烦。

对照您当前运行的 TimescaleDB 和 PostgreSQL 版本以及您要更新到的版本检查以下支持矩阵,然后选择您的升级路径。

例如,要从 PostgreSQL 13 上的 TimescaleDB 2.13 升级到 TimescaleDB 2.17.2,您需要

  1. 将 TimescaleDB 升级到 2.16
  2. 将 PostgreSQL 升级到 14 或更高版本
  3. 将 TimescaleDB 升级到 2.17.2。

您可能需要先升级到最新的 PostgreSQL 版本,然后再升级 TimescaleDB。此外,如果您使用Timescale Toolkit,请确保 timescaledb_toolkit 扩展的版本 >=
v1.6.0,然后再升级 TimescaleDB 扩展。

版本号PostgreSQL 17PostgreSQL 16PostgreSQL 15PostgreSQL 14PostgreSQL 13PostgreSQL 12PostgreSQL 11PostgreSQL 10
TimescaleDB
2.17.x
TimescaleDB
2.16.x
TimescaleDB
2.15.x
TimescaleDB
2.14.x
TimescaleDB
2.13.x
TimescaleDB
2.12.x
TimescaleDB
2.10.x
TimescaleDB
2.5 - 2.9
TimescaleDB
2.4
TimescaleDB
2.1 - 2.3
TimescaleDB
2.0
TimescaleDB
1.7

我们建议不要将 TimescaleDB 与 PostgreSQL 17.1、16.5、15.9、14.14、13.17、12.21 一起使用。
这些小版本引入了破坏性的二进制接口更改,该更改在被识别后,已在后续的 PostgreSQL 小版本 17.2、16.6、15.10、14.15、13.18 和 12.22 中恢复。当您从源代码构建时,最佳实践是使用 PostgreSQL 17.2、16.6 等更高版本进行构建。Timescale Cloud 以及 Linux、Windows、MacOS、Docker 和 Kubernetes 的平台包的用户不受影响。

您不能同时升级 TimescaleDB 和 PostgreSQL。您需要按照以下步骤分别升级每个产品

  1. 升级 TimescaleDB

    psql -X -d $SOURCE -c "ALTER EXTENSION timescaledb UPDATE TO '<version number>';"
  2. 如果您的迁移路径需要,请升级 PostgreSQL

    按照升级 PostgreSQL中的步骤进行操作。在 PostgreSQL 升级之前和之后,您的 PostgreSQL 部署中安装的 TimescaleDB 版本必须相同。

  3. 如果您的迁移路径需要,请再次升级 TimescaleDB

    psql -X -d $SOURCE -c "ALTER EXTENSION timescaledb UPDATE TO '<version number>';"
  4. 检查您是否已升级到正确版本的 TimescaleDB

    psql -X -d $SOURCE -c "\dx timescaledb;"

    PostgreSQL 返回类似以下内容:

    Name | Version | Schema | Description
    -------------+---------+--------+---------------------------------------------------------------------------------------
    timescaledb | 2.17.2 | public | Enables scalable inserts and complex queries for time-series data (Community Edition)

您正在运行全新版本的 TimescaleDB。

关键词

在此页面上发现问题?报告问题 或 在 GitHub 上编辑此页面