Postgres在Windows下的安装,同时设定数据库的存放位置
---------------------------------------------------------
1. 下载Postgres安装程序
2. 安装Postgres,过程如下
这里给postgres帐号设置了密码,如果不设置安装程序会为新帐号生成一个随机密码。后面初始化postgres数据库时需要用postgres帐号登录,所以在这里先设置了密码。
接下来安装程序询问是否要创建帐号,确定即可(如上图)
安装程序继续,这里选择不初始化数据库群,后面手工初始化,这样就可以为数据库指定数据存放位置。
直接确定完成安装。
数据库安装完成后,数据库帐号”postgres”已经创建,但密码为空,可在pgAdmin III中设置。
3. 初始化数据库
首先为系统设置环境变量:
l PG_HOME=c:/Program Files/PostgreSQL/8.3
l 在PATH环境变量中追加:%PG_HOME%/bin
l PGDATA=D:/database
环境变量PGDATA设置了postgres数据文件的存放位置,这里为d:/database,这个目录需要用postgres帐号创建。
为了初始化postgres数据库,现在需要用postgres帐号进行登录。登录之后,执行下列操作:
l 创建目录 d:/database
l 在命令行窗口(cmd)中执行命令initdb –E utf8初始化数据库,这里设置数据库的编码为utf8
4. 设置postgres服务
数据库现在已经初始化好了,下面需要对postgres服务的配置进行一点修改以便顺利启动postgres服务。
首先注销postgres,重新正常登录windows,进入windows的服务管理控制台,找到PostgreSQL Database Server 8.3服务,右键菜单进入PostgreSQL Database Server 8.3的属性窗口,
图中看到Postgres以参数-D “C:/program Files/PostgresSQL/8.3/data/”启动,这就指定了数据库文件存放在C:/program Files/PostgresSQL/8.3/data/目录下,但我们已经改变了这个设置,并记录在环境变量PGDATA中了。现在启动PostgreSQL Database Server 8.3会失败。下面修改PostgreSQL Database Server 8.3服务的配置。
运行命令:regedit
找到
HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/pgsql-8.3
注册项目,编辑ImagePath项目,其数值为
"C:/Program Files/PostgreSQL/8.3/bin/pg_ctl.exe" runservice -w -N "pgsql-8.3" -D "C:/Program Files/PostgreSQL/8.3/data/"
删除-D "C:/Program Files/PostgreSQL/8.3/data/",新的ImagePath值为
"C:/Program Files/PostgreSQL/8.3/bin/pg_ctl.exe" runservice -w -N "pgsql-8.3"
5. 启动Postgres
现在启动PostgreSQL Database Server 8.3服务,数据库顺利启动,并且数据库文件存在d:/database目录下了。