由于项目的需要,使用PostgreSQL数据库,因此在Windows上安装PostgreSQL数据库。但是在安装后,无法访问本地数据库,这个时候查看/data目录,没有任何文件。而且安装过程中,弹出提示框
Problem running post-install step.Installation may not complete correctly the database cluster initialisation failed.
意思是:安装过程中,初始化数据库集群失败
操作系统:Windows 10 Pro
PostgreSQL版本:10.4-1
账号:非超级管理员账号
原因在Windows 10中,如果用的是Microsoft账号,则不是超级管理员,这个时候无法创建用户,导致通过安装包进行安装时,无法创建相应的DB用户。而且在账号中无法看到postgres这个用户,因此可猜测出,权限不足时,无法创建相应用户的账号,而无相应账号时,无法初始化DB。
解决方案 查看用户 net user 创建Postgres用户 net user postgres postgres /add 在数据库根目录建立data目录 D:\Dev\PostgreSQL\10>md data 移除超级管理员对data目录的权限 D:\Dev\PostgreSQL\10>cacls data /e /t /r administrator 处理目录:D:\Dev\PostgreSQL\10\data 将data目录的权限赋给postgres用户 D:\Dev\PostgreSQL\10>cacls data /e /t /r postgres:C 处理目录:D:\Dev\PostgreSQL\10\data 初始化数据库 D:\Dev\PostgreSQL\10\bin>initdb.exe -D ../data -E UTF-8 --locale=chs -U postgres -W初始化后,需要输入新的用户密码,用于登录数据库。