Windows10安装PostgreSQL报账号名称与安全ID无映射错误如何解决
PostgreSQL Windows 10 安装映射报错排查与解决
报错提示:No Mapping between account name and security IDs
该报错触发于PostgreSQL安装程序初始化服务账户阶段,核心原因是Windows系统无法完成账户名与对应安全标识符(SID)的映射转换,之前尝试的修改日志配置、切换普通用户、管理员权限运行均未触及账户映射的核心问题,可按照以下步骤排查解决:
前置排查步骤
- 检查本地是否存在残留postgres账户:右键「此电脑」选择「管理」,进入「本地用户和组-用户」路径,若存在名为
postgres的遗留账户,右键删除后重启设备再尝试安装。 - 检查当前登录用户名是否合法:若当前Windows用户名包含中文、特殊符号、emoji等非ASCII字符,会导致安装程序读取账户信息失败,可临时创建一个全英文命名的管理员账户,登录后再运行安装程序。
- 检查本地安全策略配置:按下
Win+R输入secpol.msc打开本地安全策略,依次进入「本地策略-用户权限分配」,确认「允许本地登录」「作为服务登录」两个配置项中已添加Administrators组,若缺失手动补充后重启。
可行解决方法
- 方法一:手动指定现有服务账户安装
运行安装程序到服务配置步骤时,不使用默认新建的postgres账户,直接选择使用现有管理员账户,用户名填写.\Administrator,密码输入对应管理员账户的登录密码,即可跳过新建账户的SID映射校验环节。 - 方法二:命令行静默安装跳过校验
按下Win+X选择「Windows终端(管理员)」,切换到安装包所在目录后执行以下命令,将占位符替换为实际信息即可完成安装:postgresql-<版本号>-windows-x64.exe --serviceaccount <你的管理员账户名> --servicepassword <账户登录密码> --superpassword <postgres数据库超级用户密码> - 方法三:修复无效SID注册表项
按下Win+R输入regedit打开注册表编辑器,定位到路径:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList
逐个查看该路径下子项的ProfileImagePath值,删除指向已不存在用户的无效子项,重启设备后再尝试安装。 - 方法四:免安装包手动部署
下载PostgreSQL官方Windows免安装压缩包,解压到本地目录后手动执行初始化命令即可完成部署,全程不需要触发安装程序的账户校验逻辑。
内容的提问来源于stack exchange,提问作者Valerii
相关产品推荐
相关产品推荐

