以windows服务方式快速部署免安装版Postgres数据库
以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数据库的更多相关文章
- 免安装版MySQL8数据库的安装
[环境准备] PC版本:Windows10企业版.64位操作系统 数据库:MySQL8.0.12-win64.zip免安装版 [彻底卸载已安装的MySQL数据库] 由于系统中MySQL数据库的卸载不彻 ...
- windows下Mysql5.7.10免安装版配置
免安装配置: 在环境变量 Path 中追加 %mysql_home%\bin; 配置mysql目录下的 my-default.ini 文件,在mysql 根目录下新建 data 文件夹 使用管理员权限 ...
- win7 + MySQL 5.6.35 免安装版部署
之前项目开发一直用的asp.net技术,所以数据库自然而然的就用的Sql Server了,最近想着手看一下MySQL数据库,部署免安装版的MySQL的过程记录一下. 准备工作:window 7 6 ...
- mysql免安装版初次使用
在自己电脑上安装一个mysql数据库并启动,碰到一些问题,总结一下 1.下载免安装版mysql数据库,百度下载了了5.7.25版本 2.在bin文件夹下找到my-defaults.ini文件,我这没有 ...
- MYSQL 免安装版(windows 7/64)
本文介绍在本地安装MYSQL数据库,免安装版相关配置 一.下载 mysql下载地址1:http://dev.mysql.com/downloads/mysql/ 二.解压MySQL压缩包 将已下载的M ...
- 以Windows服务方式运行.NET Core程序
在之前一篇博客<以Windows服务方式运行ASP.NET Core程序>中我讲述了如何把ASP.NET Core程序作为Windows服务运行的方法,而今,我们又遇到了新的问题,那就是: ...
- [转帖]以Windows服务方式运行.NET Core程序
以Windows服务方式运行.NET Core程序 原作者blog:https://www.cnblogs.com/guogangj/p/10093102.html 里面使用了NSSM 工具 但是自己 ...
- 连表查询都用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%我不知道在 ...
- Windows服务的快速搭建与调试(C#图解)
Windows服务的快速搭建与调试(C#图解) 目录 一.什么是Windows 服务? 二.创建Windows 服务与安装/卸载批处理. 三.调试Windows 服务. 正文 一.什么是Windo ...
随机推荐
- hdu 6201 【树形dp||SPFA最长路】
http://acm.hdu.edu.cn/showproblem.php?pid=6201 n个城市都在卖一种书,该书的价格在i城市为cost[i],商人打算从某个城市出发到另一个城市结束,途中可以 ...
- C++四:继承与派生
C++四:继承与派生 一.概念 继承就是从先辈处得到属性和行为特性.类的继承,是指新的类从已有类的那里得到的特性.类的派生,就是指已有类产生新类的过程. 二.应用 定义为 class 派生类名: ...
- oracle函数 ROW_NUMBER()
[语法]ROW_NUMBER() OVER (PARTITION BY COL1 ORDER BY COL2) [功能]表示根据COL1分组,在分组内部根据 COL2排序,而这个值就表示每组内部排序后 ...
- 规模化落地云原生,阿里云即将重磅亮相 KubeCon China
2019 年 6 月 24 日至 26 日, 由 Cloud Native Computing Foundation (CNCF) 主办的云原生技术大会 KubeCon + CloudNativeCo ...
- Android Tween和Frame 动画
关于动画的实现,Android提供了Animation,在Android SDK介绍了2种Animation模式: 1. Tween Animation:通过对场景里的对象不断做图像变换(平移.缩放. ...
- python---异常处理与反射
一.异常处理 1.异常基础 在编程过程中为了增加友好性,在程序出现bug时一般不会将错误信息显示给用户,而是现实一个提示的页面,通俗来说就是不让用户看见大黄页!!! try: pass except ...
- JDK8中`Optional.orElse()` 和`Optional.orElseGet()`之间的区别
看例子就明白了 ``` static String B() { System.out.println("B()..."); return "B"; } publ ...
- CH1401 兔子与兔子
#include<bits/stdc++.h> using namespace std; ,p=; typedef unsigned long long ULL;//自然溢出 ULL f[ ...
- JIRA管理员、用户密码重置
-- Jira数据库中,用户信息都存放在表 cwd_user中 -- 切换到jiar数据库 use jiradb; -- 更改密码为sphere update cwd_user set credent ...
- Spark JDBC系列--Mysql tinyInt字段特殊处理
当spark取出表的scheme中,类型名为tinyint的字段,会被处理为Boolean型.而mysql中tinyint的sqlType都会默认处理为bit,所以如果数据库中的这类字段中,存储了0. ...