【问题标题】:postgresql data directory not connectingpostgresql数据目录未连接
【发布时间】:2015-05-25 00:17:08
【问题描述】:

我使用的是 Windows 8。 我的 Postgres 是正确的。 我刚刚从C:/postgresql/8.3/ 拿了数据目录 现在数据库已通过命令提示符连接。 当我尝试使用 pgadmin 连接时,它说

FATEL: error
An error has occured:
Error connecting to sthe server: FATAL: role "postgres" is not permitted to log in

我在 pg_hba.conf(信任)和 postgresql.conf(连接 *)(端口 5433)中更改了所需的东西

但是,还是无法连接数据库。

如何将权限授予 postgres 角色。 当我试图通过 cmd 授予权限时,它也会给出同样的错误。

我在很多方面都受到了考验 但是,我仍然没有得到数据库。

【问题讨论】:

  • 您使用的是 PostgreSQL 8.3 版本,因为您无法从与当前使用的版本不同的版本中获取数据目录。它是导入的数据目录还是全新安装 - 数据库登录角色是否有任何更改? “现在数据库已通过命令提示符连接” - 您的意思是您可以通过psql 连接到数据库吗?
  • 问题似乎更适合服务器故障
  • 是的,直接数据和当前安装的postgres版本都相同(8.3),我没有通过psql连接到数据库........我只是使用cmd启用数据库.. .......如果我们在 C:/postgres/8.3/sample/data 中有数据目录,那么我们可以在 cmd 的帮助下启用数据目录中可用的数据库,命令是 C:/*** /8.3/bin>postgres.exe -D -p5433 5433 是更改的端口。必须在数据目录 postgresql.conf 文件中更改
  • 然后它将在数据目录中创建 .pid 文件现在我们可以确认数据库已成功启用然后我们可以通过 psql 或 pgadmin III 连接到该端口当我尝试以这种方式连接数据库时使用当前(新安装的数据)数据目录已成功连接。但是当我试图连接旧数据(currepted 数据库数据目录)目录时,它说角色 postgres 不允许登录我该怎么办?请给我建议
  • 否则我只是替换新安装的 postgres/8.3 文件夹中的旧数据目录然后它也给出相同的错误只是帮助我连接我的数据库版本相同并修改 hba-conf(trust) 和 postgresql .conf 文件也提前谢谢

标签: postgresql permissions role


【解决方案1】:

您可能不小心撤销了postgres 用户的LOGINSUPERUSER 权限。也许您创建了一个具有不同名称的超级用户?如果您这样做了,请以该用户身份登录。

如果没有,并且您无法以用户 postgres 的身份访问,您将需要在 单用户模式 下启动数据库引擎并手动 GRANT SUPERUSER 正确再次发送至postgres。这与从已删除(已删除)的超级用户帐户恢复时所需的过程大致相同。

查看相关:

顺便说一句,8.3 是一个非常旧且不受支持的版本。及时计划升级。

如果 PostgreSQL 中没有您关心的数据,最简单的做法是:

  • 卸载 PostgreSQL 8.3;
  • 删除C:\Program Files\PostgreSQL\8.3(永久且不可恢复地破坏您的PostgreSQL数据库中的所有数据);和
  • 安装当前的 PostgreSQL 版本

【讨论】:

    猜你喜欢
    • 2018-06-24
    • 1970-01-01
    • 2021-11-05
    • 2019-07-17
    • 2017-04-23
    • 2020-11-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多