在列出不存在的角色名称时,如何在PostgreSQL(psql)中重置密码?

发布于 2025-01-23 14:30:47 字数 1247 浏览 0 评论 0原文

我已经安装了很长时间的PostgreSQL,但目前只是在学习它。


如果我运行psql 在命令提示符中发生了什么事

  c:\ users \ vandarsq> psql 
用户Vanda Rashq的密码:
 

由于我忘记了vanda rashq角色的密码,但我记得postgres角色,i run psql -u Postgres


我尝试使用du 命令列出角色,结果是:

我还尝试了使用从pg_roles中选择rolname 命令和收益:

“


我试图关注此教程>但它返回错误:角色“ Vanda Rashq”不存在

我的问题是,“ Vanda Rashq”角色实际上仍然存在吗?如果是,则如何重置(更改)密码,以防我忘记密码?如果没有,如何将psql postgres 角色


注释:注释时, 如何更改默认角色目录,但是当我尝试运行psql时,它仍然会问用户Vanda Rashq的密码

I have installed PostgreSQL for a long time but just currently learning it.


Here is what happened if I run psql in the command prompt

C:\Users\VandaRsq>psql 
Password for user Vanda Rashq:

Since I forgot the password for the Vanda Rashq role but I remember for the postgres role, I run psql -U postgres.


I tried to list the role by using du command and the result is this:
du

I also tried using SELECT rolname FROM pg_roles command and yield:

select


I have tried to follow this tutorial and do ALTER USER "Vanda Rashq" WITH PASSWORD 'new_password'; but it returns ERROR: role "Vanda Rashq" does not exist

My question is, does the "Vanda Rashq" role actually still exist? If yes, how to reset (change) the password in case I forgot the password? If not, how to change the default role when running psql to postgres role


Notes: I have tried to uninstall the PostgreSQL and remove all of the directories but when I try to run psql, it still ask Password for user Vanda Rashq

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

无力看清 2025-01-30 14:30:47

如果您要寻找的用户在psql中调用\ du后未列出,则数据库中不存在用户。

顺便说一句,您还可以使用选择来检索有关数据库用户的信息:select * select * from pg_catalog.pg_user;

edit:

@jjanes of @jjanes指出,您会挑战基于密码的挑战在user pg_hba.conf 中的配置上。

对于身份验证方法peer,它被说明:

从操作系统获取客户端的操作系统用户名,并检查它是否与所请求的数据库用户名匹配。

If the user you're looking for is not listed after calling \du in psql then the user does not exist in the database.

Btw, you could also use a select to retrieve information about database users: select * from pg_catalog.pg_user;

EDIT:

Like @jjanes pointed out you get challenged for a password based on the USER configuration in yourpg_hba.conf (see docs).

For authentication method peer it is stated:

Obtain the client's operating system user name from the operating system and check if it matches the requested database user name.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文