postgresql中copy和\ copy命令之间的区别

时间:2018-08-04 02:20:25

标签: postgresql

要在Postgresql中的文件和表之间传输数据,有两种选择

COPY my_table FROM '/Users/user/Downloads/test.csv' DELIMITER ',' CSV HEADER;

\COPY my_table FROM '/Users/user/Downloads/test.csv' DELIMITER ',' CSV HEADER;

我的问题是两者之间的区别是什么?哪个更快?

1 个答案:

答案 0 :(得分:4)

COPY命令在服务器端完全执行-输入/输出与服务器端流相关。但是,这些流可以重定向到客户端-在预先配置的环境中运行COPY时。 \COPY是这种情况。

\COPYpsql的命令-只能从psql执行,它为可能从客户端流读取/写入的内部环境做准备,并执行{{ 1}}命令。

因此COPYCOPY之间的差异很小。 \COPY以不同的配置执行,\COPY用于从客户端读取/写入数据。性能应该相同-COPY可能会因网络开销而变慢(很明显),但它并不重要。在这种情况下,通信协议应该有效。