背景

由于项目的需要,使用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

Windows安装PostgreSQL数据库 无法初始化数据库问题的更多相关文章

  1. 1.Windows安装PostgreSQL

    按照下面的步骤,Windows机器上安装PostgreSQL.请确保已开启第三方防病毒,同时安装. 挑选你想要的PostgreSQL的版本号,可以点击以下链接下载 EnterpriseDB Windo ...

  2. 【EF6学习笔记】(一)Code First 方式生成数据库及初始化数据库实际操作

    本篇参考原文地址: Creating an Entity Framework Data Model 说明:学习笔记参考原文中的流程,为了增加实际操作性,并能够深入理解,部分地方根据实际情况做了一些调整 ...

  3. EF6 学习笔记(一):Code First 方式生成数据库及初始化数据库实际操作

    EF6 学习笔记总目录:ASP.NET MVC5 及 EF6 学习笔记 - (目录整理) 本篇参考原文地址: Creating an Entity Framework Data Model 说明:学习 ...

  4. Redis windows安装配置与Jedis访问数据库

    一 Redis概要 Redis是一个开源的使用ANSI C语言编写.遵守BSD协议.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API.它通常被称为数据结构服务器 ...

  5. 【ABP.Net】2.多数据库支持&&初始化数据库

    abp默认连接的数据库是MSSQL,但是在开发过程中往往很多开发者不满足于mssql. 所以这里演示一下把mssql改成postgresql,来进行接下来的系统开发. abp的orm是用EF的.那么我 ...

  6. Windows 安装PostgreSQL

    下载二进制包:https://www.enterprisedb.com/download-postgresql-binaries 直接解压到C盘 Microsoft Windows [版本 6.3.9 ...

  7. Windows安装PostgreSQL解压版

    PostgreSQL下载地址:https://www.enterprisedb.com/downloads/postgres-postgresql-downloads windows版,务必装在C盘! ...

  8. windows安装PostgreSQL

    犹豫了一小下,初学不在linux下安装sql,虽然说书上有,还是想记录一下,以后好找 入门的书籍是SQL基础教程第二版,图书馆搜刮来的,毕竟要还 下载页面 http://www.enterprised ...

  9. CentOS7安装Postgresql

    执行命令 Yum install postgresql-server Yum install postgresql-contrib 安装完成后,检查postgresql的服务状态 Systemctl ...

随机推荐

  1. 推荐一个 MYSQL 的命令行的客户端 MYCLI

    MYCLI 是一个 MySQL 命令行客户端工具 , 可以实现自动补全(auto-completion)和语法高亮,平时测试环境维护一些数据还是蛮方便的. https://github.com/dbc ...

  2. 【JAVA】抽象类,抽象方法

    抽象类不能被实例化,有两个特点: 必须继承才有它的用途: 不能描述对象: 抽象方法: 具体实现由子类决定,最终子类必须实现: 没有方法体: 说明: 抽象类不一定包含抽象方法,抽象方法一定是抽象类.

  3. 如何测试你给客户端app开的接口

    这里介绍一款工具用于测试后台给客户端开的接口. 采用http或者https 采用表单或者json格式 这款工具之前是谷歌浏览器的一款插件,后来出现了各个平台的客户端.非常实用. 名叫postman 官 ...

  4. java多线程下的所的概念

    锁和synchronized关键字     为了同步多线程,Java语言使用监视器(monitors),一种高级的机制来限定某一 时刻只有一个线程执行一段受监视器保护的代码.监视器的行为是通过锁来实现 ...

  5. mongo学习使用记录2 spring data

    spring data mongo 打印mongo NoSql语句 log4j.properties log4j.rootLogger=INFO, stdout log4j.logger.org.sp ...

  6. 【React 资料备份】React v16.3之后的生命周期

    React v16.4 的生命周期图 React v16.4 的生命周期 变更缘由 原来(React v16.0前)的生命周期在React v16推出的Fiber之后就不合适了,因为如果要开启asyn ...

  7. 3D转弯保护区长啥样?

    3D转弯保护区长啥样? 2015-12-06 刘崇军 风螺旋线 在课本中.规范中看到的转弯保护区一直是平面化的样子.我们知道副区是由主区外扩而成,但具体怎样精确外扩无从知晓:我们知道主区边界至副区边界 ...

  8. set集合容器(常用的使用方法总结)

     关于C++STL中set集合容器的学习,看别人的代码一百遍,不如自己动手写一遍. 构造set集合容器的目的是为了去重+排序+快速搜索.由于set集合容器实现了红黑树多的平衡二叉检索树的数据结构,在插 ...

  9. ELK环境搭建完整说明

    ELK环境搭建完整说明 ELK:ElasticSerach.Logstash.Kibana三款产品名称的首字母集合,用于日志的搜集和搜索.简单地理解为我们可以把服务端的日志(nginx.tomcat等 ...

  10. 什么是 Spring AOP 和代理

    https://mbd.baidu.com/newspage/data/landingsuper?context=%7B%22nid%22%3A%22news_9403056301388627935% ...