我下载的是postgresql-9.0.1-1-windows安装包直接点击启动安装后总是报错
报错如下:
"Installation may not complete correctly. The database cluster initialization failed."
但是安装还是完成了,在开始菜单中有了postgresql的启动项目,这里只是安装了pgadminIII管理工具,而
postgresql数据库没有安装成功!
在网上找了一下解决方案,发现很多人都遇到了类似的问题,其中有一个人的回答引起了我的注意
他是这么回答的
Finallyguys...got this thing to work....just follow the simple steps....
1] Allowfull access to all users ( including "postgres" user) on"Postgres Folder".
2] Make "postgres" user as the owner of the datadirectory....
于是我决定试一试,找到了我的安装目录下的data文件夹然后右键属性在安全选项中添加一个用户权限
正如我所料想的一样,果然存在一个为postgre的用户,于是我将该用户添加上来,并将权限设置为最高权
限。
接着我直接在cmd命定行下接着对pgsql进行了一些初始化和设置
1、cd到你的解压目录bin文件夹下,会自动创建postgres数据库,执行下面命令:
e:/Application/pgsql/bin>initdb.exe-D e:/Application/pgsql/data -E UTF8 --locale=C
-D设置数据文件目录,-E,数据库编码
2、启动数据库:两种方式,一是注册为windows服务,具体操作为:
e:/Application/pgsql/bin>pg_ctl.exeregister -D E:/Application/pgsql/data -Npgsql
-N表示windows服务名称为pgsql;
e:/Application/pgsql/bin>netstart pgsql
如果你的安装没有错误,现在就应该可以起来了。
二是直接启动,具体操作为:
e:/Application/pgsql/bin>pg_ctl.exestart -w -D E:/Application/pgsql/data
3、创建数据库:
e:/Application/pgsql/bin>createdb.exe-E UTF8 testdb
4、创建用户:
e:/Application/pgsql/bin>createuser.exepostgre
会有是否创建superuser的选项,创建一个名为postgre的超级用户;
(这里4步操作引用于:http://lifanfly.blog.51cto.com/903441/339084 )
按照上面操作后,提示我有系统启动项加入我确认后,我启动pgadmin连接localhost数据库,没有反应
没有报错,状态栏提示连接完成!
于是我再一次启动我下载的安装程序包,这一次直接让我填写data文件夹得位置,我选择了安装目录下的
data文件夹,提示将其覆盖,进度条顺利的走完了全程没有报错,安装完成了!
提示我是否需要安装其他的组件,我取消后,启动pgadmin这时候已经存在localhost这个数据库了,连接输
入密码顺利连接!
总结一下:
第一次启动安装的时候就创建了postgre这个用户,但由于我们data文件夹没有给postgre权限所
以不能将系统所需要的数据库写入,于是安装失败!
第一次安装完后设置data的权限,直接再启动一次安装程序,这个时候应为有了权限就会对data文件夹操作
将系统需要的数据库生成!这里和上面的第一步骤的效果是一样的!所以在win7的os下我想需要启动安装
程序两次,这可能和系统的权限设置有关系!
*************************************************************************************************************
好久不用这个,无奈一个开发条件中包含了这个数据库,不用不行,在装的过程中又是一个头大,在window下就是莫名其妙
于是单独安装pgsql8.3还是出现n多问题,不是无法启动,就是这种那种问题
后来发现 在local选项的时候不选默认的,我选择简体中文 这个时候 居然顺利通过了,我了个去!折腾的我够呛啊!
这次是在win7下安装的,估计以前也是这种问题了,真想不明白怎么和这个给联系上了,如果在遇到这种问题,第一选择就是 在选择local的时候 不选默认的!!!
2013-1-9