我正在尝试从PostgreSQL数据库中导出/导入一组表。
我正在从脚本中将psql的copy from
与stdin
一起使用。我已经读过,可以使用命令转义copy to
读取和定界数据(以前使用stdout
和\.
产生)。
如果从先前导出的数据中出现\.
,那我会从文档中清楚地了解不到。
具体来说,documentation(重点是我的这一部分)对此不太清楚。
对于
\copy ... from stdin
,数据行是从与 发出命令,继续直到读取\.
或流到达 EOF。此选项对于在SQL中内联填充表很有用 脚本文件。对于\copy ... to stdout
,输出被发送到同一位置 作为psql命令输出,并且COPY count命令状态不是 打印(因为它可能与数据行混淆)。读/写 无论当前命令如何,psql的标准输入或输出 源或\ o选项,从pstdin或pstdout写入。
是否/必须以某种方式使出现在数据中的\.
逃脱了?
我目前正在使用utf8
编码的text
格式进行导出/导入。
答案 0 :(得分:0)
我想我在documentation of the SQL COPY
command(“文本格式”部分,再次强调我的)中找到了相关信息:
数据结尾可以用仅包含反斜杠(
\.
)的一行表示。从文件读取时,数据末尾标记不是必需的,因为文件末尾可以很好地工作。仅当使用3.0之前的客户端协议在客户端应用程序之间来回复制数据时,才需要使用它。