gpt4 book ai didi

postgresql - 当我们在postgres中定义路径为 '~/path/to/csv'时没有这样的文件或目录

转载 作者:行者123 更新时间:2023-11-29 14:30:17 25 4
gpt4 key购买 nike

lease=# COPY dhcpd_data (ip_address, start_time, end_time, mac_address, machine_name) FROM '~/outputcsvre.csv' DELIMITER ',' CSV HEADER;
ERROR: could not open file "~/outputcsvre.csv" for reading: No such file or directory

如果我将路径定义为 '/home/rihiraj12/outputcsvre.csv',它工作正常。

最佳答案

是的,这很正常。

您实际上并没有名为~ 的目录。当您在命令行上执行命令时,shell 会在运行程序之前将 ~ 展开为 /home/rihiraj12。但是这里你没有使用 shell,所以 ~ 是按字面解释的。

作为解决方法,您可以说

COPY dhcpd_data (...) FROM PROGRAM 'cat ~/outputcsvre.csv' ...

但请注意,COPY 命令是由服务器执行的,因此这将使服务器生成一个 cat 命令并使用 PostgreSQL 服务器的主目录。

要从您自己的角度指定文件,您可以(在 psql 中)使用 \copy 元命令(其语法与 COPY 相同) :

\copy dhcpd_data (...) FROM PROGRAM 'cat ~/outputcsvre.csv' ...

这将使用您自己的主目录作为 ~

关于postgresql - 当我们在postgres中定义路径为 '~/path/to/csv'时没有这样的文件或目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52887590/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com