Getting 'psql: FATAL: database “forum.sql” does not exist' Error
我目前正在运行Linux Mint 17.2 XFCE,目前正在将Udacity Intro引入关系数据库课程。 几天前,我安装了PostGreSQL作为该程序的一部分。 课程的一部分涉及下载VM并通过Vagrant连接到它以在Linux上运行,但我已经运行了linux,所以我只是下载了Vagrant以访问随附的'forum.sql'文件而且是 其中一个练习的一部分。
但是每当我尝试使用该命令运行forum.sql时
1 | psql forum.sql |
我得到的只是
1 | psql: FATAL: DATABASE"forum.sql" does NOT exist |
错误。 尽管如此,我显然在正确的目录中。 当我在vagrant / forum目录中输入'ls'时,它清楚地显示了forum.sql。
我究竟做错了什么?
PostgreSQL不对文件进行操作。 当您运行"psql"时,它通过某种网络连接到服务。
它连接的是数据库服务,psql抱怨你告诉它使用的数据库的名称不存在。
您可能认为要评估文件的内容,并且可以这样做,但必须先连接到数据库。 如果您在过去运行"createdb",那么您创建了一个数据库,这应该是"psql"之后的第一个参数,而不是某个文件名。 如果未指定数据库名称,则它将连接到与linux用户名同名的数据库(如果已创建)。
如果您可以按照自己的意愿进行连接,并且已经验证了它,那么您可以让psql在数据库名称之前使用"-f"读取您使用的文件,然后读取文件名。
其中一个可能是正确的:
1 2 | $ psql -f forum.sql databasename $ psql -f forum.sql |