从postgresql 导出sql 脚本
工具-备份
选择格式为Plain
得到脚本用vscode 打开并编辑
首先使用查找替换功能
语法适配修改:
替换不支持的参数如lock_timeout为lockwait_timeout
移除row_security等openGauss不支持的配置
检查并修改物化视图的刷新语法
特点:物理存储查询结果,需手动刷新以提高查询性能
不建议将pg的物化视图修改为opengauss的物化视图,修改为一般视图
执行以下命令时,发现这个视图和表在一起。
依赖关系处理
确保所有被引用的表、序列等对象已存在
按依赖顺序执行脚本(先基础表,后视图)
执行迁移:
gsql -d target_db -U gaussdb -W ‘password’ -p 5432 -f adapted_views.sql
常见问题
对象不存在错误
先创建缺失的基础表或序列
检查对象名大小写敏感性(建议统一使用双引号)
权限错误:
GRANT USAGE ON SCHEMA public TO user_name;
GRANT SELECT ON ALL TABLES IN SCHEMA public TO user_name;
性能优化
openGauss对复杂视图查询有不同优化策略,可能需要调整