导入与迁移

更新时间:2025-04-03 08:23:11

通过pg_dumpallpg_dumppg_restore命令,将自建PostgreSQL数据库迁移至PolarDB PostgreSQL轻量版

前提条件

PolarDB PostgreSQL轻量版存储空间应大于自建PostgreSQL数据库实际使用的存储空间。

注意事项

  • 本操作为全量数据迁移。为避免迁移前后数据不一致,迁移前请停止自建数据库的相关业务,并停止数据写入。

  • 本操作仅适用于数据库引擎为PolarDB PostgreSQL版。如您的数据库引擎为PolarDB PostgreSQL版(兼容Oracle)且需要迁移请联系我们

操作步骤一 备份自建数据库

  1. 备份数据库中的所有角色信息。在自建PostgreSQL数据库服务器上执行以下命令:

    pg_dumpall -U <username> -h <hostname> -p <port> -r -f <filename>

    参数说明:

    • <username>:登录自建PostgreSQL数据库的账号。

    • <hostname>:自建PostgreSQL数据库的连接地址,本机可使用localhost

    • <port>:数据库服务的端口号。

    • <filename>:生成的备份文件名称。

    示例

    pg_dumpall -U postgres -h localhost -p 5432 -r -f roleinfo.sql
  2. 命令行提示Password:时,输入数据库账号对应的密码,开始备份数据库中的所有角色信息。

  3. 备份数据库中的数据。在自建PostgreSQL数据库服务器上执行以下命令:

    pg_dump -U <username> -h <hostname> -p <port> <dbname> -Fd -j <njobs> -f <dumpdir>

    基础参数介绍请参见参数说明,其他参数介绍如下:

    • <njobs>:同时执行备份作业的并发数。

      说明

      该参数可减少备份时间,但也会增加数据库服务器的负载。

    • <dumpdir>:生成的备份文件所属目录。

    示例

    pg_dump -U postgres -h localhost -p 5432 mytestdata -Fd -j 5 -f postgresdump
  4. 命令行提示Password:时,输入数据库账号对应的密码,数据库开始备份。

  5. 等待备份完成,PostgreSQL数据库数据将备份至指定的目录中,此处使用的是postgresdump

操作步骤二 数据迁移至PolarDB PostgreSQL轻量版

  1. 将备份文件所属的目录复制到集群主节点或其他可连接到集群的节点。

    说明

    包含角色信息备份文件和数据库备份文件。

  2. 连接集群主地址或直接连接主节点,将角色信息备份文件中的角色信息迁移至PolarDB PostgreSQL轻量版集群中。

    psql -U <username> -h <hostname>  -p <port> -d <dbname>  -f <filename>

    参数说明:

    • <username>:登录PolarDB PostgreSQL轻量版数据库的账号。

    • <hostname>:PolarDB PostgreSQL轻量版地址。

    • <port>:数据库服务的端口号。

      说明

      与连接地址类型有关,如连接Proxy提供的主地址,使用端口12396,如需连接集群主节点,使用端口1523。

    • <dbname>:连接的数据库的名称。

    • <filename>:角色信息备份文件名。

    示例

    psql -U gctest -h <主节点ip地址> -d testdb -p 1523 -f roleinfo.sql
  3. 命令行提示Password:时,输入数据库账号对应的密码,角色信息开始导入。

  4. 将数据库数据恢复至PolarDB PostgreSQL轻量版中。

    pg_restore -U <username> -h <hostname> -p <port> -d <dbname> -j <njobs> <dumpdir>

    基础参数介绍请参见参数说明,其他参数介绍如下:

    • <dbname>:连接并直接恢复到的目标数据库名。

      说明

      目标数据库需已存在,如不存在请提前创建该数据库。

    • <njobs>:同时执行数据恢复作业的并发数。

      说明

      该参数可减少数据恢复的时间,但也会增加数据库服务器的负载。

    • <dumpdir>:备份文件所在目录。

    示例

    pg_restore -U gctest -h <主节点ip地址> -p 1523 -d mytestdata -j 6 postgresdump
  5. 命令行提示 Password:时,输入数据库账号对应的密码,数据开始迁移。

等待数据迁移完成即可。

  • 本页导读 (1)
  • 前提条件
  • 注意事项
  • 操作步骤一 备份自建数据库
  • 操作步骤二 数据迁移至PolarDB PostgreSQL轻量版
AI助理

点击开启售前

在线咨询服务

你好,我是AI助理

可以解答问题、推荐解决方案等