You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

PostgreSQL 10卸载时删除postgres用户引发用户目录丢失问题求助

我完全理解你现在的困扰——用net user postgres /delete删除用户时,Windows默认会连带删除该用户的配置文件夹,这确实会误删不少重要内容。下面给你几个针对性的解决办法:

一、尝试恢复被删除的postgres用户文件夹
  • 优先检查回收站:打开系统回收站,搜索包含postgres的文件夹,找到后右键选择「恢复」,这是最快的恢复方式。
  • 用系统自带工具恢复:如果回收站里没有,试试Windows的文件恢复功能:
    1. 按下Win + X打开快捷菜单,选择「Windows PowerShell(管理员)」
    2. 执行命令:winfr C: D:\PostgresRecovery /regular /n \Users\postgres\*

      注意:把C:换成你的系统盘盘符,D:\PostgresRecovery是恢复文件的保存路径,可根据自己的情况修改

    3. 按照提示确认扫描,等待完成后即可在指定路径找到恢复的文件。
  • 第三方数据恢复工具:如果系统工具没找回,可尝试用Recuva这类工具(注意:恢复前别往系统盘写入新数据,避免覆盖被删除的文件)。
二、正确卸载PostgreSQL用户的操作流程(避免再次踩坑)

下次卸载PostgreSQL时,别直接删用户,按以下步骤来:

  1. 先停止并删除PostgreSQL服务:执行sc delete postgres_service10(这步你之前做的是对的)
  2. 手动备份用户文件夹:复制C:\Users\postgres到其他安全路径,里面可能包含数据库配置、日志等关键内容。
  3. 再删除用户:执行net user postgres /delete,此时就算文件夹被删,你也有备份兜底。
  4. 或者,想直接保留用户文件夹的话:打开「计算机管理」→「本地用户和组」→找到postgres用户→右键「属性」→取消勾选「删除用户时删除用户配置文件」,之后再删除用户即可。
三、数据无法恢复的补救方案

如果用户文件夹里的是数据库核心数据且没有备份,那可以重新初始化PostgreSQL实例:

  1. 重新安装PostgreSQL 10(用之前的安装包即可)
  2. 执行命令initdb -D "你的数据库数据目录"来初始化新实例
  3. 导入应用所需的数据库结构和数据(如果有之前的数据库备份文件的话)

内容的提问来源于stack exchange,提问作者poonam

火山引擎 最新活动