无法在Windows 10上的psql中更改目录。PostgreSQL 11

时间:2019-01-08 14:10:38

标签: windows psql postgresql-11

我在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 访问被拒绝。

2 个答案:

答案 0 :(得分:1)

对于OP来说有点晚了,但是这里有一些提示给那些偶然发现这里的人的。 对于这些目录更改和驱动器更改任务,有两个相关的psql命令。

  1. “内置” \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命令更改为主目录。)因此,您需要发出其他命令来查看当前目录。

  1. psql可以使用\! <command>格式调用shell命令 因此,在Linux中,您可以使用\! pwd查看当前的工作目录。但是,Windows没有pwd命令。但是您可以使用\! cd

这容易引起混淆,并且在您打算使用时容易使用\ cd(不必要地更改目录)! cd,尤其是在Windows和Linux之间切换时。因此,在Windows上,您可能需要创建一个批处理文件来实现pwd。

  1. 作为进一步的混乱点,您可能会考虑使用类似以下内容的东西: \! cd \dira\dirb,但是由于某种原因,使用参数运行\! cd似乎不起作用(正斜杠或反斜杠)。

  2. 另一种替代方法,如果只需要更改一次特定的当前目录,则可以在运行启动psql的脚本之前先进行cd操作。也就是说,不要使用Postgresql在“开始”菜单上安装的“ SQL Shell(psql)”命令。相反,请查看该命令的属性,记下脚本的路径,并仅在将其CD到所需目录后,才能在命令窗口中使用它。

答案 1 :(得分:0)

我正在使用Windows btw

在运行psql之前必须更改目录 现在,您可能在想,但是当我打开psql shell它已经在运行的psql时,那是因为您在psql shell中打开了它,所以不要这样做

这是您需要做的

  1. 打开命令提示符
  2. 使用cd更改目录
  3. 然后运行psql命令

如果遇到“ psql不是命令”错误,那是因为psql路径不在您的环境变量

如果您需要解决此问题,请转至此页面。.→Click me