解决postgresql初始化失败的方法

这篇文章将为大家详细讲解有关解决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

初始化后,需要输入新的用户密码,用于登录数据库。

解决postgresql初始化失败的方法

启动数据库

D:\Dev\PostgreSQL\10\bin>pg_ctl.exe -D D:\Dev\PostgreSQL\10\data -l logfile start

解决postgresql初始化失败的方法

注册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初始化失败的方法就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。


本文名称:解决postgresql初始化失败的方法
标题网址:http://scyanting.com/article/ijoieh.html