互联网的搬运工 分类搜索 官网    VIP电影   留言板   免责声明    我要投稿   后花园

网站首页 技术 正文

Centos 7 linux 提示Postgresql -bash:psql:找不到命令

小冰 2021-04-09 技术 56 ℃ 0 评论

Postgresql -bash: psql: command not found

我已经安装了PostgreSQL,它可以正常工作。 但是,当我还原备份时,出现错误-bash: psql: command not found

[[email protected] ~]# su postgres
[[email protected] root]$ psql -f ALL.sql
bash: psql: command NOT found
[[email protected] root]$

我做错了什么?

export PATH=/usr/pgsql-9.2/bin:$PATH

程序可执行文件psql位于目录/usr/pgsql-9.2/bin中,并且默认情况下该目录不包含在路径中,因此我们必须告诉shell(终端)程序在哪里找到psql。安装大多数软件包后,它们将被添加到现有路径(例如/usr/local/bin)中,但不会添加到该程序中。

因此,如果我们不想每次执行程序时都必须键入程序的完整路径,则必须将程序的路径添加到shell PATH变量中。

通常应将此行添加到shell启动脚本中,对于bash shell,它将位于文件~/.bashrc中。

也许psql不在postgres用户的PATH中。使用locate命令查找psql的位置,并确保其路径在postgres用户的PATH中。

可能是由于psql不在PATH中

$ locate psql
/usr/lib/postgresql/9.6/bin/psql

然后在/ usr / bin中创建一个链接

ln -s /usr/lib/postgresql/9.6/bin/psql /usr/bin/psql

然后尝试执行psql它应该可以工作。

如果您在Fedora或CentOS上运行它,那么这对我有用(PostgreSQL 9.6):

在终端:

$ sudo visudo -f /etc/sudoers

修改以下内容:

Defaults    secure_path = /sbin:/bin:/usr/sbin:/usr/bin


Defaults    secure_path = /sbin:/bin:/usr/sbin:/usr/bin:/usr/pgsql-9.6/bin

退出,然后:

$ printenv PATH

$ sudo su postgres

$ psql

要退出postgreSQL终端,您需要输入数字:

$ \q

问题是针对linux的,但我在Windows机器上的git bash也遇到了同样的问题。

我的pqsql安装在这里:
C:\Program Files\PostgreSQL\10\bin\psql.exe

您可以将psql.exe的位置添加到Path环境变量中,如以下屏幕快照所示:

 Centos 7 linux 提示Postgresql -bash:psql:找不到命令 技术

如果您使用的是Postgres Mac应用程序(由Heroku开发)和Bundler,则可以直接在应用程序内部将pg_config添加到包中。

bundle config build.pg --with-pg-config=/Applications/Postgres.app/Contents/Versions/9.4/bin/pg_config

...然后再次运行捆绑软件。

注意:首先使用以下命令检查版本。

ls /Applications/Postgres.app/Contents/Versions/


Tags:

< 温馨提示 >
本站资源如有密码均为:70ol.com
学到东西应该懂得感恩作者 无脑喷子永封IP段+删帐号所有评论
本站资源软件和源码 文章大部分为网上收集,如侵犯您的权利,请告知管理员,我们会及时删除,并向您赔礼道歉.

站长QQ:  官方QQ群:558413792

猜你喜欢

本文暂时没有评论,来添加一个吧(●'◡'●)


欢迎 发表评论:

请填写验证码
搜索
最近发表
网站分类
友情链接
标签列表
文章归档
最新留言
站点信息
  • 文章总数:414
  • 页面总数:1
  • 分类总数:14
  • 标签总数:19
  • 评论总数:6
  • 浏览总数:301265