尝试将数据转储到数据库时出现 pgrouting 错误

pgrouting error when trying to dump data into database

我只是在学习本教程 HERE,关于 pgrouting,当我 运行 以下命令时:

psql -U user -d postgres -f ~/Desktop/pgrouting-workshop/data/sampledata_routing.sql

我收到一条错误消息:

/var/lib/postgresql/Desktop/pgrouting-workshop/data/sampledata_routing.sql: No such file or directory

在我的桌面上有一个文件夹 pgrouting-workshop,其中包含文件夹 datasql 转储文件。

为什么我会收到这个错误?

因为您的 Desktop 不在 postgres 用户的主目录中,位于 /var/lib/postgresql,而是位于 /home/myusername/Desktop

推测您正在 运行ning 的 psql 命令在 sudo -u postgres -i shell 下,因此 ~/ 表示 postgres 用户的主目录。

使用~myusername/Desktop/blahblah。请注意,postgres 用户可能没有权限访问它;您可以 chmod go+x ~ ~/Desktop(运行 作为您的用户,而不是 postgres)来更改它。