Timescale Cloud:性能、扩展、企业级
自托管产品
MST
通过一次性转储和恢复整个数据库来迁移小型数据库。此方法最适用于小于 100 GB 的数据库。对于更大的数据库,请考虑单独迁移您的 schema 和数据。
警告
根据您的数据库大小和网络速度,迁移可能需要很长时间。在此期间,您可以继续从源数据库读取数据,尽管性能可能会变慢。为避免此问题,请分叉您的数据库并从分叉中迁移数据。如果在迁移过程中向源数据库中的表写入数据,新的写入可能不会传输到 Timescale。为避免此问题,请参阅实时迁移。
在开始之前,请检查您已具备以下条件:
- 已安装 PostgreSQL
pg_dump
和
pg_restore
工具。
- 已安装用于连接 PostgreSQL 的客户端。这些说明使用
psql
,但任何客户端都可以。 - 已在 Timescale 中创建了一个新的空数据库。有关更多信息,请参阅安装 Timescale 部分。为您的数据库预留足够大的空间以容纳所有数据。
- 已检查您使用的所有其他 PostgreSQL 扩展是否与 Timescale 兼容。有关更多信息,请参阅兼容扩展列表。安装您的其他 PostgreSQL 扩展。
- 已检查您的目标数据库和源数据库上运行的 PostgreSQL 主要版本相同。有关升级源数据库上的 PostgreSQL 的信息,请参阅自托管 TimescaleDB 升级说明。
- 已检查您的目标数据库和源数据库上运行的 Timescale 主要版本相同。有关更多信息,请参阅升级 Timescale 部分。
注意
为了加快迁移速度,请将数据压缩到列存中。您可以压缩当前没有插入、更新或删除数据的任何块。完成迁移后,您可以根据正常操作的需要将块解压缩回行存。有关行存和列存压缩的更多信息,请参阅 hypercore。
使用源数据库连接详细信息,将源数据库中的所有数据转储到
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>使用 Timescale 连接详细信息连接到您的 Timescale 数据库。当提示输入密码时,请使用您的 Timescale 凭据
psql “postgres://tsdbadmin:<PASSWORD>@<HOST>:<PORT>/tsdb?sslmode=require”通过使用
timescaledb_pre_restore
停止后台工作进程,为数据恢复准备 Timescale 数据库SELECT timescaledb_pre_restore();在命令行提示符下,使用 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在
psql
提示符下,使用timescaledb_post_restore
命令将 Timescale 数据库恢复正常操作。SELECT timescaledb_post_restore();通过在整个数据集上运行
ANALYZE
更新表统计信息。
ANALYZE;
关键词