0

我的文本文件如下所示:

\家\斯坦利:123456789
c:/神户:213
\tej\家\蚂蚁: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)

我的控制台向我展示

霍斯坦利:123456789
c:/神户:213
ejhomeant:222312

任何人都可以帮助我吗??

4

1 回答 1

1

文件 foreign-data-wrapper 使用与 COPY 相同的规则(可能是因为它下面的代码相同)。你必须考虑到反斜杠是一个转义字符......

http://www.postgresql.org/docs/9.2/static/sql-copy.html

上表中未提及的任何其他反斜杠字符将被视为代表自身。但是,请注意不要添加不必要的反斜杠,因为这可能会意外生成与数据结束标记 (.) 或空字符串(默认为 \N)匹配的字符串。这些字符串将在任何其他反斜杠处理完成之前被识别。

因此,您要么需要将反斜杠加倍,要么将其作为单列 csv 文件尝试,看看是否有帮助

于 2013-04-12T07:53:14.787 回答