数据导入

最近更新时间:2024-05-08 16:00:03

我的收藏
您可以选择通过 DTS 工具或者 PostgreSQL 逻辑备份,将数据备份文件恢复到目标云数据库 PostgreSQL。

DTS 数据迁移

详细数据迁移方案可参考 通过 DTS 迁移数据,目前支持多种源端 PostgreSQL 迁移到云数据库 PostgreSQL。

导入导出方案

步骤1:准备 PostgreSQL 实例

购买 PostgreSQL 实例,并在 控制台 获取连接地址。
说明
请确保字符集与源实例一致。

步骤2:逻辑备份源实例数据

1.通过 PostgreSQL 客户端,连接本地(源) PostgreSQL 数据库。n2.执行如下命令,备份数据。
pg_dump -U username -h hostname -p port -x databasename -f filename
参数说明如下:
username:本地数据库用户名。
hostname:本地数据库主机名,如果是在本地数据库主机登录,可以使用 localhost。
port:本地数据库端口号。
databasename:要导出的本地数据库名。
filename:要生成的备份文件名称。
-x 代表导出不带源对象的权限信息。建议在目标库根据实际情况再进行权限赋予,否则在导入时容易报错。
例如,数据库用户 pgtest 要备份本地 PostgreSQL 数据库,登录 PostgreSQL 主机后,通过如下命令备份数据。
pg_dump -U pgtest -h localhost -p 4321 pg001 -f pg001.sql

步骤3:恢复数据至目标实例

建议您通过安全的方式(如加密压缩)将数据上传到云服务器 CVM 上,然后通过内网将数据恢复到目标 PostgreSQL。
1.登录云服务器 CVM。n2.通过 PostgreSQL 客户端,执行如下命令将数据导入至目标PostgreSQL。
psql -U username -h hostname -d databasename -p port -f filename
参数说明如下:
username:TencentDB for PostgreSQL 数据库用户名。
hostname:TencentDB for PostgreSQL 数据库地址。
port:TencentDB for PostgreSQL 数据库端口号。
databasename:TencentDB for PostgreSQL 数据库名。
filename:本地备份数据文件名。
例如,
psql -U pgtest -h 10.xxx.xxx.xxx -d pg001 -p 4321 -f pg001.sql
由于源端和目标数据库的权限设置可能不一致,在数据导入过程当中可能会出现一些与权限相关的 WARNING 或 ERROR,可以忽略。