Windows 系统 PostgreSQL 手工安装配置方法
自从2020年底开始接触 PostgreSQL 以来就喜欢上了这个数据库,个人感觉比 MySQL 好用,多表联合查询性能好很多,同时也不存在 SQLServer 的版权授权费用问题。搭配 .NET 开发很好用,目前手里的项目全部都是采用 PostgreSQL 进行数据支撑的。
本文主要说一下在 Windows 系统中安装 PostgreSQL 的方法,我这里没有采用 exe 安装包的形式去安装,EDB 发布的那个 exe 安装包形式的对于中文环境数据库的排序规则设定有问题,所以我采用了官方 ZIP 压缩包形式解压后手动安装的形式。
先说一下安装包的获取方式,访问 https://www.postgresql.org/download/windows/

然后点击下载页面的 zip archive 就可以进入下载地址 https://www.enterprisedb.com/download-postgresql-binaries

目前最新稳定版是 PostgreSQL 14.5 点击就可以获取到我们所需要的 zip 压缩包了

这个压缩包原版总共有 280M 大小,但是其实里面有很多东西我们用不到,所以我这里经过和 exe 安装版的进行对比分析之后,整理了一个清理方案

默认其中包含有这些文件夹,我箭头标记的 doc, pgAdmin 4 , StackBuilder ,symbols 四个文件夹可以直接删除,然后进入 bin 目录,再删掉 stackbuilder 相关的一些文件即可,我贴了一个 bat 命令,大家可以直接在 bin 文件夹中执行下面的命令,对相关文件进行删除。
del stackbuilder.exe
del libcurl.dll
del wxbase313u_vc_x64_custom.dll
del wxbase313u_xml_vc_x64_custom.dll
del wxbase313ud_net_vc_x64_custom.dll
del wxmsw313u_adv_vc_x64_custom.dll
del wxmsw313u_core_vc_x64_custom.dll
del wxmsw313ud_aui_vc_x64_custom.dll
del wxmsw313ud_html_vc_x64_custom.dll
del wxmsw313ud_xrc_vc_x64_custom.dll

执行完清理方案之后,整个 PostgreSQL 的文件夹就只剩下 107M 大小了,压缩为 zip 格式之后只有 34.5M

大家可以把清理好之后的文件做一个压缩包各自保存起来,以后换别的电脑安装 PostgreSQL 的时候可以直接用自己弄好的这个压缩包。
接下来开始说如何进行安装 PostgreSQL,文件都准备好之后,首先把文件夹移动到准备安装的位置,我这里移动到了 D:\Software\PostgreSQL 路径
启动 cmd 进入我们的路径 D:\Software\PostgreSQL 切入到 bin 文件夹中
cmd
d:
cd D:\Software\PostgreSQL
cd bin

我们的安装,卸载命令都需要在 bin 文件夹中执行
首先初始化实例
initdb -D "D:\Software\PostgreSQL\data" -E UTF8 -U postgres --locale="Chinese (Simplified)_China.936" --lc-messages="Chinese_China.936" -A scram-sha-256 -W
在 windows 环境下我们采用 UTF8 编码 Chinese (Simplified)_China.936 排序规则,账户加密方式采用 scram-sha-256,数据库的存放位置指定为 D:\Software\PostgreSQL\data

初始化过程中需要输入两次 超级用户口令,用于设置 postgres 用户的密码
数据库初始化完成之后,就可以选择安装为 Windows 服务了,注册服务命令如下
pg_ctl.exe register -D "D:\Software\PostgreSQL\data" -PostgreSQL

接下来我们调整一下 PostgreSQL 的配置信息,默认情况下 PostgreSQL 数据库只能本机连接,我们调整为监听所有 IP 开启外部连接的功能。
在 D:\Software\PostgreSQL\data 文件夹中找到 postgresql.conf
打开 postgresql.conf 文件,找到
#listen_addresses = 'localhost'
然后删除掉前面的 # 修改为
listen_addresses = '*'
保存后关闭文件。

然后还是在 D:\Software\PostgreSQL\data 文件夹中找到 pg_hba.conf 打开后直接情况里面原来的内容,用如下内容进行替换
host all all 0.0.0.0/0 scram-sha-256
host all all ::/0 scram-sha-256

保存后关闭即可,这样就运行了所有的 ipv4 和 ipv6 地址来连接我们的 PostgreSQL 数据库了,因为本文旨在说明 PostgreSQL 的安装,所以对于其他的一些配置不展开进行说明。
当配置文件调整之后我们就可以启动我们安装好的 PostgreSQL 了,只要在 cmd 输入
net start PostgreSQL

也可以通过 Windows 服务来控制启动和停止

启动之后就可以使用连接工具去连接数据库了

如果想要卸载 PostgreSQL 则需要先停止 服务,
net stop PostgreSQL

然后执行卸载命令即可
执行卸载命令也需要向我们开始的操作一样进入 PostgreSQL 路径的 bin 目录,然后执行
pg_ctl.exe unregister -PostgreSQL

这样就卸载完成了,然后直接去 D:\Software 删掉 PostgreSQL 文件夹就可以了。
Windows 系统 PostgreSQL 手工安装配置方法的更多相关文章
- Windows上PostgreSQL安装配置教程
Windows上PostgreSQL安装配置教程 这篇文章主要为大家详细介绍了Windows上PostgreSQL安装配置教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 PostgreSQL的 ...
- 在Linux下访问Windows共享目录的配置方法
在Linux下访问Windows共享目录的配置方法 1.在Windows上设置一个共享目录 如:将d:\RedHat_disk设置为共享目录 2.在Windows上创建一个用户,如tommy,密码11 ...
- Windows server 2003 伪静态配置方法
Windows server 2003 伪静态配置方法 先我们下载Rewrite伪静态组件到服务器,然后解压到D:\Rewrite下,解压后如下图: 提示:ReWrite组件所在目录要有网站所有者 ...
- Windows系统通用安全配置基线
一:共享账号检查 配置名称:账号分配检查,避免共享账号存在 配置要求: 1.系统需按照实际用户分配账号: 2.根据系统的使用需求,设定不同的账户和账户组,包括管理员用户,数据库用户,审计用户,来宾用户 ...
- windows环境下memcache配置方法 详细篇
将memcache服务器安装包解压到C:\memcached文件夹后,使用cmd命令窗口安装. 1>开始>运行:CMD(确定) 2>cd C:\memcached(回车) 3> ...
- Windows系统Git安装配置
Git的安装 Git是一个开源的分布式的版本控制软件,是Linus Torvalds 为了方便开源贡献者协同开发和管理 Linux 内核开发替代BitKe而开发的. 打开git官网的下载地址:http ...
- Cmder命令行工具在Windows系统中的配置
一.Cmder简介 Cmder:一款用于Windows系统中,可增强传统cmd命令行工具的控制台模拟器(类似于Linux系统中的终端控制窗口) 特点: 无需安装,解压即用 可使用较多Linux命令,如 ...
- 这些混账的开源库在煞笔Windows系统上的编译方法
母语不就是用来吐槽的么!!!!!说母语我不骂人难道还用英语么!!!!!!!!!! 说什么什么开源库好的狗日的,尼玛有种先搞定编译啊卧槽!!!!!!!!! 是的!!!!!你可以吐槽老子智商低用弱智煞笔W ...
- Windows系统在本地配置一个apache域名的方法
我使用的xampp 1.修改C:\Windows\System32\drivers\etc中的hosts文件,添加127.0.0.1 www.feiquan.com 2.修改D:\xampp\apac ...
随机推荐
- 解决maven依赖冲突,这篇就够了!
一.前言 什么是依赖冲突 依赖冲突是指项目依赖的某一个jar包,有多个不同的版本,因而造成了包版本冲突. 依赖冲突的原因 我们在maven项目的pom中 一般会引用许许多多的dependency.例如 ...
- CSCMS代码审计
很久之前审的了. 文章首发于奇安信攻防社区 https://forum.butian.net/share/1626 0x00 前言 CSCMS是一款强大的多功能内容管理系统,采用php5+mysql进 ...
- 【SpringBoot】YAML 配置文件
博客主页:准Java全栈开发工程师 00年出生,即将进入职场闯荡,目标赚钱,可能会有人觉得我格局小.觉得俗,但不得不承认这个世界已经不再是以一条线来分割的平面,而是围绕财富旋转的球面,成为有钱人不是为 ...
- 谷歌浏览器控制台 f12怎么设置成中文/英文 切换方法,一定要看到最后!!!
1.打开谷歌浏览器 2.右键选择检查或 f12 打开控制台 3.点击控制台右边的设置 4.中切英 选择偏好设置->语言=>English 5.英切中 6.选择中文 7.重启 8.切换中文成 ...
- kubernetes之ingress探索实践
3.Ingress实践 3.1.什么是Ingress? 在ingress之前,我们想要访问k8s集群中的pod服务时,是通过部署一个service,将service的type设置为NodePort或者 ...
- Spring框架系列(11) - Spring AOP实现原理详解之Cglib代理实现
我们在前文中已经介绍了SpringAOP的切面实现和创建动态代理的过程,那么动态代理是如何工作的呢?本文主要介绍Cglib动态代理的案例和SpringAOP实现的原理.@pdai Spring框架系列 ...
- 4-7 CS后台项目练习-1
1. 关于此项目 此项目是一个自营性质电商类型的项目. 当前目标是设计后台管理相关功能. 2. 关于项目的开发流程 开发项目的标准流程应该有:需求分析.可行性分析.总体设计.详细设计等. 建议课后学习 ...
- 面试官:你确定 Redis 是单线程的进程吗?
作者:小林coding 计算机八股文网站:https://xiaolincoding.com 大家好,我是小林. 这次主要分享 Redis 线程模型篇的面试题. Redis 是单线程吗? Redis ...
- Java 技术栈中间件优雅停机方案设计与实现全景图
欢迎关注公众号:bin的技术小屋,阅读公众号原文 本系列 Netty 源码解析文章基于 4.1.56.Final 版本 本文概要 在上篇文章 我为 Netty 贡献源码 | 且看 Netty 如何应对 ...
- CF1381B Unmerge(位运算的作用)
题目大意: 给定长度为 \(2n\) 的排列 \(p\) .确定是否存在两个数组 \(a\) 和 \(b\) ,每个数组的长度都为 \(n\) ,并且没有相等的元素,使得 \(p = \operato ...