答案1
主超级用户帐户由 initdb 在运行时设置,并将默认为当前系统用户名,而不是 postgres,除非给出显式的 -u/--username 参数。从上面的\du
输出可以清楚地看出,当您设置服务器时,您使用 laygr 系统用户进行设置,因为该用户是数据库服务器的主超级用户帐户。
如果您弄乱了登录权限或忘记了密码,您可以返回服务器(如果您有其数据目录的写权限)以便能够编辑 pg_hba.conf。只需将相关行上的 auth-method 更改为trust
并通过 重新加载服务器的配置pg_ctl reload
。然后您可以登录、修复您的用户/密码,然后恢复对 pg_hba.conf 所做的更改并再次重新加载配置。
答案2
使用默认用户postgres
登录并重新启用您的帐户。当然,您需要知道postgres
用户的密码...