PostgreSQL到HighgoDB数据迁移

文章目录

环境

系统平台:N/A

版本:4.1.1

症状

从PostgreSQL迁移数据到HighGoDB。

解决方案

1.禁止业务连接数据库

客户停止所有连接至x.x.10.11的应用程序。(或修改Postgresql数据库的pg_hba文件,禁止所有IP地址连接数据库)

应用程序停止之后,使用 ps -ef |grep postgres命令观察是否还有IP访问数据库。

2.使用如下命令从源端数据库导出数据和全局对象

备份角色和表空间。

pg_dumpall -h localhost -U postgres --port=5866 -f backup.sql --globals-only --clean --verbose

导出某个数据库的数据,例如导出test数据库:

pg_dump --host localhost --port 5866 --username "postgres" --format custom --file "/xxxx/yyy/backup.dmp" "test"

如需导出多个数据库的数据,修改数据库名,多次导出多个库。也可以使用pg_dumpall的方式,将所有数据全部导出。

注:不建议使用pg_dumpall,因为该方式只能导出SQL文本,恢复极其耗时。

3.打开目标端数据库,恢复全局对象并开始导入数据。

将bakcup.sql文件中的SQL语句拷贝并在目标数据库中运行,例如:

CREATE ROLE postgres LOGIN ENCRYPTED PASSWORD 'md52cc18edfxxxxxxxxx4610288ab1f1ca9' SUPERUSER INHERIT CREATEDB CREATEROLE REPLICATION;

恢复数据:

pg_restore -h localhost -p 5866 -U highgo -d highgo --create --verbose --format custom "/xxxx/yyy/backup.dmp "

4.导入完成后,psql进入数据库查看是否导入成功。

相关推荐
三十..7 小时前
Redis 核心原理与高可用架构实践
运维·数据库·redis
这个DBA有点耶7 小时前
索引优化深潜(下):索引合并、ICP 与索引设计的实战法则
数据库·mysql·架构
努力努力再努力wz7 小时前
【内存管理与高并发内存池系列】从 mmap 到 malloc:文件映射、匿名映射与 glibc 内存分配机制详解
linux·c语言·数据结构·数据库·c++·qt·链表
JdSnE27zv8 小时前
Qt 操作SQLite数据库
数据库·qt·sqlite
tedcloud1238 小时前
HyperFrames部署教程:用HTML生成MP4视频
前端·数据库·人工智能·html·音视频
布朗克1688 小时前
25 IO流高级操作——序列化、NIO与Files工具类
java·数据库·io·nio
阿演8 小时前
DataDjinn 新版本更新:新增 Oracle 支持,查询窗口、表预览和连接树继续打磨
数据库·oracle·ai编程·数据库连接工具
lixora8 小时前
Oracle 11g Active Data Guard Go 自动化部署工具 v1.0
数据库·oracle
Nturmoils8 小时前
自增主键别只会 auto_increment,先把值从哪来讲清楚
数据库·后端
叶小鸡8 小时前
Java 篇-项目实战-AI 天机学堂(从 0 到 1)-day5
数据库·redis·缓存