由于PostgreSQL不支持Windows的GBK编码,所以PostgreSQL在Windows下安装时,总是出现无法创建数据库的错误。有的同学总结出来,在安装时,不要使用默认编码,需要使用Chinese Singapore或C,在一般情况下,这个办法是可以的。可是在一台Windows 2003上,我在两种情况下都无法顺利完成。经过研究,发现一下办法可行(PostgreSQL安装在C:\opt\Postgresql,数据库安装在C:\opt\PostgreSQL\data下)。
 
1. 先修改C:\Windows\system32\cmd.exe的执行权限,添加postgres账户的“读取执行”权限。
2. 使用runas命令进入postgres权限的CMD控制台:
Runas /user:postgres “c:\windows\system32\cmd.exe”
提示密码时输入密码。
3. 在postgres权限的CMD控制台中,执行:
C:\opt\postgresql\initdb –D data –E UTF-8 –locale=C
即可完成数据库的初始化。
4. 在Administrator权限的控制台中:
Pg_ctl register –D c:\opt\postgresql\data –N postgresql
在安装时,如果数据库未初始化成功,则Postgresql数据库服务也未能注册,使用该命令注册数据库服务。
5. 启动数据库服务:
Net start postgresql
6. 消除cmd.exe的postgres执行权限
 
搞定。

~~THE END~~
尹曙光