Win10 安装PostgreSQL,Windows10 安装PostgreSQL,postgresql-12.0-1,postgresql-11.5-2,po

虽然最新版PostgreSQL 12已经出来了,不过这里还是安装11:postgresql-11.5-2-windows-x64.exe ,安装步骤见预览图,不过一般Win10下会出现如下图错误:Problem running post-install step. Installation may not complete correctly The database cluster i

预览截图

应用介绍

虽然最新版PostgreSQL 12已经出来了,不过这里还是安装11:postgresql-11.5-2-windows-x64.exe ,安装步骤见预览图,不过一般Win10下会出现如下图错误:


Problem running post-install step. Installation may not complete correctly The database cluster initialisation failed. 

意思就是数据库服务初始化失败

这种情况可能网上解决办法很多,但不一定有效,在这里的原因是因为postgresql安装目录的权限问题,解决办法有几种:

一、使用官方提供的二进制版(即免安装版:postgresql-11.5-2-windows-x64-binaries.zip),解压后设置所有文件夹的权限为完全控制,确定一个放数据的文件夹,并且权限也为完全控制;

    选中文件夹右键属性安全选择用户编辑权限勾选完全控制 

    

    注:如果首先设置好安装文件夹权限,然后直接安装到这个文件夹应该也可行(没有亲测,大家可以试试)

    下面开始免安装初始化操作:

    1、CMD进入命令操作窗口

    2、cd进入解压的数据库bin目录下

    3、执行命令initdb -D E:\Users\PostgreSQL11_Data -E UTF8 进行数据库初始化操作

            a. E:\Users\PostgreSQL11_Data为数据存放目录 

            b. 初始化一个名为postgres的数据库

    4、然后执行命令pg_ctl -D "E:\Users\PostgreSQL11_Data" -l logfile start 启动数据库

            a. 如果报错“....拒绝访问。”、“pg_ctl: 无法启动服务器进程”,还是因为权限没有给足,重新设置完全控制即可 

    5、启动数据库后,输入命令psql postgres进入PostgreSQL数据库操作命令行

    6、在数据库操作命令行输入create user root with superuser password 'aaaaaa';创建一个数据库超级用户root密码为六个小写a

            a. root是用户名

            b. aaaaaa是密码


二、如果已经安装,并且已经报错“Problem running post-install step. Installation may not complete correctly The database cluster initialisation failed. ”,这个时候我们也可以使用上面的方法解决问题;

    1、将安装目录PostgreSQL设置为完全控制,如图


    2、CMD进入命令操作窗口

    3、cd进入数据库安装目录下的bin目录


    3、执行命令initdb -D E:\Users\PostgreSQL11_Data -E UTF8 进行数据库初始化操作

            a. E:\Users\PostgreSQL11_Data为数据存放目录 

            b. 初始化一个名为postgres的数据库


    4、然后执行命令pg_ctl -D "E:\Users\PostgreSQL11_Data" -l logfile start 启动数据库

            a. 如果报错“....拒绝访问。”、“pg_ctl: 无法启动服务器进程”,还是因为权限没有给足,重新设置完全控制即可 



    5、启动数据库后,输入命令psql postgres进入PostgreSQL数据库操作命令行

    6、在数据库操作命令行输入create user root with superuser password 'aaaaaa';创建一个数据库超级用户root密码为六个小写a

            a. root是用户名

            b. aaaaaa是密码



三、使用Navicat连接PostgreSQL进行操作;

    1、Navicat的安装参考:https://www.mchweb.net/a/45.html 

    2、新建PostgreSQL连接,填写用户名密码即可,如下图:



四、由于没有注册服务,上面只要关闭命令窗口,Postgresql的服务就关闭无法连接;

    1、输入命令pg_ctl register -N "pgsql" -D "E:\Users\PostgreSQL11_Data"注册PostgreSQL服务 

            a. "pgsql"是服务名

            b. "E:\Users\PostgreSQL11_Data"是对应的数据存放目录,必需是绝对路径

    2、通过net start pgsql启动服务


注:Windows下服务操作常用命令:

停止服务:net stop mysql8

手动服务:sc config mysql8 start=demand

自动服务:sc config mysql8 start=auto

禁用服务:sc config mysql8 start=disabled

删除服务:sc delete mysql8



点赞(3) 打赏

Comment list 共有 0 条评论

暂无评论

微信小程序

微信扫一扫体验

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部