开发者社区> 问答> 正文

迁移 RDS for PostgreSQL 数据到本地 PostgreSQL


阿里云数据库 PostgreSQL 版支持通过逻辑备份文件将云上数据迁移到本地数据库。

操作步骤

  1. 通过 PostgreSQL 客户端,连接云数据库。

  2. 执行如下命令,备份数据。[backcolor=transparent]pg_dump [backcolor=transparent]-[backcolor=transparent]U username [backcolor=transparent]-[backcolor=transparent]h hostname [backcolor=transparent]-[backcolor=transparent]p port databasename [backcolor=transparent]-[backcolor=transparent]f filename

参数说明如下:
  • username:数据库用户名
  • hostname:数据库主机名
  • port:数据库端口号
  • databasename:要备份的数据库名
  • filename:要生成的备份文件名称

例如:
  1. [backcolor=transparent]pg_dump [backcolor=transparent]-[backcolor=transparent]U myuser [backcolor=transparent]-[backcolor=transparent]h rds2z2tp80v3752wb455[backcolor=transparent].[backcolor=transparent]pg[backcolor=transparent].[backcolor=transparent]rds[backcolor=transparent].[backcolor=transparent]aliyuncs[backcolor=transparent].[backcolor=transparent]com [backcolor=transparent]-[backcolor=transparent]p [backcolor=transparent]3433[backcolor=transparent] pg001 [backcolor=transparent]-[backcolor=transparent]f pg001[backcolor=transparent].[backcolor=transparent]sql
将备份文件 pg001.sql 放到目标服务器中。
执行如下命令将数据恢复到本地数据库。
  1. [backcolor=transparent]psql [backcolor=transparent]-[backcolor=transparent]U username [backcolor=transparent]-[backcolor=transparent]h hostname [backcolor=transparent]-[backcolor=transparent]d desintationdb [backcolor=transparent]-[backcolor=transparent]p port [backcolor=transparent]-[backcolor=transparent]f dumpfilename[backcolor=transparent].[backcolor=transparent]sql

参数说明如下:
  • username:数据库用户名
  • hostname:数据库地址
  • port:数据库端口号
  • databasename:数据库名
  • filename:备份文件名称

如:
  1. [backcolor=transparent]psql [backcolor=transparent]-[backcolor=transparent]U myuser [backcolor=transparent]-[backcolor=transparent]h localhost [backcolor=transparent]-[backcolor=transparent]d pg001 [backcolor=transparent]-[backcolor=transparent]p [backcolor=transparent]5432[backcolor=transparent] [backcolor=transparent]-[backcolor=transparent]f pg001[backcolor=transparent].[backcolor=transparent]sql

由于 RDS 数据库的权限设置和本地数据库不一致,在数据导入过程当中可能会出现一些与权限相关的 WARNING 或 ERROR,可以忽略,如:
  1. [backcolor=transparent]WARNING[backcolor=transparent]:[backcolor=transparent]  [backcolor=transparent]no[backcolor=transparent] privileges could be revoked [backcolor=transparent]for[backcolor=transparent] [backcolor=transparent]"xxxxx"
  2. [backcolor=transparent]ERROR[backcolor=transparent]:[backcolor=transparent]  role [backcolor=transparent]"xxxxx"[backcolor=transparent] does [backcolor=transparent]not[backcolor=transparent] exist

展开
收起
云栖大讲堂 2017-10-18 14:00:46 1743 0
0 条回答
写回答
取消 提交回答
问答排行榜
最热
最新

相关电子书

更多
金融级 PostgreSQL监控及优化 立即下载
PostgreSQL在哈啰的实践-周飞 立即下载
PostgreSQL高并发数据库应用数据 立即下载

相关镜像