自从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 文件夹中执行下面的命令,对相关文件进行删除。
代码语言:javascript复制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:SoftwarePostgreSQL 路径
启动 cmd 进入我们的路径 D:SoftwarePostgreSQL 切入到 bin 文件夹中
代码语言:javascript复制cmd
d:
cd D:SoftwarePostgreSQL
cd bin
我们的安装,卸载命令都需要在 bin 文件夹中执行
首先初始化实例
代码语言:javascript复制initdb -D "D:SoftwarePostgreSQLdata" -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:SoftwarePostgreSQLdata
初始化过程中需要输入两次 超级用户口令,用于设置 postgres 用户的密码
数据库初始化完成之后,就可以选择安装为 Windows 服务了,注册服务命令如下
代码语言:javascript复制pg_ctl.exe register -D "D:SoftwarePostgreSQLdata" -PostgreSQL
接下来我们调整一下 PostgreSQL 的配置信息,默认情况下 PostgreSQL 数据库只能本机连接,我们调整为监听所有 IP 开启外部连接的功能。
在 D:SoftwarePostgreSQLdata 文件夹中找到 postgresql.conf
打开 postgresql.conf 文件,找到
代码语言:javascript复制#listen_addresses = 'localhost'
然后删除掉前面的 # 修改为
代码语言:javascript复制listen_addresses = '*'
保存后关闭文件。
然后还是在 D:SoftwarePostgreSQLdata 文件夹中找到 pg_hba.conf 打开后直接情况里面原来的内容,用如下内容进行替换
代码语言:javascript复制host all all 0.0.0.0/0 scram-sha-256
host all all ::/0 scram-sha-256
保存后关闭即可,这样就运行了所有的 ipv4 和 ipv6 地址来连接我们的 PostgreSQL 数据库了,因为本文旨在说明 PostgreSQL 的安装,所以对于其他的一些配置不展开进行说明。
当配置文件调整之后我们就可以启动我们安装好的 PostgreSQL 了,只要在 cmd 输入
代码语言:javascript复制net start PostgreSQL
也可以通过 Windows 服务来控制启动和停止
启动之后就可以使用连接工具去连接数据库了
如果想要卸载 PostgreSQL 则需要先停止 服务,
代码语言:javascript复制net stop PostgreSQL
然后执行卸载命令即可
执行卸载命令也需要向我们开始的操作一样进入 PostgreSQL 路径的 bin 目录,然后执行
代码语言:javascript复制pg_ctl.exe unregister -PostgreSQL
这样就卸载完成了,然后直接去 D:Software 删掉 PostgreSQL 文件夹就可以了。
至此 Windows 系统 PostgreSQL 手工安装配置方法 就讲解完了,有任何不明白的,可以在文章下面评论或者私信我,欢迎大家积极的讨论交流