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

具体需求是这样的,我们需要将生产库上的数据和测试库上的数据做对比,因为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

你可能感兴趣的:(数据库,sql)