十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
创新互联www.cdcxhl.cn八线动态BGP香港云服务器提供商,新人活动买多久送多久,划算不套路!
阿城网站建设公司成都创新互联,阿城网站设计制作,有大型网站制作公司丰富经验。已为阿城上1000+提供企业网站建设服务。企业网站搭建\成都外贸网站建设公司要多少钱,请找那个售后服务好的阿城做网站的公司定做!这篇文章将为大家详细讲解有关解决postgresql初始化失败的方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
背景
由于项目的需要,使用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
初始化后,需要输入新的用户密码,用于登录数据库。
启动数据库
D:\Dev\PostgreSQL\10\bin>pg_ctl.exe -D D:\Dev\PostgreSQL\10\data -l logfile start
注册PostgresSQL服务
D:\Dev\PostgreSQL\10\bin>pg_ctl.exe register -N PostgreSQL -D D:\Dev\PostgreSQL\10\data
常用命令
启动PostgresSQL服务
net start PostgreSQL
停止PostgresSQL服务
net stop PostgreSQL
删除PostgresSQL服务
D:\Dev\PostgreSQL\10\bin>pg_ctl.exe unregister -N PostgreSQL
关于解决postgresql初始化失败的方法就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。