有一个包含一百万个条目的大脚本,script123.sql它通过 winscp 从 Windows 机器上传到运行postgresql 9.4的Ubuntu 14.04服务器。当从 Windows 机器(它是 PGAdmin III 的一部分)启动 psql 时,当尝试通过命令加载脚本时,会显示有关缺少文件的错误:,无论是在指定相对路径还是直接路径时:\i script123.sqlscript123.sql No such file or directory
\i /home/user/script123.sql
/home/user/script123.sql No such file or directory
\i ../script123.sql
/home/user/script123.sql No such file or directory
我应该在哪里复制这个脚本,以便它可以从 psql (windows) 运行?在 Windows 上,只需将脚本复制到: C:\Program Files\PostgreSQL\9.4\data 。尝试“通过类比”复制到/var/lib/postgresql/9.4/main和/etc/postgresql/9.4/main/ - 没有帮助......
\i 是一个 psql 客户端命令,它只能从本地机器读取文件,从运行 psql 的机器,postgresql 服务器可以在任何地方。
所以如果你想在客户端运行psql,那么这个文件必须位于客户端的某个地方。