我可以使用Rails连接到服务器的postgres,但是无法通过命令行

时间:2019-02-14 18:24:35

标签: ruby-on-rails postgresql psql

我正在尝试通过脚本连接到服务器的Postgres数据库。我把它塞进盒子里尝试了

$ psql postgres -U my_username -W   #And then entered the password

并得到错误:

psql: FATAL:  Peer authentication failed for user "my_username"

但是,在此服务器上运行的Rails应用程序正在使用这些相同的凭据。我已经在Rails控制台中使用了ActiveRecord::Base.connection_config,并且完全按照尝试使用psql时的方式使用了凭据。在rails控制台中,我能够在数据库上查询,因此我知道连接在那里正常工作。

是否存在某处限制使我无法通过psql连接?还是我做错了什么?

2 个答案:

答案 0 :(得分:0)

您是否尝试过这种方法?

psql --username="postgres"

另一种可能性是告知更多参数

psql --username="postgres" --host="<ip or host name>" --port="<port, default 5432>" -W <db name>

好看!

答案 1 :(得分:0)

尝试这样连接:

 psql postgres -U my_username -h 127.0.0.1 -W   #And then entered the password