以windows服务方式快速部署免安装版Postgres数据库

1、下载Postgresql数据库免安装包

下载地址

https://www.enterprisedb.com/download-postgresql-binaries

如下图:

这次我直接下载最新的12.1的免安装的包。

文件的下载链接:

http://get.enterprisedb.com/postgresql/postgresql-12.1-3-windows-x64-binaries.zip

下载的文件名:

postgresql-12.1-3-windows-x64-binaries.zip

2、安装环境准备及验证

解压文件

解压下载好的安装包至安装目录,我直接安装到本机的C:\Program Files\PostgreSQL\pgsql 目录。

最终的目录结构如下图:


测试环境依赖

通过cmd命令窗口进入到bin 目录,执行如下命令

C:\Program Files\PostgreSQL\pgsql\bin>pg_ctl --help

如果成功执行不报错,并且输出如下,则说明本机不缺少依赖包。

注意:cmd必须以管理员身份运行

如果出现报错,提示缺少xxx,请安装vc的运行组件后再次尝试。

vc_redist.x86.vc2015.14.0.23026.exe

下载链接:

https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads

3、创建并初始化数据目录

创建数据目录

我的环境数据目录位于: D:\PGData,已经提前新建此目录,确保此目录存在

初始化数据目录

指定超级管理员用户名:postgres,通过cmd命令窗口进入到bin 目录,执行如下命令,

C:\Program Files\PostgreSQL\pgsql\bin>initdb -D "D:\PGData" -E UTF-8 --locale=chs -U postgres -W

执行成功后如下图:

通过 -W 参数会提示输入超级用户密码

注意权限问题,如果数据目录是在c盘,则需要给user添加完全控制权限

5、配置postgres数据库

配置文件位于数据目录:D:\PGData,如下图

打开并修改postgresql.conf

通过文本编辑工具,打开postgresql.conf,修改listen_addresses参数

修改前:

修改后:

打开并修改pg_hba.conf

通过文本编辑工具,打开postgresql.conf,新增一条授权,允许通过远程主机(不限制IP),通过加密密码的方式进行数据库访问

修改之后,如下图:

4、安装服务

以管理员身份进入到C:\Program Files\PostgreSQL\pgsql\bin 目录,运行命令将数据库以windows服务的方式运行管理:

C:\Program Files\PostgreSQL\pgsql\bin\pg_ctl register -D "D:\PGData" -N postgresql-12_1_3-x64 -S auto -U "NT AUTHORITY\LocalService"

账户权限说明:

账户名称 账户标识
本地服务 NT AUTHORITY\LocalService
网络服务 NT AUTHORITY\NetworkService

安装成功后如下图:

然后进入windows服务管理器,启动服务:

若服务启动失败,或者需要更换数据存放目录可以取消注册服务:

C:\Program Files\PostgreSQL\pgsql\bin\pg_ctl unregister -N postgresql-12_1_3-x64

6、创建用户、数据库

连接数据库

打开cmd窗口,通过psql终端测试数据库是否可用,使用超级用户postgres连接默认的postgres数据库,执行如下命令:

C:\Users\admin>psql -d postgres -U postgres

连接成功后如下图:

创建用户、数据库

  • 创建用户
CREATE USER dba WITH PASSWORD 'dba' SUPERUSER;

  • 创建数据库
CREATE DATABASE exampledb OWNER dba;

  • 切换用户及数据库
\c exampledb dba;

到此,postgres数据库的搭建已经完成,接下来可以愉快的使用了。

以windows服务方式快速部署免安装版Postgres数据库的更多相关文章

  1. 免安装版MySQL8数据库的安装

    [环境准备] PC版本:Windows10企业版.64位操作系统 数据库:MySQL8.0.12-win64.zip免安装版 [彻底卸载已安装的MySQL数据库] 由于系统中MySQL数据库的卸载不彻 ...

  2. windows下Mysql5.7.10免安装版配置

    免安装配置: 在环境变量 Path 中追加 %mysql_home%\bin; 配置mysql目录下的 my-default.ini 文件,在mysql 根目录下新建 data 文件夹 使用管理员权限 ...

  3. win7 + MySQL 5.6.35 免安装版部署

    之前项目开发一直用的asp.net技术,所以数据库自然而然的就用的Sql Server了,最近想着手看一下MySQL数据库,部署免安装版的MySQL的过程记录一下. 准备工作:window 7   6 ...

  4. mysql免安装版初次使用

    在自己电脑上安装一个mysql数据库并启动,碰到一些问题,总结一下 1.下载免安装版mysql数据库,百度下载了了5.7.25版本 2.在bin文件夹下找到my-defaults.ini文件,我这没有 ...

  5. MYSQL 免安装版(windows 7/64)

    本文介绍在本地安装MYSQL数据库,免安装版相关配置 一.下载 mysql下载地址1:http://dev.mysql.com/downloads/mysql/ 二.解压MySQL压缩包 将已下载的M ...

  6. 以Windows服务方式运行.NET Core程序

    在之前一篇博客<以Windows服务方式运行ASP.NET Core程序>中我讲述了如何把ASP.NET Core程序作为Windows服务运行的方法,而今,我们又遇到了新的问题,那就是: ...

  7. [转帖]以Windows服务方式运行.NET Core程序

    以Windows服务方式运行.NET Core程序 原作者blog:https://www.cnblogs.com/guogangj/p/10093102.html 里面使用了NSSM 工具 但是自己 ...

  8. 连表查询都用Left Join吧 以Windows服务方式运行.NET Core程序 HTTP和HTTPS的区别 ASP.NET SignalR介绍 asp.net—WebApi跨域 asp.net—自定义轻量级ORM C#之23中设计模式

    连表查询都用Left Join吧   最近看同事的代码,SQL连表查询的时候很多时候用的是Inner Join,而我觉得对我们的业务而言,99.9%都应该使用Left Join(还有0.1%我不知道在 ...

  9. Windows服务的快速搭建与调试(C#图解)

    Windows服务的快速搭建与调试(C#图解)   目录 一.什么是Windows 服务? 二.创建Windows 服务与安装/卸载批处理. 三.调试Windows 服务. 正文 一.什么是Windo ...

随机推荐

  1. 使用 Linux Centos Docker 安装 2Bizbix

    在 Docker 安装 2Bizbix 安装 Centos 7 安装 mysql5.5 镜像 映射好数据库的配置文件和数据库目录 在 Windows 安装 2Bizbox 安装 jboss/base- ...

  2. (转)理解inode

    作者:阮一峰 原文链接:http://www.ruanyifeng.com/blog/2011/12/inode.html 一.inode是什么? 理解inode,要从文件储存说起. 文件储存在硬盘上 ...

  3. Vue.js 第2章 钩子函数&自定义指令&过滤器&计算属性&侦听器

    目标 钩子函数 自定义指令 自定义过滤器 计算属性 监听属性 局部自定义指令 为什么需要自定义指令 为了复用,为了代码的灵活 指令的分类:全局指令,局部指令 在vm外面创建的指令 通过Vue.dire ...

  4. 自定义View系列教程07--详解ViewGroup分发Touch事件

    深入探讨Android异步精髓Handler 站在源码的肩膀上全解Scroller工作机制 Android多分辨率适配框架(1)- 核心基础 Android多分辨率适配框架(2)- 原理剖析 Andr ...

  5. Django之内置组件

    Django组件介绍       分页器的使用       Form       modelForm       orm       cookie和session       中间件       信号 ...

  6. @bzoj - 2388@ 旅行规划

    目录 @description@ @solution@ @accepted code@ @details@ @description@ 请你维护一个序列,支持两种操作: (1)某个区间 [x, y] ...

  7. uniapp点击底部tabbar不跳转页面

    一个项目,其设想是这样的,当我进入页面,发现有新版本,提示用户之后,用户点击确定跳转到下载页面. 弹出框要用自己封装的,因为uniapp的弹出框不同的手机上展示的样子不一样,领导的是华为(在这里悄悄吐 ...

  8. PHP导入导出Excel方法小结

    基本上导出的文件分为两种: 1:类Excel格式,这个其实不是传统意义上的Excel文件,只是因为Excel的兼容能力强,能够正确打开而已.修改这种文件后再保存,通常会提示你是否要转换成Excel文件 ...

  9. 纯JS前端分页方法(JS分页)

    1.JS分页函数:开发过程中,分页功能一般是后台提供接口,前端只要传page(当前页码)和pageSize(每页最大显示条数)及对应的其他查询条件,就可以返回所需分页显示的数据. 但是有时也需要前端本 ...

  10. ERROR 1366 (HY000): Incorrect string value: '\xD5\xC5\xC8\xFD' for column 'name' at row 1

    ERROR 1366 (HY000): Incorrect string value: '\xD5\xC5\xC8\xFD' for column 'name'  at row 1   数据库字符集问 ...