在Windows上安装Postgresql服务器.md

在Windows上,Postgresql除了提供了安装包的方式外,还提供了二进制的方式。借此管理员可以不需要手动点击安装包,而可以通过脚本的方式来实现自动部署。
我们下载对应的二进制版本后,将其解压。解压完成后,首先需要初始化数据:

  
$ initdb.exe -D D:/pgdata -E utf-8 --locale=chs -U postgres -W  
属于此数据库系统的文件宿主为用户 "bird".  
此用户也必须为服务器进程的宿主.  
数据库簇将使用本地化语言 "Chinese (Simplified)_China.936"进行初始化.  
initdb: 无法为本地化语言环境"Chinese (Simplified)_China.936"找到合适的文本搜索配置  
缺省的文本搜索配置将会被设置到"simple"  
  
禁止为数据页生成校验和.  
  
创建目录 D:/pgdata ... 成功  
正在创建子目录 ... 成功  
选择默认最大联接数 (max_connections) ... 100  
选择默认共享缓冲区大小 (shared_buffers) ... 128MB  
创建配置文件 ... 成功  
在 D:/pgdata/base/1 中创建 template1 数据库 ... 成功  
初始化 pg_authid ...  成功  
...  

这里直接使用initdb命令进行数据库初始化,其中-D选项指定了数据库的目录,而-E指定了新建数据库的编码,而--locale是本地的编码。之后的-U是对应的超级用户,-W用于输入对应的密码。
之后使用postgres超级用户创建1个本地角色:

  
$ psql -U postgres  
psql (9.3.25)  
输入 "help" 来获取帮助信息.  
  
postgres=# create role bird login password 'bird';  
CREATE ROLE  
postgres=# create database bird;  
CREATE DATABASE  

而相关的启动使用2个bat脚本来实现,对于启动是:

  
@echo off  
SET PG_HOME=%cd%/bin  
SET PATH=%PATH%;%PG_HOME%  
pg_ctl -D "D:/pgdata" -l logfile start  

通过手动指定环境变量的方式启动服务。而对应的关闭服务为:

  
@echo off  
SET PG_HOME=%cd%/bin  
SET PATH=%PATH%;%PG_HOME%  
pg_ctl -D "D:/pgdata" -l logfile stop  
rm logfile  

可以说过程非常简单。

若文章对您有帮助,请打赏1块钱。您的支持,可以让我分享更多精彩的文章。转载请注明来源


知识共享许可协议
本作品采用知识共享署名-非商业性使用-相同方式共享 2.5 中国大陆许可协议进行许可。