从脚本读取数据的psql复制

时间:2019-05-18 07:38:11

标签: postgresql psql

我正在尝试从PostgreSQL数据库中导出/导入一组表。

我正在从脚本中将psql的copy fromstdin一起使用。我已经读过,可以使用命令转义copy to读取和定界数据(以前使用stdout\.产生)。

如果从先前导出的数据中出现\.,那我会从文档中清楚地了解不到。

具体来说,documentation(重点是我的这一部分)对此不太清楚。

  

对于\copy ... from stdin,数据行是从与   发出命令,继续直到读取\. 或流到达   EOF。此选项对于在SQL中内联填充表很有用   脚本文件。对于\copy ... to stdout,输出被发送到同一位置   作为psql命令输出,并且COPY count命令状态不是   打印(因为它可能与数据行混淆)。读/写   无论当前命令如何,psql的标准输入或输出   源或\ o选项,从pstdin或pstdout写入。

是否/必须以某种方式使出现在数据中的\.逃脱了?

我目前正在使用utf8编码的text格式进行导出/导入。

1 个答案:

答案 0 :(得分:0)

我想我在documentation of the SQL COPY command(“文本格式”部分,再次强调我的)中找到了相关信息:

  

数据结尾可以用仅包含反斜杠(\.的一行表示。从文件读取时,数据末尾标记不是必需的,因为文件末尾可以很好地工作。仅当使用3.0之前的客户端协议在客户端应用程序之间来回复制数据时,才需要使用它。