猿问
下载APP

获取错误:当试图让pgsql使用rails时,用户“postgres”的对等身份验证失败

获取错误:当试图让pgsql使用rails时,用户“postgres”的对等身份验证失败

我收到错误:

FATAL: Peer authentication failed for user "postgres"

当我尝试使用Rails进行postgres时。

这是我的pg_hba.conf,我的database.yml,以及完整痕迹的转储。

我在pg_hba中将身份验证更改为md5并尝试了不同的操作,但似乎都没有。

我还尝试按照Rails 3.2创建一个新的用户和数据库,致命:用户的对等身份验证失败(PG ::错误)

但他们没有出现在pgadmin上,甚至在我跑步时也没有出现sudo -u postgres psql -l

知道我哪里错了吗?

ruby-on-rails postgresql


眼眸繁星
浏览 49回答 3
3回答

三国纷争

问题仍然是你的pg_hba.conf文件(/etc/postgresql/9.1/main/pg_hba.conf*)。这一行:local   all             postgres                                peer应该:local   all             postgres                                md5*如果找不到此文件,运行locate pg_hba.conf时应显示文件的位置。更改此文件后,请不要忘记重新启动PostgreSQL服务器。如果你在Linux上,那就是sudo service postgresql restart。这些是根据官方PostgreSQL文档关于身份验证方法的两个选项的简要描述。对等身份验证对等身份验证方法的工作原理是从内核获取客户端的操作系统用户名,并将其用作允许的数据库用户名(使用可选的用户名映射)。仅在本地连接上支持此方法。密码验证基于密码的身份验证方法是md5和密码。除了通过连接发送密码的方式外,这些方法的操作类似,分别是MD5散列和明文。如果你完全担心密码“嗅探”攻击,那么首选md5。如果可能,应始终避免使用普通密码。但是,md5不能与db_user_namespace功能一起使用。如果连接受SSL加密保护,则可以安全地使用密码(但如果依赖于使用SSL,则SSL证书身份验证可能是更好的选择)。示例位置pg_hba.conf:/etc/postgresql/9.1/main/pg_hba.conf

精慕HU

我正在克隆服务器上移动数据目录,并且以postgres身份登录时遇到麻烦。重置像这样的postgres密码对我有用。root# su postgres postgres$ psql -U postgres psql (9.3.6) Type "help" for help. postgres=#\password  Enter new password: Enter it again: postgres=#

繁花如伊

sudo psql --host=localhost --dbname=database-name --username=postgres这解决了我的问题
打开App,查看更多内容
随时随地看视频慕课网APP
我要回答