附录

附录

我认为,我不小心将我的用户更改为不允许登录的角色。现在我甚至无法登录以授予该角色登录权限。我能做些什么吗?

我认为只有 1 个用户,如果我不能先登录,我不知道如何列出所有用户。

谢谢

附录

我重新安装了 postgres,但似乎没有 postgres 用户存在。我通过 brew 安装了它:

根据 psql 的用户和角色

答案1

主超级用户帐户由 initdb 在运行时设置,并将默认为当前系统用户名,而不是 postgres,除非给出显式的 -u/--username 参数。从上面的\du输出可以清楚地看出,当您设置服务器时,您使用 laygr 系统用户进行设置,因为该用户是数据库服务器的主超级用户帐户。

如果您弄乱了登录权限或忘记了密码,您可以返回服务器(如果您有其数据目录的写权限)以便能够编辑 pg_hba.conf。只需将相关行上的 auth-method 更改为trust并通过 重新加载服务器的配置pg_ctl reload。然后您可以登录、修复您的用户/密码,然后恢复对 pg_hba.conf 所做的更改并再次重新加载配置。

答案2

使用默认用户postgres登录并重新启用您的帐户。当然,您需要知道postgres用户的密码...

相关内容