题记:自8.4版本以来,使用自动安装包安装postgresql到windows时,若使用默认locale,总是会在初始化数据库的时候出错。今天9.0版本发布了,下载安装时发现存在同样的问题,于是爷怒了,去TM的自动安装包,老子以后纯手工安装,再不要什么鸟安装包了。
一、下载解压
1,下载postgresql-9.0.0-1-windows-binaries.zip
2,解压postgresql-9.0.0-1-windows-binaries.zip到D:\
二、添加用户
1,添加windows用户,用于启动PostgreSQL的windows服务
D:\pgsql>net user postgres pgsqlpw /add /expires:never /passwordchg:no
2,为保证安全,此用户不允许本地登录
D:\pgsql>net localgroup users postgres /del
3,赋于windows用户postgres访问PostgreSQL安装目录的权限
D:\pgsql>cacls . /T /E /P postgres:R
三、初始化数据库
1,切换到windows用户postgres的命令行环境
D:\pgsql>runas /noprofile /env /user:postgres "cmd"
2,初始化数据库,若不使用-U admin,则数据库里自动添加当前windows用户(即postgres)为数据库帐号
D:\pgsql>bin\initdb.exe -D "D:\pgsql\data" -E UTF-8 --locale=chs -A md5 -U admin -W
3,启动数据库
D:\pgsql>bin\pg_ctl.exe -D "D:\pgsql\data" -l logfile start
4,停止数据库
D:\pgsql>bin\pg_ctl.exe -D "D:\pgsql\data" stop
四、注册为Windows服务
1,注册为windows服务,当前windows用户(即postgres)将作为PostgreSQL服务的登录用户
D:\pgsql>bin\pg_ctl register -N PostgreSQL -D "D:\pgsql\data"
2,启动PostgreSQL服务
D:\pgsql>sc start PostgreSQL
使用postgres 用户注册不了系统服务。
是不是postgres用户没有PostgreSQL目录的权限?请严格按照文章的步骤来做。还有就是,PostgreSQL目录所在分区必须是NTFS格式。
哦,文件系统应该是 NTFS。
权限没有注意,晚上回家试试。