OpenGauss从生产库导出到测试库做对比

该文详细描述了一种在保持相同schema名称的情况下,从生产库(benchmarkdb)导出sqluserschema的数据,然后在测试环境中创建新库(gausstest),进行数据导入,重命名schema,再将修改后的schema导入到测试库的基准库中,以实现数据对比的方法。该过程涉及数据备份、数据库创建、权限设置以及使用gs_dump和gs_restore工具进行数据迁移。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

具体需求是这样的,我们需要将生产库上的数据和测试库上的数据做对比,因为SCHEMA名字相同,无法直接导入到测试库。我们可以通过一样的方法实现这个目标

step1. 从生产导出数据,生产数据库为 benchmarkdb,schema为 sqluser

gs_dump -p 30100 -h 10.201.65.204 -U sqluser -W 'testpass' -n sqluser -f /home/omm/sqluser_backup.dump -F c benchmarkdb

step2.在测试环境创建一个新库 gausstest,并完成相应的授权

CREATE DATABASE gausstest ;

GRANT CREATE ON DATABASE gausstest to sqluser ;

GRANT DROP ON DATABASE gausstest to sqluser ;

create user ... (如果测试环境没有这个用户)

step3. 将生产数据库的数据导入新库 gausstest

gs_restore -p 30100 -h 10.201.65.204 -U sqluser -W 'testpass' -n sqluser -d gausstest -c /home/omm/sqluser_backup.dump

step4. 将 新库的schema 从新命名

alter schema sqluser rename to sqluser_prod;

step5. 从新库gausstest导出schema sqluser_prod

gs_dump -p 30100 -h 10.201.65.204 -U sqluser -W 'testpass' -n sqluser_prod -f /home/omm/sqluser_backup_prod.dump -F c gausstest

step6 将 sqluser_prod schema 导入到测试环境的benchmarkdb

gs_restore -p 30100 -h 10.201.65.204 -U sqluser -W 'testpass' -n sqluser_prod -d benchmarkdb -c /home/omm/sqluser_backup_prod.dump

step7 查看测试环境新导入的 schema sqluser_prod

set current_schema=sqluser_prod;

\d

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值