我的文字文件如下:
\home\stanley:123456789 c:/kobe:213 \tej\home\ant:222312
并创建FOREIGN TABLE步骤:
CREATE FOREIGN TABLE file_check(txt text) SERVER file_server OPTIONS (format 'text', filename '/home/stanley/check.txt');
选择file_check(使用:select * from file_check)
我的控制台告诉我
homestanley:123456789 c:/kobe:213 ejhomeant:222312
任何人都可以帮助我吗?
答案 0 :(得分:1)
文件foreign-data-wrapper使用与COPY相同的规则(可能是因为它下面是相同的代码)。你必须考虑反斜杠是一个转义字符......
http://www.postgresql.org/docs/9.2/static/sql-copy.html
上表中未提及的任何其他后退字符将用于表示自己。但是,请注意不必要地添加反斜杠,因为这可能会意外地产生匹配数据结束标记(。)或空字符串(默认为\ N)的字符串。在完成任何其他反斜杠处理之前,将识别这些字符串。
因此,您需要将反斜杠加倍,或者将其作为单列csv文件进行尝试,看看是否有帮助