您可以将现有的 PostgreSQL 数据库迁移到您的自托管 Timescale 安装。

有几种迁移数据的方法

  • 如果您要迁移的数据库小于 100 GB,一次性迁移整个数据库:此方法直接传输所有数据和架构,包括 Timescale 特有功能。您的超表、连续聚合和策略在新 Timescale 数据库中自动可用。
  • 对于大于 100 GB 的数据库,分别迁移架构和数据:使用此方法,您可以逐个迁移表,以便更轻松地进行故障恢复。如果迁移在中途失败,您可以从失败点而不是从头开始重新启动。但是,Timescale 特有功能不会自动迁移。请按照说明恢复您的超表、连续聚合和策略。
  • 如果您需要将数据从 PostgreSQL 表移动到现有 Timescale 数据库中的超表中,在同一数据库中迁移:此方法假定您已在与现有表相同的数据库实例中设置了 Timescale。
  • 如果您的数据在 InfluxDB 数据库中,使用 Outflux 迁移:Outflux 将导出的数据直接管道传输到 Timescale,并管理架构发现、验证和创建。Outflux 适用于早期版本的 InfluxDB。它不适用于 InfluxDB 版本 2 及更高版本。

您选择哪种方法取决于您的数据库大小、网络上传和下载速度、现有的连续聚合以及对故障恢复的容忍度。

注意

如果您从 Amazon RDS 服务迁移,Amazon 会对从服务中传输的数据量收费。即使迁移失败,Amazon 也可能会向您收取所有传出数据的费用。

如果您的数据库小于 100 GB,请选择一次性迁移整个数据库。您也可以使用此方法迁移更大的数据库,但复制过程必须持续运行,可能需要数天或数周。如果复制中断,则需要重新启动该过程。如果您认为复制可能会中断,请选择改为分别迁移架构和数据。

警告

分别迁移架构和数据不会保留使用已删除数据计算的连续聚合。例如,如果您在一个月后删除原始数据,但在连续聚合中保留降采样数据一年,则连续聚合在迁移时会丢失任何超过一个月的数据。如果您必须保留使用已删除数据计算的连续聚合,请无论数据库大小如何,一次性迁移整个数据库。

如果您不确定使用哪种方法,请尝试一次性复制整个数据库以估算所需时间。如果时间估计非常长,请停止迁移并切换到另一种方法。

如果您的数据库正在积极地摄取数据,请采取预防措施以确保您的 Timescale 数据库包含在迁移发生时摄取的数据。首先在源数据库和目标数据库上并行运行摄取。这确保了最新的数据被写入两个数据库。然后使用两种迁移方法之一回填您的数据。

关键词

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