【问题标题】:GeoServer Issues地理服务器问题
【发布时间】:2013-11-24 05:16:13
【问题描述】:

在运行服务器时,我无法在 GeoServer 中查看图层。我检查了Enabled 复选框,但我仍然无法查看地图。 如果我再次登录 GeoServer,Enabled 复选框未选中。 启动 Apache Tomcat 服务器后,我在日志中收到以下错误:

原因:java.lang.RuntimeException:无法获取连接:无法创建 PoolableConnectionFactory(致命:用户“postgres”的密码验证失败)

原因:org.apache.commons.dbcp.SQLNestedException:无法创建 PoolableConnectionFactory(致命:用户“postgres”的密码验证失败)

原因:org.postgresql.util.PSQLException: FATAL: 用户“postgres”的密码验证失败

错误 [geotools.jdbc] - 有代码使用基于 JDBC 的数据存储,但没有处理它们。这可能会导致数据库连接暂时丢失。请确保所有数据访问代码都调用 DataStore.dispose(),然后再释放对它的所有引用。

【问题讨论】:

  • 您正尝试以用户“postgres”的身份连接到您的数据库,并且密码不正确或未在 pg_hba.conf 文件中为“postgres”启用密码验证。有关详细信息,请参阅手册。
  • 实际上,该应用程序在服务器中运行良好。通过服务器 URl 访问,它在我的机器上运行良好.... iam 面临的问题是。当我在我的机器上通过 eclipse 部署和运行相同的代码时。以前它在我的本地主机中运行良好。但是突然,我遇到了这个问题
  • 如果是“突然”,那么有些事情发生了变化。什么?无论如何,正如我的评论所说,错误很清楚。

标签: postgresql tomcat gis geoserver


【解决方案1】:

可能导致这种情况突然发生的一件事是 PostgreSQL 中的密码过期,尽管这并不常见。密码很可能在一侧发生了更改,因此请先检查。

PostgreSQL 允许您指定密码在特定时间戳过期。所以你可以:

 ALTER USER foo WITH PASSWORD 'bar' VALID UNTIL 'tomorrow';

而 foo 将能够在系统时间的第二天使用密码“bar”登录....

所以如果你可以验证双方的密码没有改变,试试这个:

ALTER USER foo WITH VALID UNTIL 'infinity';

当然用你的真实用户替换foo。这将清除任何过期时间,或者更确切地说,将过期时间无限期地移到未来。

【讨论】:

    【解决方案2】:

    我认为这很可能是 postgres 用户被配置为只接受来自本地机器的登录。您需要将其配置为接受来自您登录的机器名称或 IP 地址的登录,或者更好地创建一个仅具有登录所需权限的新用户,而不是使用默认的管理员 postgres 用户。即使您在同一台机器上使用 eclipse 也可能会使您看起来好像来自不同的机器,具体取决于您的配置。

    请参阅herehere 了解配置此类访问权限

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-24
      • 2011-06-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多