上云无忧 > 文档中心 > 天翼云PostgreSQL数据库数据迁移教程
关系型数据库PostgreSQL版
天翼云PostgreSQL数据库数据迁移教程

文档简介:
使用psql命令迁移PostgreSQL数据 迁移准备 PostgreSQL支持逻辑备份。您可使用pg_dump逻辑备份功能,导出备份文件,再通过psql导入到RDS中,实现将PostgreSQL的数据导入到关系型数据库中。
*产品来源:中国电信天翼云。免费试用 咨询热线:400-826-7010,为您提供专业的售前咨询,让您快速了解云产品,助您轻松上云! 微信咨询
  免费试用、价格特惠

数据迁移


使用psql命令迁移PostgreSQL数据

迁移准备

PostgreSQL支持逻辑备份。您可使用pg_dump逻辑备份功能,导出备份文件,再通过psql导入到RDS中,实现将PostgreSQL的数据导入到关系型数据库中。

关系型数据库服务支持开启公网访问功能,通过弹性公网IP进行访问。您也可通过弹性云服务器的内网访问关系型数据库。

准备工作

  1. 准备弹性云服务器或可公网访问关系型数据库。

    通过弹性云服务器连接关系型数据库实例,需要创建一台弹性云服务器。

    创建并连接弹性云服务器,请参见8.3.4 如何创建和连接ECS。

    通过公网地址连接关系型数据库实例,需具备以下条件。

    i.          先对关系型数据库实例绑定公网地址,如何绑定公网地址,请参见绑定弹性公网IP

    ii.        保证本地设备可以访问关系型数据库绑定的公网地址。

  2. 在1中的弹性云服务器或可访问关系型数据库的设备上,安装PostgreSQL客户端。

请参见8.3.16 如何安装PostgreSQL客户端。

说明:该弹性云服务器或可访问关系型数据库的设备上需要安装和RDS PostgreSQL数据库服务端相同版本的数据库客户端,PostgreSQL数据库或客户端会自带pg_dump和psql工具。


导出数据

要将已有的PostgreSQL数据库迁移到关系型数据库,需要先对它进行导出。

说明:

l  相应导出工具需要与数据库引擎版本匹配。

l  数据库迁移为离线迁移,您需要停止使用源数据库的应用程序。

步骤 1     登录已准备的弹性云服务器,或可访问关系型数据库的设备。

步骤 2     使用pg_dump将源数据库导出至SQL文件。

pg_dump --username=--host=--port=--format=plain --file=

l   DB_USER为数据库用户。

l   DB_ADDRESS为数据库地址。

l   DB_PORT为数据库端口。

l   BACKUP_FILE为要导出的文件名称。

l   DB_NAME为要迁移的数据库名称。

根据命令提示输入数据库密码。

示例如下:

$ pg_dump --username=root --host=192.168.151.18 --port=5432 --format=plain --file=backup.sql my_db

Password for user root:

命令执行完会生成“backup.sql”文件,如下:

[rds@localhost ~]$ ll backup.sql

-rw-r-----. 1 rds rds 2714 Sep 21 08:23 backup.sql

----结束

导入数据

通过弹性云服务器或可访问关系型数据库的设备,用相应客户端连接关系型数据库实例,将导出的SQL文件导入到关系型数据库。

步骤 1     确保导入的目标数据库已存在。

如果不存在,执行以下命令创建数据库:

# psql --host=--port=--username=root --dbname=postgres -c "create database;"

l   RDS_ADDRESS为RDS实例的IP地址。

l   DB_PORT为当前数据库实例的端口。

l   DB_NAME为要导入的数据库名称。

步骤 2     将导出的文件导入到关系型数据库。

# psql --host=--port=--username=root --dbname=--file=/backup.sql

l   RDS_ADDRESS为关系型数据库实例的IP地址。

l   DB_PORT为当前数据库实例的端口。

l   DB_NAME为要导入的目标数据库名称,请确保该数据库已存在。

l   BACKUP_DIR为“backup.sql”所在目录。

根据命令提示输入关系型数据库实例的密码。

示例如下:

# psql --host=172.16.66.198 --port=5432 --username=root --dbname=my_db --file=backup.sql

Password for user root:

步骤 3     查看迁移结果,如下。

my_db=> \l my_db

示例中,名为my_db的数据库已经被导入了:

my_db=> \l my_db
List of databases
Name  | Owner | Encoding | Collate     | Ctype       | Access privileges
------+-------+----------+-------------+-------------+-----------
my_db | root  | UTF8     | en_US.UTF-8 | en_US.UTF-8 |
(1 row)

----结束

相似文档
  • 用户从线下或者其他云迁移到关系型数据库后要面对更改IP的问题,为减少客户业务更改,降低迁移难度。提供规划与更改内网IP方式,降低客户迁移成本。
  • 关系型数据库实例创建成功后,默认未开启公网访问功能(即未绑定弹性公网IP)。关系型数据库服务支持用户绑定弹性公网IP,在公共网络来访问数据库实例,绑定后也可根据需要解绑。
  • 关系型数据库服务支持修改主实例和只读实例的数据库端口,对于主备实例,修改主实例的数据库端口,该实例下备实例的数据库端口会被同步修改。 操作步骤 步骤 1 登录管理控制台。
  • 您可通过pgAdmin客户端可视化操作,连接关系型数据库实例。 说明: pgAdmin仅支持通过公网地址连接。 请使用pgAdmin 4及其以上版本。 准备工作 1、准备可访问关系型数据库实例的设备。
  • 关系型数据库服务支持修改主实例和只读实例的实例名称,以方便用户识别。 操作步骤 登录管理控制台。 单击管理控制台左上角的,选择区域和项目。 选择“数据库 > 关系型数据库”。进入关系型数据库信息页面。
官方微信
联系客服
400-826-7010
7x24小时客服热线
分享
  • QQ好友
  • QQ空间
  • 微信
  • 微博
返回顶部