如果您升级到新的 TimescaleDB 版本并遇到问题,您可以回滚到先前安装的版本。这与次要版本升级的工作方式相同。

并非所有版本都支持降级。通常,支持补丁版本之间以及连续次要版本之间的降级。例如,您可以从 TimescaleDB 2.5.2 降级到 2.5.1,或从 2.5.0 降级到 2.4.2。要检查是否可以从特定版本降级,请参阅发行说明

在 Timescale 上免费试用

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

免费试用

您可以就地降级您的本地 TimescaleDB 安装。这意味着您无需转储和恢复数据。但是,提前计划您的降级仍然很重要。

降级之前

  • 阅读您要降级到的 TimescaleDB 版本的发行说明
  • 检查您当前运行的 PostgreSQL 版本。您可能需要在开始 TimescaleDB 降级之前升级到最新的 PostgreSQL 版本
  • 执行数据库备份。虽然 TimescaleDB 降级是就地执行的,但降级是一项侵入性操作。始终确保您手头有备份,并在发生灾难时备份是可读的。

此降级使用 PostgreSQL ALTER EXTENSION 函数降级到先前版本的 TimescaleDB 扩展。TimescaleDB 支持在同一 PostgreSQL 实例中的不同数据库上使用不同的扩展版本。这允许您在不同的数据库上独立升级和降级扩展。在每个数据库上运行 ALTER EXTENSION 函数以单独降级它们。

重要提示

降级脚本经过测试,并支持单步降级。也就是说,从当前版本降级到先前的次要版本。如果您在升级和降级之间对数据库进行了更改,则降级可能不起作用。

  1. 设置您的连接字符串

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

    export SOURCE="postgres://<user>:<password>@<source host>:<source port>/<db_name>"
  2. 连接到您的数据库实例

    psql -X -d $SOURCE

    -X 标志可防止任何 .psqlrc 命令意外触发在会话启动时加载先前版本的 TimescaleDB。

  3. 降级 TimescaleDB 扩展 这必须是您在当前会话中执行的第一个命令

    ALTER EXTENSION timescaledb UPDATE TO '<PREVIOUS_VERSION>';

    例如

    ALTER EXTENSION timescaledb UPDATE TO '2.17.0';
  4. 检查您是否已降级到正确版本的 TimescaleDB

    \dx timescaledb;

    Postgres 返回类似如下内容

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

关键词

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