2012-10-08 37 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'一样。 –