自从2020年底开始接触 PostgreSQL 以来就喜欢上了这个数据库,个人感觉比 MySQL 好用,多表联合查询性能好很多,同时也不存在 SQLServer 的版权授权费用问题。搭配 .NET 开发很好用,目前手里的项目全部都是采用 PostgreSQL 进行数据支撑的。
本文主要说一下在 Windows 系统中安装 PostgreSQL 的方法,我这里没有采用 exe 安装包的形式去安装,EDB 发布的那个 exe 安装包形式的对于中文环境数据库的排序规则设定有问题,所以我采用了官方 ZIP 压缩包形式解压后手动安装的形式。
先说一下安装包的获取方式,访问
https://www.
postgresql.org/download
/windows/
目前最新稳定版是 PostgreSQL 14.5 点击就可以获取到我们所需要的 zip 压缩包了默认其中包含有这些文件夹,我箭头标记的 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 的时候可以直接用自己弄好的这个压缩包。接下来开始说如何进行安装 PostgreSQL,文件都准备好之后,首先把文件夹移动到准备安装的位置,我这里移动到了 D:SoftwarePostgreSQL 路径启动 cmd 进入我们的路径 D:SoftwarePostgreSQL 切入到 bin 文件夹中cmd
d:
cd
D:
Software
PostgreSQL
cd
bin
初始化过程中需要输入两次 超级用户口令,用于设置 postgres 用户的密码数据库初始化完成之后,就可以选择安装为 Windows 服务了,注册服务命令如下pg_ctl
.
exe
register
-D
"D:SoftwarePostgreSQLdata"
-PostgreSQL
然后还是在 D:SoftwarePostgreSQLdata 文件夹中找到 pg_hba.conf 打开后直接情况里面原来的内容,用如下内容进行替换host all all 0.0.0.0/0 scram-sha-256host all all ::/0 scram-sha-256
也可以通过 Windows 服务来控制启动和停止 如果想要卸载 PostgreSQL 则需要先停止 服务net
stop
PostgreSQL
这样就卸载完成了,然后直接去 D:Software 删掉 PostgreSQL 文件夹就可以了。关于在Windows 环境运行 PostgreSQL 在连接数的配置需要注意以下这个知识点:由于PostgreSQL所依赖的一些库依赖于user32.dll,后者从内存中一块称为桌面堆的区域中分配内存。
桌面堆被分配给了每一个登录的会话,在 Windows 10 以上的操作系统通常一个非交互的会话将会分配给768KB。每个交互登录会话将会分配给20MB的桌面堆,每个postgres进程典型的桌面堆消耗是3.2KB。
- 当作为Windows服务运行时,因为每个非交互会话将会分配768KBMB的桌面堆,所以大约可以支撑 200-220个连接。
- 当在命令行方式运行时,因为每个交互登录会话将会分配20MB的桌面堆,所以大约可以支撑 5000-6000个连接。
如果想要了解更多这个知识点可以看 微软官方的这个说明:
https://
learn.microsoft.com/zh-
CN/troubleshoot/windows/win32/user32-kernel32-not-initialize
结合上面的知识点,所以我们在Windows环境下配置 PostgreSQL 的最大连接数时,如果采用 Windows 服务模式运行则配置最大连接数为200比较好,如果需要200个以上的并发连接,则最好采用控制台形式启动运行PostgreSQL,同时结合计算机的可以内存去综合考虑一般100个连接数会消耗 1G内存,所以假设我们电脑内存为8G,考虑到系统本身运行需要2G内存,所以这是 PostgreSQL 的最大连接数配置为500 左右即可。免责声明:本平台仅供信息发布交流之途,请谨慎判断信息真伪。如遇虚假诈骗信息,请立即举报
举报