psql客户端无法导入转储文件 - 系统找不到指定的文件

时间:2018-03-26 20:27:40

标签: postgresql psql

我正在尝试使用psql客户端在PgAdmin 4中导入SQL转储 - 但是返回的错误消息是 - 系统无法找到指定的文件。

以下是我的psql客户端的屏幕截图 -

enter image description here

文件films.sql目前存储在我的桌面上,但我怀疑psql客户端访问的默认位置不是我的桌面?无论如何都要设置客户端查找的位置以解决此问题吗?

可在此处查看文件SQL:https://github.com/datacamp/courses-intro-to-sql/tree/master/datasets

我只想在本地计算机上获取数据库,这样我就不需要在在线学习平台中存储查询。如果此数据库在本地可用于查询和练习,那将是最好的。

我试图将整个SQL文件作为电影数据库的查询来执行,但这似乎也没有工作,并且正在进行“异步查询执行/操作”。 查询在388毫秒内成功返回。 - 但是,当刷新数据库时,异步查询似乎永远不会完成。

请有人帮忙吗?

enter image description here

2 个答案:

答案 0 :(得分:0)

只需提供文件路径:

psql -d my_database -f /path/to/the/file.sql

psql -d my_database -f C:/path/to/the/file.sql

取决于您使用的是unix / linux计算机还是Windows。

哦,如果您不熟悉文件路径,那么在深入研究RDBMS之前,您可能需要退一步,熟悉一般的计算机术语。如果你有坚实的基础,你的学习会更容易。

答案 1 :(得分:0)

我怀疑这个问题此时对于提问者来说可能没有实际意义,但对于像我一样绊倒它的其他人:交互式连接信息提示是由批处理脚本提供的(在 Windows 中,我猜有一个类似的Unix 的 shell 脚本)称为 runpsql.bat,然后它只是将您的输入作为命令行参数传递给 psql.exe 可执行文件。我收到这个错误是因为我已经迁移了我的 Postgres 安装并且批处理脚本调用了一个不存在的路径 psql.exe,因此 The system cannot find the file specified。我编辑了 runpsql.bat 以指向 psql.exe 的正确位置并解决了该问题。因此,对于 OP,我会查看 PgAdmin4 并查看它(大概)在哪里调用 runpsql.bat,然后确保它使用正确的路径调用 psql.exe