声明:本文转载自 smalltreehere的这一篇文章,链接为http://blog.csdn.net/smalltreehere/article/details/8143922
以下为全文:
Win7下安装postgresQL的过程
注:win7下主要有两种安装postgreSQL的方式,一种是面安装的binary版本;另一种是可以一键安装的Installer封装版本。都需要手动启动,并注册为系统服务,才能在下次开机登陆前自动启动。两种安装方法如下:
一、免安装版本
1. 下载免安装版本(binary),直接解压到E:\盘下,即:E:\pgsql
2. 设置环境变量,编辑批处理文件init_env.bat(仅本次生效;永久生效需修改系统的环境变量)
a) 内容如下
set PGHOME=E:\pgsql
set PATH=%PGHOME%\bin;%path%
set PGHOST=localhost
set PGLIB=%PGHOME%\lib
set PGDATA=%PGHOME%\data
b) 执行如下:
c) 设置系统环境变量:计算机à属性à高级系统设置à环境变量(右下角)à系统变量(新建)à对照脚本中的环境变量:输入变量名和变量值;
其中,path变量只需要在对应的环境变量值前加一个路径即可。
3. 初始化并创建数据库(一次即可)
initdb.exe -D ”E:\pgsql\data” -E UTF-8 --locale=chs -U sysadmin-W
-D :指定数据库簇的存储目录E:\pgsql\data
-E :指定DB的超级用户的用户名sysadmin
--locale:关于区域设置(chinese-simplified-china)
-U :默认编码格式chs
-W :为超级用户指定密码的提示
如下:
4. 启动数据库
注:若未注册为系统服务,则需每次手动启动,否则pgadmin3连接数据库失败
pg_ctl -D "E:/pgsql/data" -l logfile start
显示如下:
启动后,在数据库安装的主目录下生成一个logfile文件:E:\pgsql\logfile
5. 注册为win7系统服务
注:需管理员权限方可;以win7管理员运行注册命令;重启后自动启动。注册时,注意双引号为“半角”格式:””而非“”,否则注册后无法启动postgreSQL
pg_ctl register -N PostgreSQL -D “E:\pgsql\data”
由于第一遍,双引号标错了,又来了一次,不过已经注册成功。
- 查看已经注册的服务:win+R在弹出的运行框中,输入:services.msc,如下:
- 查看是否启动:命令行下输入tasklist
- netstat –an 可以查看所有和本地计算机建立连接的IP
- 卸载服务:同样需要管理员权限,两种方式
1) pg_ctl unregister –N PostgreSQL (win7)
2) sc delete PostgreSQL (PostgreSQL)
6. 配置pgAdmin3客户端
目录为E:\pgsql\bin\ pgAdmin3,双击,配置
7. 连接数据库成功
二、一键安装Installer版本
注:后三步与免安装版本基本相同
1. 下载exe版本
2. 双击安装即可
3.修改系统环境变量(找到安装目录下的init_env.bat文件,按照其设置的环境变量修系统变量)
4. cmd下初始化数据库,并启动数据库
5. 注册为系统服务,重启
总结:
1. 无论是免安装版本,还是已经打包好的一键安装版本,都需要通过批处理文件(init.bat)配置环境变量(仅在本次cmd运行时间段内有效;或者设置系统环境变量);
2. 之后,都需要手动启动启动postgresQL服务器:pg_ctl -D "E:/pgsql/data" -l logfile start
路径根据自己安装目录的实际情况设置
3. 此后,启动pgAdmin3连接数据库方可成功。
4. 连接设置:修改安装目录下的conf文件,设置连接方式等
如:E:\pgsql\data\ pg_hba.conf和E:\pgsql\data\postgresql.conf
三、windows下的postgreSQL的开发
1. 免安装版本主目录下的三个文件:
%HOME%:\include\libpq-fe.h
%HOME%:\include\postgres_ext.h(在libpq-fe.h中包含了该头文件,不添加会报错)
%HOME%:\lib\libpq.lib
2. 将这两个文件拷贝到程序当前目录下
3. 包含这两个文件:
#include<libpq-fe.h> //否则出现为声明的标识符
#pragmacomment(lib, “libpq.lib”) //不添加,报错:无法解析的外部符号
4. 之后的开发类似linux下