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

以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

initdb -D "E:\pgsql\data" -E UTF-8 --locale=chs -U postgres -W

执行成功后如下图:

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

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

我测试的

C:\Users\zzh\Desktop\pgsql\bin>initdb.exe -D C:\Users\zzh\Desktop\pgsql\data -E UTF-8 --locale=chs -U postgres -W
属于此数据库系统的文件宿主为用户 "zzh".
此用户也必须为服务器进程的宿主.
数据库簇将使用本地化语言 "Chinese_China.936"进行初始化.
initdb: 无法为本地化语言环境"Chinese_China.936"找到合适的文本搜索配置
缺省的文本搜索配置将会被设置到"simple"

禁止为数据页生成校验和.

输入新的超级用户口令:123456
再输入一遍:123456

修复已存在目录 C:/Users/zzh/Desktop/pgsql/data 的权限 ... 成功
正在创建子目录 ... 成功
选择动态共享内存实现 ......windows
选择默认最大联接数 (max_connections) ... 100
选择默认共享缓冲区大小 (shared_buffers) ... 128MB
选择默认时区 ... Asia/Shanghai
创建配置文件 ... 成功
正在运行自举脚本 ...成功
正在执行自举后初始化 ...成功
同步数据到磁盘...成功

initdb: 警告: 为本地连接启用"trust"身份验证
你可以通过编辑 pg_hba.conf 更改或你下次
执行 initdb 时使用 -A或者--auth-local和--auth-host选项.

成功。您现在可以用下面的命令开启数据库服务器:

    pg_ctl -D ^"C^:^\Users^\zzh^\Desktop^\pgsql^\data^" -l 日志文件 start

C:\Users\zzh\Desktop\pgsql\bin>
pg_ctl -D "D:\SoftWare\postgresql-14.5-1-windows-x64-binaries\pgsql\data" -l 日志文件 start

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 AUTHORITYLocalService"

账户权限说明:

账户名称 账户标识
本地服务 NT AUTHORITYLocalService
网络服务 NT AUTHORITYNetworkService

安装成功后如下图:

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

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

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

6、创建用户、数据库

连接数据库

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

C:\Usersadmin>psql -d postgres -U postgres

连接成功后如下图:

创建用户、数据库

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

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

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

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

发表回复

您的电子邮箱地址不会被公开。