Oracle移植postgreSQL系統-三、Oracle移植postgreSQL注意事項

人盡茶涼 提交于 2020-03-10 10:09:23

         1、Oracle函數偽列

         Ora2pg將會把偽列創建為普通物理列,并創建相應函數、觸發器實現函數計算并將數據維護在普通物理列中。

          2Oracle序列

         postgreSQL中支持smallserial 、serial、bigserial三種數據類型,系統會自動創建相關序列,并且支持直接設置默認值為nextval('seq_report_dept_info_id')格式,此種方式較為簡便,但生成腳本中不會自動轉換。

        也可參照Orace數據庫方式,自己手工創建序列,并在insertupdate或觸發器中通過nextval('seq_report_dept_info_id')的方式維護數據。

        3Oracle Type

       在Oracle包里定義的cursor、數組、index_by表、嵌套表等類型,ora2pg不會自動轉換,需要手工處理。

       4LOB對象

      Oracleclob對象postgreSQL會自動按text類型創建。

      並且Oracleclog字段會自動創建索引,但postgreSQL中不會,因而移植后索引會少LOB索引。

      5、分區

      Oracle有間隔分區,數據庫會自動根據設置的間隔創建分區,但postgreSQL中不會自動創建分區,需要手工定期維護,或者寫定時腳本維護。

       6、索引

      OracelepostgreSQL都會根據唯一鍵自動創建索引,但在移植時,postgreSQL會根據Oracle中的唯一鍵在創建唯一鍵的同時創建索引,但也會將Oracle中此唯一鍵下的唯一索引也創建,因而會導致重複,需要手工刪除重複的唯一鍵。

      LOB字段Oracle中會自動創建索引,postgreSQL中無此規則,因而Oracle中的LOB索引不會移植。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!