感谢原作者:熊二傻
以下内容出自:http://my.oschina.net/wenic705/blog/14519
问题:
属于此数据库系统的文件宿主为用户 "Administrator".
此用户也必须为服务器进程的宿主.
数据库簇将带有 locale Chinese_People's Republic of China.936 初始化.
nitdb: 语言环境 Chinese_People's Republic of China.936要求使用不支持的编码GBK
不允许将编码GBK作为服务器端编码.
使用一个不同的语言环境重新运行initdb .
解决方法:
step 1
在启动控制面板/管理工具/计算机管理/本地用户和组,增加一个普通用户,如postgres,
密码123456,设为永不过期
step 2
以Administrator身份进入command窗,输入命令runas /user:postgres cmd,输入密码
123456
D:/develop/pgsql/bin>runas /user:pgsql cmd
输入 pgsql 的密码:
试图将 cmd 作为用户 "XDWL-XXX/pgsql" 启动...
D:/develop/pgsql/bin>
step 3
输入命令initdb -E UTF-8 -D data。注意,需在PGHOME下手动创建data目录。注意加上--locale=C,设置本地环境
#########
D:/develop/pgsql/bin>initdb -E UTF-8 -D ../data --no-locale
step 4
postgres -D ../data (9.0以后的在进程管理器中结束不了,除非关掉cmd窗口,解决方法: pg_ctl -D ../data stop)
或者
直接运行 pg_ctl -D ../data -l logfile start 启动PGSQL
step 5
添加为系统服务
D:/pgsql/bin>pg_ctl register -D "D:/develop/pgsql/data" -N pgsql
D:/pgsql/bin>net start pgsql
The pgsql service is starting.
The pgsql service was started successfully.