Timescale Cloud:性能、扩展、企业级
自托管产品
MST
TimescaleDB 是一个 PostgreSQL 扩展。请确保升级到兼容的 TimescaleDB 和 PostgreSQL 版本。
在 Timescale 上免费试用
Timescale 是一项完全托管的服务,具有自动备份和恢复、带复制功能的高可用性、无缝扩展和调整大小等更多功能。您可以免费试用 Timescale 三十天。
- 在您的迁移机器上安装 PostgreSQL 客户端工具。这包括
psql
和pg_dump
。 - 阅读您要升级到的 TimescaleDB 版本的发布说明
。
- 执行数据库备份。尽管 Timescale 升级是原地执行的,但升级是一项侵入性操作。请务必确保您手头有备份,并且在发生灾难时备份是可读的。
最佳实践是始终使用最新版本的 TimescaleDB。在 GitHub 上订阅我们的发布,或使用 Timescale Cloud,以便始终轻松获取最新更新。
根据您当前运行的 TimescaleDB 和 PostgreSQL 版本以及您要更新到的版本,检查以下支持矩阵,然后选择您的升级路径。
例如,要将 TimescaleDB 2.13(基于 PostgreSQL 13)升级到 TimescaleDB 2.18.2,您需要
- 将 TimescaleDB 升级到 2.15
- 将 PostgreSQL 升级到 14、15 或 16。
- 将 TimescaleDB 升级到 2.18.2。
在升级 TimescaleDB 之前,您可能需要升级到最新的 PostgreSQL 版本。此外,如果您使用 Timescale Toolkit,请确保 timescaledb_toolkit
扩展版本 >=
v1.6.0,然后才能升级 TimescaleDB 扩展。
TimescaleDB 版本 | PostgreSQL 17 | PostgreSQL 16 | PostgreSQL 15 | PostgreSQL 14 | PostgreSQL 13 | PostgreSQL 12 | PostgreSQL 11 | PostgreSQL 10 |
---|---|---|---|---|---|---|---|---|
2.20.x | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ |
2.19.x | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ |
2.18.x | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ |
2.17.x | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ |
2.16.x | ❌ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ |
2.15.x | ❌ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ |
2.14.x | ❌ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ |
2.13.x | ❌ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ |
2.12.x | ❌ | ❌ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ |
2.10.x | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ |
2.5 - 2.9 | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | ❌ | ❌ |
2.4 | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ | ❌ | ❌ |
2.1 - 2.3 | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | ❌ |
2.0 | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ | ❌ |
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 的平台软件包不受影响。
您可以使用 pg_upgrade
来原地升级 PostgreSQL。
pg_upgrade
允许您保留当前 PostgreSQL 安装的数据文件,同时将新的 PostgreSQL 二进制运行时绑定到它们。
查找 PostgreSQL 二进制文件的位置
将
OLD_BIN_DIR
环境变量设置为包含postgres
二进制文件的文件夹。例如,which postgres
返回类似/usr/lib/postgresql/16/bin/postgres
的内容。export OLD_BIN_DIR=/usr/lib/postgresql/16/bin设置您的连接字符串
此变量包含要升级的数据库的连接信息
export SOURCE="postgres://<user>:<password>@<source host>:<source port>/<db_name>"检索 PostgreSQL 数据文件夹的位置
将
OLD_DATA_DIR
环境变量设置为以下命令返回的值psql -d "$SOURCE" -c "SHOW data_directory ;"PostgreSQL 返回类似以下内容
----------------------------/home/postgres/pgdata/data(1 row)选择 PostgreSQL 二进制文件和数据文件夹的新位置
例如
export NEW_BIN_DIR=/usr/lib/postgresql/17/binexport NEW_DATA_DIR=/home/postgres/pgdata/data-17使用 psql 执行升级
pg_upgrade -b $OLD_BIN_DIR -B $NEW_BIN_DIR -d $OLD_DATA_DIR -D $NEW_DATA_DIR
如果您要将数据移动到新的物理 PostgreSQL 实例,可以使用 pg_dump
和 pg_restore
从旧数据库中导出数据,然后将其恢复到新的、升级后的数据库中。更多信息,请参阅备份和恢复部分。
关键词