在這裡把我遇到的一些問題寫一下,做個記錄。

Ora2Pg: 

  1. Ora2Pg.pm 這個檔案放在 /usr/lib/perl5/site_perl/5.10.0 。
    主要是改這個檔

  2. SDO_GEOMETRY => point
    懶的改 Ora2Pg.pm,就直接在輸出後的SQL,改成point。
    但SDO_GEOMETRY的值,還是要靠改 Ora2Pg.pm程式來輸出。

  3. 如果遇到亂碼,可以利用Iconv 來解決
    iconv -c -f UTF-8 -t UTF-8 orig_dump.sql > stripped_dump.sql
    這個很方便,就直接把亂碼過濾掉,匯入資料時就不會出錯了。

  4. NUMBER < 5 => smallint
    NUMBER < 10 => integer
    NUMBER >=10 => bigint

SQL :

  1. Oracle 中,END_TIME 預設值為sysdate + 7
    "END_TIME" DATE DEFAULT sysdate+7,
    Ora2Pg輸出後的 SQL 為
    "end_time" timestamp DEFAULT CURRENT_TIMESTAMP+7 
    在匯入時會出現錯誤,所以要修改一下。
    要改成
    "end_time" timestamp DEFAULT CURRENT_TIMESTAMP+'7 days'

  2. 如果要用 point 是 Index,則自己改輸出檔會比較方便。
    CREATE INDEX ix_geo_position ON "geo_position" using gist(circle("position",0));
    這樣可以成功建Index,但還沒有實際使用,所以不知道是不是正確。

程式面:

  1. SYSDATE   =>  NOW()

 

創作者介紹

Ching Wei : This is My Life - 工作、攝影、旅遊

Ching-Wei 發表在 痞客邦 留言(0) 人氣()