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

Apo*_*wal 4 postgresql

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

COPY my_table FROM '/Users/user/Downloads/test.csv' DELIMITER ',' CSV HEADER;
Run Code Online (Sandbox Code Playgroud)

要么

\COPY my_table FROM '/Users/user/Downloads/test.csv' DELIMITER ',' CSV HEADER;
Run Code Online (Sandbox Code Playgroud)

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

Pav*_*ule 7

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

\COPYpsql的命令-只能从中执行,psql并且为可能从客户端流中进行读/写操作准备内部环境,并执行COPY命令。

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