Timescale Cloud:性能、扩展、企业级

自托管产品

MST

如果您最初是使用 Docker 安装 TimescaleDB 的,则可以在 Docker 容器内进行升级。这使您能够在保留数据的情况下升级到最新的 TimescaleDB 版本。

timescale/timescaledb-ha* 镜像包含运行旧版本所需的文件。补丁版本仅包含错误修复,因此应该始终是安全的。非补丁版本可能很少需要一些额外步骤。这些步骤在您要升级到的 TimescaleDB 版本的发行说明中提及。

升级 Docker 镜像后,您需要对所有使用 TimescaleDB 的数据库运行 ALTER EXTENSION

在 Timescale 上免费试用

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

免费试用

本页面中的示例使用名为 timescaledb 的 Docker 实例。如果您为 Docker 实例指定了不同的名称,请在发出命令时替换它。

启动升级后的 Docker 容器时,您需要能够将新的 Docker 镜像指向包含旧版本数据的位置。为此,您需要确定当前的挂载点在哪里。当前的挂载点根据您的容器是使用卷挂载还是绑定挂载而异。

  1. 运行此命令以确定您的 Docker 容器使用的挂载类型,该命令将返回 volumebind

    docker inspect timescaledb --format='{{range .Mounts }}{{.Type}}{{end}}'
  2. 使用此命令获取当前名称或挂载路径,并记录下来以在执行升级时使用。请确保根据您的挂载点类型复制正确的命令。

要在 Docker 中升级 TimescaleDB,您需要下载升级后的镜像,停止旧容器,然后启动指向现有数据的新容器。

  1. 拉取最新的 TimescaleDB 镜像。此命令会拉取在 PostgreSQL 17 上运行的 TimescaleDB 2.17.x 镜像。如果您使用其他 PostgreSQL 版本,请在 TimescaleDB HA Docker Hub 仓库中查找相关标签。

    docker pull timescale/timescaledb-ha:pg17
  2. 停止并移除旧容器

    docker stop timescaledb
    docker rm timescaledb
  3. 使用升级后的 Docker 镜像启动一个新容器,并指向现有挂载点。请确保根据您的挂载点类型复制正确的命令。

    对于卷挂载

  4. 使用带有 -X 标志的 psql 连接到升级后的实例

    docker exec -it timescaledb psql -U postgres -X
  5. 在 psql 提示符下,使用 ALTER 命令升级扩展

    ALTER EXTENSION timescaledb UPDATE;
  6. 更新 TimescaleDB 工具包扩展。工具包与 TimescaleDB 的 HA Docker 镜像一起打包,并包含额外的超函数,可帮助您进行查询和数据分析

    CREATE EXTENSION IF NOT EXISTS timescaledb_toolkit;
    ALTER EXTENSION timescaledb_toolkit UPDATE;
注意

如果您有多个数据库,则需要单独更新每个数据库。

关键词

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