我试图通过命令行访问postgresql。但是,每当我输入密码时,我都会收到以下错误:致命:用户RMehta的密码验证失败。我很确定密码验证失败的原因是我的数据库的用户是postgres,而不是RMehta。
我找到的唯一解决方案是在命令行中使用runas,但我无法弄清楚如何让runas工作。非常感谢任何建议。我正在使用Windows 7和postgresql 9.3
答案 0 :(得分:3)
对于Unix环境,命令行是
psql -U USERNAME -h localhost dbname
对于Windows环境,您可以考虑更换" - "用" /"
-U选项可以让您选择要与
连接的用户-h选项能够连接TCPIP协议,您可能认为它对Windows无用
答案 1 :(得分:2)
首先确保您的用户具有 sudo 访问权限,否则您可以使用以下命令将您的用户添加为 sudo 用户:-
sudo adduser <username> sudo
更改将在用户下次登录时生效。
现在尝试运行此命令:-
sudo -u postgres psql
如果这给您带来错误,请按照以下步骤操作。
i) 现在转到 sudo vim /etc/postgresql/<your_postgres_version>/main/pg_hba.conf
文件并查找以下内容的行:
local all postgres md5 #peer
并评论。在该行的正下方必须有一条注释行,内容为:
local all postgres peer
或者对于旧版本,它将是 :-
local all postgres ident
取消注释该行。
ii) 现在使用以下任何命令重新启动 postgres :-
sudo /etc/init.d/postgresql restart
或
sudo service postgresql restart
iii) 现在您可以使用以下命令简单地登录 postgres:
sudo -u postgres psql
iv) 进入后,您可以创建您想要的任何操作,在我的情况下,我想创建一个新数据库,您可以使用以下命令执行相同操作:
CREATE DATABASE airflow_replica;