我在Windows 10上下载了本地PosgreSQL 11。 我尝试在命令行窗口的psql中将目录更改为c:\ Program Files \ PostgreSQL \ 11 \ bin> 我收到无效的命令或目录不存在
我尝试跟 postgres =#cd c:\ Program Files \ PostgreSQL \ 11 \ bin 无效的命令\ Program。尝试\?求助。 postgres-#\ cd c:\ Program Files \ PostgreSQL \ 11 \ bin 无效的命令\ Program。尝试\?求助。 postgres-#\ cd .. 无效的命令\ cd ...尝试\?求助。 postgres-#\ cd .. postgres-#\ cd程序文件 \ cd:无法将目录更改为“程序”:没有此类文件或目录
我什至不确定当前目录,因为无法识别pwd: postgres-#!密码 无法将“ pwd”识别为内部或外部命令, 可操作的程序或批处理文件。
非常感谢
UPADATE:弄清楚如何检查当前目录! cd
试图以这种方式运行命令! C:> cd C:\ Program Files \ PostgreSQL \ 11 \ bin
我得到: postgres-#! C:> cd C:\ Program Files \ PostgreSQL \ 11 \ bin 访问被拒绝。
答案 0 :(得分:1)
对于OP来说有点晚了,但是这里有一些提示给那些偶然发现这里的人的。 对于这些目录更改和驱动器更改任务,有两个相关的psql命令。
\cd
命令。您可以使用它来实际执行目录更改。但是,如果Windows使用反斜杠,请改用正斜杠。另外,此命令可以理解驱动器号,与Windows cd不同,您无需在此处使用cd命令添加标志来更改驱动器。例子:
\cd /dir1/dir2
\cd D:/dira/dirb <-- Drive letter
\cd '/dir with spaces/other dir' <-- single quotes
问题:如何显示当前驱动器/目录?与Windows不同,如果您发出不带参数的\cd
,则psql不会显示当前目录。相反,它更改为根C:\目录(大概类似于linux cd命令更改为主目录。)因此,您需要发出其他命令来查看当前目录。
\! <command>
格式调用shell命令
因此,在Linux中,您可以使用\! pwd
查看当前的工作目录。但是,Windows没有pwd命令。但是您可以使用\! cd
。 这容易引起混淆,并且在您打算使用时容易使用\ cd(不必要地更改目录)! cd,尤其是在Windows和Linux之间切换时。因此,在Windows上,您可能需要创建一个批处理文件来实现pwd。
作为进一步的混乱点,您可能会考虑使用类似以下内容的东西:
\! cd \dira\dirb
,但是由于某种原因,使用参数运行\! cd
似乎不起作用(正斜杠或反斜杠)。
另一种替代方法,如果只需要更改一次特定的当前目录,则可以在运行启动psql的脚本之前先进行cd操作。也就是说,不要使用Postgresql在“开始”菜单上安装的“ SQL Shell(psql)”命令。相反,请查看该命令的属性,记下脚本的路径,并仅在将其CD到所需目录后,才能在命令窗口中使用它。
答案 1 :(得分:0)
我正在使用Windows btw
在运行psql之前必须更改目录 现在,您可能在想,但是当我打开psql shell它已经在运行的psql时,那是因为您在psql shell中打开了它,所以不要这样做
这是您需要做的
如果遇到“ psql不是命令”错误,那是因为psql路径不在您的环境变量
中如果您需要解决此问题,请转至此页面。.→Click me