2012-10-08 38 views
1

我有一個oracle數據庫,它擁有大約2TB的數據,我必須遷移到postgreSQL。 我正在學習pgsql和pgloader的onCOPY命令。如何將oracle數據遷移到postgres中?

問題是....

  1. 複製命令具有指定文件中的每一行(線)中分隔列的字符分隔符選項。根據手冊,這必須是單個單字節字符。如果我需要二次分隔符(如oracle所附帶的選項所包含的那樣)?

  2. 有對2010-04以來沒有更新[http://pgloader.projects.postgresql.org] ...所以我不認爲這是推薦的方式...

是還有其他選項我錯過了?

+0

僅僅因爲一些不經常更新並不意味着有什麼不妥的地方。我沒有使用pgloader,因爲我從不需要加載大量數據,但我沒有看到它不適合的任何跡象。 –

回答

1

有幾點。首先,您可以使用CSV格式的COPY,因此,如果您擔心處理逗號,您可以將其複製爲CSV並讓引用規則處理該格式。無論如何,CSV被廣泛支持作爲數據導出格式,所以這可能是處理這種情況的最佳方式。

其次,如果你需要它,你的分隔符可以用反斜線轉義。

+0

[其次,如果你需要,你的分隔符可以通過反斜槓轉義。] < - 我不明白我到底要做什麼。 – KIM

+0

然後,您可以在您的字段上輸入s /,/ \\,/ g,以便在導出時正確識別。 CSV可能更加值得信賴,因爲它是一個通用的事實標準。 –

+0

請注意,'CSV'也支持引用,就像Oracle的'ENCLOSED BY'一樣。 –