如何在 PostgreSQL 中从本地文件复制到远程数据库?

use*_*149 9 postgresql postgresql-9.1

我是 psql 的新手,需要一些帮助。如何将本地 CSV 加载到远程数据库?

我正在使用以下命令

\COPY test(user_id, product_id, value) 
      FROM '/Users/testuser/test.tsv' WITH DELIMITER '\t' CSV HEADER;
Run Code Online (Sandbox Code Playgroud)

但这会在远程数据库上搜索文件,而我需要在本地 PC 上执行此操作。

Chr*_*ers 5

这里有两种可能。

  1. 如果您使用的是 psql,那么 \copy 是您提到的正确处理方式。

  2. 如果您使用的是自己编写的客户端程序,则需要

    COPY FROM STDIN.....
    
    Run Code Online (Sandbox Code Playgroud)

然后输入文件(请参阅有关 COPY 命令文档

COPY 命令有点奇怪。它是 PostgreSQL 当前从 Quel 支持的一个命令,因此它既非标准又基于与其他命令不同的范式。出于这个原因,相对仔细地阅读有关此命令的文档非常重要。