以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数据库的搭建已经完成,接下来可以愉快的使用了。