2024-09-24
在同一台服务器上,备份恢复一个数据库,那种方式快?
在同一台服务器上,譬如有个database db1,大小几十GB, 现在想在同一台服务器上通过备份/恢复产生一个 db1_test 用于测试,希望能快速生成测试库用于对比测试,用那个工具比较安全、快捷? 谢谢!
我来答
添加附件
收藏
分享
问题补充
1条回答
默认
最新
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
墨值悬赏
在同一台服务器上,譬如有个database db1,大小几十GB, 现在想在同一台服务器上通过备份/恢复产生一个 db1_test 用于测试,希望能快速生成测试库用于对比测试,用那个工具比较安全、快捷? 谢谢!
在同一台服务器上对 PostgreSQL 数据库进行备份恢复以快速生成测试库,以下是一些较为安全快捷的方式:
一、使用 pg_dump 和 pg_restore
db1: pg_dump -F c -b -v -f db1_backup.dump db1
这将以自定义格式(-F c)备份数据库 db1,生成一个名为 db1_backup.dump 的备份文件。
db1_test: pg_restore -d db1_test -v db1_backup.dump
这将把备份文件恢复到新的数据库 db1_test 中。
优点:
缺点:
二、使用 pg_basebackup
如果数据库处于归档模式下,可以使用 pg_basebackup 进行物理备份和恢复。
pg_basebackup -D backup_directory -Fp -Xs -v -P -h localhost -p 5432 -U username -R
这将进行物理备份,并生成一个包含恢复所需信息的文件。
优点:
缺点:
总体而言,对于几十 GB 的数据库,使用 pg_dump 和 pg_restore 通常是比较安全可靠的选择。如果数据库处于归档模式且对恢复速度有更高要求,可以考虑使用 pg_basebackup。同时,在进行备份和恢复操作之前,一定要确保对数据进行了充分的测试,并在非生产环境中进行演练,以确保操作的安全性和正确性。
评论
有用 0
墨值悬赏