Postgresql忘记密码,如何重置密码

一、前言

系统:windows系统 64位
Postgresql 版本:Postgresql 14

今天想测试一个PostgresSQL语法的 SQL,但是打开PostgresSQL之后沉默了。密码是什么?
想来当初知识安装随便玩一下,也没有太留意记一下密码,结果日长月久的,渐渐就忘记了,于是开始了寻找密码的道路。一开始想着用pgAdmin重置,但似乎没有这样的按钮。上网找一找,发现还是有办法的,网友给力!

二、重置密码过程

2.1 修改配置文件

由于版本有一些差异,找到的教程中,pg_dba.conf文件的配置和我的文件配置也有所不同。教程配置文件如下:

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# IPv4 local connections:
host    all             all             127.0.0.1/32            trust
# IPv6 local connections:
host    all             all             ::1/128                 md5
# Allow replication connections from localhost, by a user with the
# replication privilege.
host    replication     all             127.0.0.1/32            md5
host    replication     all             ::1/128                 md5

我的配置文件如下:

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                    scram-sha-256
# IPv4 local connections:
host    all             all             127.0.0.1/32           scram-sha-256
# IPv6 local connections:
host    all             all             ::1/128                scram-sha-256
# Allow replication connections from localhost, by a user with the
# replication privilege.
local   replication     all                                    scram-sha-256
host    replication     all             127.0.0.1/32           scram-sha-256
host    replication     all             ::1/128                scram-sha-256

虽然配置文件不一样,但是处理方式大同小异,就是把相关的验证方式改为trust,改完之后就是免密登录的方式。
如果想了解具体是哪一个会生效,可以逐一测试,如果不想一个个测试,可以将全部都改为trust,后面修改完密码之后再改回来就可以了,为了安全起见,记得要改回来哦!(可以考虑备份,改完后直接替换)

2.2 重启windows服务

改完配置文件之后,可以使用调出服务,重启PostgreSQL Server服务。重启服务有几种方法:
方法一:用快捷键win+R,输入services.msc,回车或确定,然后会弹出系统服务界面,找到PostgreSQL Server服务,点击重启动即可。
在这里插入图片描述
方法二:如果你知道你的PostgreSQL Server服务的名称,也可以通过以下命令net关闭和打开服务

net stop  <your PostgreSQL Server name>
net start <your PostgreSQL Server name>

2.3 登录并重置密码

打开命令行,依次输入以下命令。注意修改密码的引号内填入自己新的密码。

psql -U postgres  -- 登录
ALTER USER postgres WITH PASSWORD '<your new password>';  -- 修改密码

在这里插入图片描述
修改好了,后面我就可以通过123456登录账户postgres了。

2.4 恢复配置文件

将刚刚修改的改回去。
将刚刚修改的改回去。
将刚刚修改的改回去。

另外,补充一点,配置文件刚刚修改的内容,其实都是登录数据库的方式。除了免密登录的trust,常用的两种就是:md5scram-sha-256

md5使用不太安全的质询-响应机制,它可以防止密码嗅探并避免以纯文本形式将密码存储在服务器上,但如果攻击者设法从服务器窃取密码哈希,则无法提供任何保护。此外,MD5 散列算法现在不再被认为可以抵御确定的攻击。但是,md5是目前使用较广泛的方法。
scram-sha-256也是一种质询-响应方案,可防止在不受信任的连接上嗅探密码,并支持以被认为是安全的加密散列形式将密码存储在服务器上。scram-sha-256是当前提供的方法中最安全的,但旧客户端库不支持它。

参考:
如何重置pgsql的密码

  • 10
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论
如果您忘记了PostgreSQL密码,可以按照以下步骤进行重置: 1. 打开pg_hba.conf文件,并将其中的配置改为md5加密方式。 2. 保存并关闭pg_hba.conf文件。 3. 重启PostgreSQL服务,以便使新的配置生效。 4. 打开命令行工具,输入以下命令来修改postgres账户的密码:ALTER USER postgres WITH PASSWORD '新密码'; 5. 输入新密码后,保存并关闭命令行工具。 6. 现在,您可以使用新密码来登录到PostgreSQL了。 请注意,以上步骤中的"新密码"指的是您希望设置的新密码。在重置密码时,请确保您具有足够的权限来修改postgres账户的密码PostgreSQL是一种功能强大的开源关系型数据库管理系统,它以其可靠性、稳定性和扩展性而闻名。如果您想了解更多关于PostgreSQL的特性、体系结构、数据类型、查询语言和高级功能等方面的信息,可以参考相关的文档和资源。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [PostgreSQL 忘记数据库密码怎么办?](https://blog.csdn.net/weixin_40986713/article/details/124198396)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Xin学数据

为你点亮一盏灯,愿你前进无阻。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值