这个问题是针对Linux的,但我在Windows机器上的git bash也遇到了同样的问题。 我的pqsql安装在这里:C:\Program Files\PostgreSQL\10\bin\psql.exe 您可以将psql.exe的位置添加到Path环境变量as described in this other answer中,如下面的屏幕截图所示:
更改以上内容后,请关闭所有cmd和/或bash窗口,然后重新打开它们(如Ayush Shankar的注解中所述)。如果您使用的是Visual Studio Code之类的IDE,请关闭并重新打开整个IDE(如Somraj Chowdhury的注解中所述) 您可能需要使用以下命令更改默认日志记录用户。
8条答案
按热度按时间vngu2lb81#
程序可执行文件
psql
在目录/usr/pgsql-9.2/bin
中,默认情况下该目录不包含在路径中,所以我们必须告诉shell(终端)程序在哪里可以找到psql
。当安装大多数软件包时,它们会被添加到一个现有的路径中,例如/usr/local/bin
,而不是这个程序。因此,如果我们不想在每次执行程序时都输入程序的完整路径,就必须将程序的路径添加到shell PATH变量中。
这一行通常应该添加到shell启动脚本中,对于bash shell,它将位于文件
~/.bashrc
中。2guxujil2#
psql可能不在postgres用户的
PATH
中。使用locate命令查找psql的位置,并确保其路径在postgres用户的PATH
中。jv4diomz3#
这可能是由于psql不在PATH中
然后在/usr/bin中创建链接
然后尝试执行psql,它应该工作。
w8rqjzmb4#
这个问题是针对Linux的,但我在Windows机器上的git bash也遇到了同样的问题。
我的pqsql安装在这里:
C:\Program Files\PostgreSQL\10\bin\psql.exe
您可以将
psql.exe
的位置添加到Path环境变量as described in this other answer中,如下面的屏幕截图所示:更改以上内容后,请关闭所有
cmd
和/或bash
窗口,然后重新打开它们(如Ayush Shankar的注解中所述)。如果您使用的是Visual Studio Code之类的IDE,请关闭并重新打开整个IDE(如Somraj Chowdhury的注解中所述)您可能需要使用以下命令更改默认日志记录用户。
这里
postgres
是用户名。如果没有-U
,它将选择windows登录的用户。blpfk2vs5#
如果您在Fedora或CentOS上运行它,下面是对我有效的方法(PostgreSQL 9.6):
在终端中:
修改以下文本:
至
退出,然后:
要退出PostgreSQL终端,需要数字:
来源:https://serverfault.com/questions/541847/why-doesnt-sudo-know-where-psql-is#comment623883_541880
oxosxuxt6#
如果您使用的是Postgres Mac应用程序(由Heroku开发)和Bundler,您可以直接将pg_config添加到应用程序中,添加到您的捆绑包中。
...然后再次运行bundle。
**注意:**请先使用以下方法检查版本。
0h4hbjxa7#
检查是否安装了PostgreSQL。
如果没有,你可以在ubuntu中使用这个命令做同样的事情。
uqdfh47h8#
出现这种情况必须有两个原因:未安装软件包或PATH中未定义psql
最简单的方法是在/usr/bin或/usr/local/sbin/中创建一个链接
首先找到该文件
然后创建软链接