Postgresql从服务器计算机到客户端计算机的复制函数



我想使用复制命令从服务器计算机导入一个表到客户机计算机。我知道这对用户来说是一个反复出现的问题,但我还没有得到这个问题的答案,这也是一个不同的场景,我相信这是常见的。

使用下面的代码,我使用copy命令将Table从服务器复制到客户端计算机:

COPY (Select * from Table_Name) TO 'C:somedirectoryfile.csv' DELIMITER ',' CSV HEADER;

然而,我得到了以下内容

错误:拷贝文件的相对路径不允许

我的问题是:如何使用正确的COPY命令从Postgres的服务器计算机复制到客户端计算机。

Thank you in expected

  1. 请检查您的用户是否具有对目标文件夹的读/写访问权限
  2. 这是我发现的一个线程,看看它是否有帮助

https://dba.stackexchange.com/questions/158466/relative-path-for-psql-copy-filehttps://postgrespro.com/list/thread-id/1116997

  1. 尝试使用客户端公共IP访问网络

如何使用正确的COPY命令在Postgres中从服务器计算机复制到客户端计算机

你就是不能。

手册

中有明确说明

带文件名的COPY指示PostgreSQL服务器直接从文件中读取或写入。该文件必须能够被PostgreSQL用户(服务器运行时的用户ID)访问,并且名称必须从服务器的角度指定。

(强调我的)

您需要使用psqlcopy命令或任何其他在客户端工作的导出工具。