我使用的是windows 8。我的研究生是正确的。我刚从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授予权限时,它也给出了相同的错误。
我在很多方面都受到了考验但是,我仍然没有得到数据库。
看起来您可能意外地从postgres
用户处吊销了LOGIN
和SUPERUSER
权限。也许您创建了一个具有不同名称的超级用户?以该用户身份登录(如果已登录)。
如果不是,并且您无法以用户postgres
的身份访问,则需要在单用户模式下启动数据库引擎,然后手动将GRANT
的SUPERUSER
右侧再次postgres
。这与从已删除的超级用户帐户中恢复所需的过程大致相同。
参见相关内容:
- https://dba.stackexchange.com/q/44586/7788
- Postgres在PostgreSQL服务器8.4中重置密码
BTW,8.3是一个非常旧且不受支持的版本。及时计划升级。
如果PostgreSQL中没有你关心的数据,那么最简单的方法就是:
- 卸载PostgreSQL 8.3
- 删除
C:Program FilesPostgreSQL8.3
(永久且不可恢复地销毁PostgreSQL数据库中的所有数据);以及 - 安装当前PostgreSQL版本