Windows 11 升级、还原、备份 PostgreSQL 数据库之后无法登录,重置 PostgreSQL 用户密码

在升级或备份PostgreSQL后无法登录?按照步骤重置密码:1)打开管理员命令提示符;2)进入PostgreSQLbin目录;3)停止服务;4)修改pg_hba.conf信任模式;5)启动服务;6)使用psql命令行工具更改密码;7)恢复pg_hba.conf的安全设置;8)重启服务。
摘要由CSDN通过智能技术生成

如果您在将 Windows 11 升级、还原、备份 PostgreSQL 数据库之后无法登录,可能需要重置 PostgreSQL 用户密码。下面是重置 PostgreSQL 密码的步骤:

  1. 打开命令提示符或 PowerShell 窗口(以管理员身份运行)。

  2. 进入 PostgreSQL 安装的 bin 目录。例如,如果 PostgreSQL 安装在 C:\Program Files\PostgreSQL\13 目录中,则在命令提示符或 PowerShell 中运行以下命令:

    cd "C:\Program Files\PostgreSQL\13\bin"
    
  3. 以管理员身份运行以下命令,停止 PostgreSQL 服务:

    pg_ctl stop -D "C:\Program Files\PostgreSQL\13\data"
    
  4. 以管理员身份运行以下命令,打开 pg_hba.conf 文件:

    notepad "C:\Program Files\PostgreSQL\13\data\pg_hba.conf"
    

    注意:如果您使用的是 PowerShell,请将“notepad”替换为“Start-Process”命令,因为在 PowerShell 窗口中无法直接打开文本编辑器。

  5. 将文件中的所有内容复制到文本编辑器中,并将“method”列中每个用户的值改为“trust”,如下所示:

    # TYPE  DATABASE        USER            ADDRESS                 METHOD
    
    # "local" is for Unix domain socket connections only
    local   all             all                                     trust
    # IPv4 local connections:
    host    all             all             127.0.0.1/32            trust
    # IPv6 local connections:
    host    all             all             ::1/128                 trust
    # Allow replication connections from localhost, by a user with the
    # replication privilege.
    local   replication     all                                     trust
    host    replication     all             127.0.0.1/32            trust
    host    replication     all             ::1/128                 trust
    

    请注意,这将允许任何人在不需要密码的情况下登录到 PostgreSQL。

  6. 保存并关闭文本编辑器。

  7. 以管理员身份运行以下命令,启动 PostgreSQL 服务:

    pg_ctl start -D "C:\Program Files\PostgreSQL\13\data"
    
  8. 以管理员身份运行以下命令,登录到 PostgreSQL:

    psql -U postgres
    

    注意:如果您使用的是 PowerShell,则需要在登录命令之前使用“-noexit”选项,以便在退出 psql 时窗口不会关闭:

    Start-Process -FilePath "C:\Program Files\PostgreSQL\13\bin\psql.exe" -ArgumentList "-U postgres" -NoExit
    
  9. 在 psql 提示符下,输入以下命令以更改密码:

    ALTER USER yourusername WITH PASSWORD 'newpassword';
    

    其中“yourusername”是要更改密码的用户名,“newpassword”是新密码。

  10. 退出 psql:

    \q
    
  11. 以管理员身份运行以下命令,打开 pg_hba.conf 文件:

    notepad "C:\Program Files\PostgreSQL\13\data\pg_hba.conf"
    
  12. 恢复 pg_hba.conf 文件并重新打开密码认证。

  13. 以管理员身份运行以下命令,重新启动 PostgreSQL:

```
pg_ctl restart -D "C:\Program Files\PostgreSQL\13\data"
```

完成上述步骤后,应该可以使用新密码登录到 PostgreSQL。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值