Azure Linux虚拟机安装PostgreSQL后执行命令提示command not found问题咨询
问题排查与解决步骤
1. 解决command not found错误
该报错大概率是PostgreSQL二进制文件路径未加入当前用户的环境变量导致,按以下步骤验证修复:
- 执行命令验证路径是否存在:
echo $PATH | grep /usr/lib/postgresql/12/bin
如果无任何输出,说明路径未配置:- 临时生效(重启终端后失效):执行
export PATH=$PATH:/usr/lib/postgresql/12/bin - 永久生效:执行
echo 'export PATH=$PATH:/usr/lib/postgresql/12/bin' >> ~/.bashrc,再执行source ~/.bashrc立即生效
- 临时生效(重启终端后失效):执行
- 配置路径后仍报错的话,执行
ls -l /usr/lib/postgresql/12/bin/确认对应命令文件存在、且文件权限带有可执行标识(x)即可。
2. 解决sudo要求输入密码的问题
你遇到的密码请求并非要求输入postgres用户的密码,sudo默认请求的是你当前登录的admindj用户的登录密码,直接输入admindj的密码即可验证通过。如果输入后提示用户不在sudoers列表中,按以下步骤配置权限:
- 切换到Azure虚拟机创建时设置的初始管理员账号登录
- 执行命令:
sudo usermod -aG sudo admindj - 注销admindj账号重新登录即可获得sudo权限
后续操作PostgreSQL无需解锁postgres用户密码,正确的管理操作格式为sudo -u postgres <PostgreSQL相关命令>,例如进入psql命令行直接执行sudo -u postgres psql即可。

内容的提问来源于stack exchange,提问作者Data Dill
相关产品推荐
相关产品推荐

