当前位置: 首页 > 知识库问答 >
问题:

PG::Concortion坏:fe_sendauth:没有提供密码

艾照
2023-03-14

当我试图在本地postgres数据库上运行“rake test”时,它会引发上述异常。

这是我的pg_hba.conf文件:#数据库管理登录通过Unix域套接字本地所有postgres对等

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             username                                  peer
local   myapp_dev   myapp                               md5
local   myapp_test  myapp                               md5
local   myapp_prod  myapp                               md5
#local   all             all                                     peer
# IPv4 local connections:
host    all             all             127.0.0.1/32            md5
# IPv6 local connections:
host    all             all             ::1/128                 md5
# Allow replication connections from localhost, by a user with the
# replication privilege.
#local   replication     postgres                                peer
#host    replication     postgres        127.0.0.1/32            md5
#host    replication     postgres        ::1/128                 md5

这是我的database.yml中的相关部分

test:

adapter: postgresql
database: myapp_test
pool: 5
timeout: 5000
host: localhost
username: username
password:

在real database.yml中,“username”替换为我实际登录的用户名。由于身份验证方法定义为“对等”,因此不需要密码。

我也注意到了重新开始深造

sudo -u postgres pg_ctlcluster 9.3 main restart

我还缺什么?

共有3个答案

巢睿
2023-03-14

如果您的hb_conf已被修改为强制使用密码,请确保您的rails应用的数据库配置在开发和测试环境中都包含密码。

default: &default
  adapter: postgresql
  encoding: unicode
  pool: 5
  host: localhost
  username: your_user
  password: your_password

development:
  <<: *default
  database: your_db_development

test:
  <<: *default
  database: your_db_test

production:
  url: <%= ENV['DATABASE_URL'] %>

当我无法为测试数据库提供密码时,我遇到了这个错误。

楚乐逸
2023-03-14

按如下所示更改代码,它将正常工作

pg_hba.conf:
# IPv4 local connections:
host    all             all             127.0.0.1/32            trust
# IPv6 local connections:
host    all             all             ::1/128                 trust

下文解释如下:

相信

无条件允许连接。此方法允许任何可以连接到PostgreSQL数据库服务器的人以任何PostgreSQL用户的身份登录,而无需密码或任何其他身份验证。

md5

要求客户端提供双MD5散列密码进行身份验证。

请参阅此处了解更多信息

冯流觞
2023-03-14

localhost主机指的是TCP连接,这意味着根据您的pg_hba.conf,身份验证方法md5(需要密码):

# IPv4 local connections:
host    all             all             127.0.0.1/32            md5
# IPv6 local connections:
host    all             all             ::1/128                 md5

对于要采用的peer方法,您需要通过Unix域套接字进行连接,而且由于您似乎正在使用类似于debian的操作系统,这意味着将/var/run/postgresql放在host字段中,或者什么都不放(除非环境变量另有说明,否则这是默认设置)。

编辑:如果使用数据库URI(自Rails-4.1以来受支持,如中所述)http://weblog.rubyonrails.org/2014/4/8/Rails-4-1/),语法可以是:

>

  • 对于本地主机:
    测试:“postgresql://localhost/myapp_test“

    对于默认的Unix套接字域(主机字段留空):
    测试:“postgresql:///myapp_test“

  •  类似资料:
    • 问题内容: 我只是熟悉Apache JackRabbit。我已经完成了一些用于文档管理的多用户存储库。 如果有人同时使用它们,您能回答这些问题吗? ModeShape是否以某种方式链接到JBoss?我对JBoss AS或任何其他JBoss工具没有太多经验。我看到了对tomcat的支持,但是有很多JBossy的东西 文档说将来的发行版应该具有UI集成,这还有很长的路要走吗?它将是什么样的UI集成?是

    • 从angular 4.4升级到5.0,并将所有HttpModule和Http更新到HttpClientModule后,我开始出现此错误。 我还再次添加了HttpModule,以确保这不是由于某些依赖关系造成的,但它并不能解决问题 应用程序内。模块,我已正确设置 我不知道这个错误是从哪里来的,或者我不知道如何去了解它。我也有一个警告(也放在下面),可能是相关的。 警告信息:

    • 我正在使用Yeoman+Angular Generator为我的应用程序,我一直在努力地跑来跑去与Jasmine相处!这就是我被困住的地方。我希望能够在Jasmine测试中使用jQuery选择器。我已经安装了和包。然后我为bower安装了它(我是新来的,我不知道应该为什么安装什么!)。我已经在中手动添加了路径,但仍然得到这样的消息: 这就是我的因果报应配置的样子:

    • 我将Application类增强为Configuration类,并将其标记为@Component,以便提供的值可以在使用代码中自动安装: 我尝试了自动连接上述数据源: 在我的pom中。xml我使用了spring boot starter数据jpa。 但它不起作用: 为什么?

    • 我有一个问题加载类到Angular组件。很长一段时间以来,我一直试图解决这个问题;我甚至尝试将它加入到一个文件中。我拥有的是: 一个pplication.ts 服务/名称服务。ts 我一直收到一条错误消息,说。 有人能帮我发现代码的问题吗?

    • 我已经参考了Spring SAML手册来创建私钥和导入公共证书。但是我仍然面临加密/解密的问题。 我用手册中提到的以下命令创建了一个JKS文件,如下所示 用于导入IDP公共证书的命令 用于私钥的命令 私钥和密钥存储库的密码定义为更改 我已经配置了securityContext如下 我可以看到可以选择IDP的idpDiscovery页面。我也可以查看IDP的登录页面。但是当我提供用户凭据时,我得到了