從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對復雜視圖查詢有不同優化策略,可能需要調整