通过命令行访问postgreSQL

时间:2014-10-17 14:43:14

标签: postgresql cmd runas

我试图通过命令行访问postgresql。但是,每当我输入密码时,我都会收到以下错误:致命:用户RMehta的密码验证失败。我很确定密码验证失败的原因是我的数据库的用户是postgres,而不是RMehta。

我找到的唯一解决方案是在命令行中使用runas,但我无法弄清楚如何让runas工作。非常感谢任何建议。我正在使用Windows 7和postgresql 9.3

2 个答案:

答案 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;