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

自托管产品

MST

通过一次性转储和恢复整个数据库来迁移小型数据库。此方法最适用于小于 100 GB 的数据库。对于更大的数据库,请考虑单独迁移您的 schema 和数据

警告

根据您的数据库大小和网络速度,迁移可能需要很长时间。在此期间,您可以继续从源数据库读取数据,尽管性能可能会变慢。为避免此问题,请分叉您的数据库并从分叉中迁移数据。如果在迁移过程中向源数据库中的表写入数据,新的写入可能不会传输到 Timescale。为避免此问题,请参阅实时迁移

在开始之前,请检查您已具备以下条件:

  • 已安装 PostgreSQL pg_dumppg_restore 工具。
  • 已安装用于连接 PostgreSQL 的客户端。这些说明使用 psql,但任何客户端都可以。
  • 已在 Timescale 中创建了一个新的空数据库。有关更多信息,请参阅安装 Timescale 部分。为您的数据库预留足够大的空间以容纳所有数据。
  • 已检查您使用的所有其他 PostgreSQL 扩展是否与 Timescale 兼容。有关更多信息,请参阅兼容扩展列表。安装您的其他 PostgreSQL 扩展。
  • 已检查您的目标数据库和源数据库上运行的 PostgreSQL 主要版本相同。有关升级源数据库上的 PostgreSQL 的信息,请参阅自托管 TimescaleDB 升级说明
  • 已检查您的目标数据库和源数据库上运行的 Timescale 主要版本相同。有关更多信息,请参阅升级 Timescale 部分
注意

为了加快迁移速度,请将数据压缩到列存中。您可以压缩当前没有插入、更新或删除数据的任何块。完成迁移后,您可以根据正常操作的需要将块解压缩回行存。有关行存和列存压缩的更多信息,请参阅 hypercore

  1. 使用源数据库连接详细信息,将源数据库中的所有数据转储到 dump.bak 文件中。如果提示输入密码,请使用您的源数据库凭据

    pg_dump -U <SOURCE_DB_USERNAME> -W \
    -h <SOURCE_DB_HOST> -p <SOURCE_DB_PORT> -Fc -v \
    -f dump.bak <SOURCE_DB_NAME>
  2. 使用 Timescale 连接详细信息连接到您的 Timescale 数据库。当提示输入密码时,请使用您的 Timescale 凭据

    psql “postgres://tsdbadmin:<PASSWORD>@<HOST>:<PORT>/tsdb?sslmode=require”
  3. 通过使用 timescaledb_pre_restore 停止后台工作进程,为数据恢复准备 Timescale 数据库

    SELECT timescaledb_pre_restore();
  4. 在命令行提示符下,使用 Timescale 连接详细信息,将转储的数据从 dump.bak 文件恢复到您的 Timescale 数据库中。为避免权限错误,请包含 --no-owner 标志

    pg_restore -U tsdbadmin -W \
    -h <CLOUD_HOST> -p <CLOUD_PORT> --no-owner \
    -Fc -v -d tsdb dump.bak
  5. psql 提示符下,使用 timescaledb_post_restore 命令将 Timescale 数据库恢复正常操作。

    SELECT timescaledb_post_restore();
  6. 通过在整个数据集上运行 ANALYZE 更新表统计信息。

    ANALYZE;

关键词

此页面有错误?报告问题 或 编辑此页面 在 GitHub。