【问题标题】:What is difference between postgres users?postgres 用户之间有什么区别?
【发布时间】:2014-08-21 22:56:32
【问题描述】:

我是 postgres 新手,有一些问题。 我已经在我的 linux 系统上安装了 postgresql,它在系统上创建了一个用户 postgres,我在 pgadmin 中也有 postgres 用户,他们是同一个用户吗?

我的 jboss 有问题,连接数据源会导致密码验证问题。

pg_hba.conf:

> # TYPE  DATABASE        USER            ADDRESS                 METHOD

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

例外:

原因:org.postgresql.util.PSQLException: FATAL: password 用户“postgres”的身份验证失败 org.postgresql.core.v3.ConnectionFactoryImpl.doAuthentication(ConnectionFactoryImpl.java:398) 在 org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:173) 在 org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:64) 在 org.postgresql.jdbc2.AbstractJdbc2Connection.(AbstractJdbc2Connection.java:136) 在 org.postgresql.jdbc3.AbstractJdbc3Connection.(AbstractJdbc3Connection.java:29) 在 org.postgresql.jdbc3g.AbstractJdbc3gConnection.(AbstractJdbc3gConnection.java:21) 在 org.postgresql.jdbc4.AbstractJdbc4Connection.(AbstractJdbc4Connection.java:31) 在 org.postgresql.jdbc4.Jdbc4Connection.(Jdbc4Connection.java:24) 在 org.postgresql.Driver.makeConnection(Driver.java:393) 在 org.postgresql.Driver.connect(Driver.java:267)

【问题讨论】:

  • 我遇到异常:致命:用户“postgres”的密码验证失败
  • 在问题中发布错误消息、连接字符串和 pg_hba.conf,而不是在 cmets 中
  • 将 pg_hba.conf 中 127.0.0.1/32 附近的行从 md5 更改为 trust。然后重新加载/重新启动 postgres。如果您现在可以连接,则您之前提供的密码错误。
  • 我已经尝试过信任,没有任何改变。密码正确,请问是什么问题?

标签: postgresql jboss postgresql-9.2


【解决方案1】:

您的pg_hba.conf 文件显示注释掉的每一行。如果真的是这样的话,PostgreSQL 甚至会拒绝启动。

postgres 操作系统用户和postgres 数据库角色几乎完全独立。

它们是通过以下事实连接的:如果您在pg_hba.conf 中使用peerident 形式的身份验证,那么您需要成为postgres 系统用户才能以postgres 数据库角色登录.但是您没有使用这些表格。此外,如果您没有指定连接的角色(例如,使用 -U),那么许多程序将默认使用操作系统用户的名称作为尝试连接的角色的名称。

除此之外,它们不相关。特别是它们不会自动共享相同的密码。

【讨论】:

    猜你喜欢
    • 2016-12-18
    • 2017-03-06
    • 2019-02-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-16
    • 2015-05-08
    相关资源
    最近更新 更多