Windows XP SP2 下完全手动安装 PostgreSQL 8.1.4

--------------
准备工作
--------------
首先到这里去下载:postgresql-8.1.4-1-binaries-no-installer.zip
http://www.postgresql.org/ftp/binary/v8.1.4/win32/
然后解压到任意目录下(比如:D:\GreenAPP\pgsql),下面使用"$PG"表示。

此外还要使用来自 Windows Resource Kits 工具包的两个额外工具 Ntrights.exe instsrv.exe ,工具包介绍:http://www.microsoft.com/downloads/details.aspx?FamilyID=9d467a69-57ff-4ae7-96ee-b18c4790cffd&DisplayLang=en
下载地址:http://download.microsoft.com/download/8/e/c/8ec3a7d8-05b4-440a-a71e-ca3ee25fe057/rktools.exe
将这个工具包安装以后从中取出上述两个exe文件,同样放置到pg解压目录(也就是:$PG\instsrv.exe)。如果你想偷懒,我在附件里面附带了这两个文件,可以直接使用。

在pg解压目录中创建一个rootpass.txt文件(也就是:$PG\rootpass.txt),其中的内容将是数据库超级用户的密码。

-------------
写批处理文件
-------------
在pg解压目录中创建一个"安装PG.bat"文件(也就是:$PG\安装PG.bat),内容如下:
@echo off

echo 删除之前可能存在的PostgreSQL服务......
if exist bin\libpq.dll bin\pg_ctl stop -D data -m immediate
net stop PostgreSQL
instsrv PostgreSQL REMOVE

echo 移动DLL文件......
move /y lib\comerr32.dll bin\
move /y lib\krb5_32.dll bin\
move /y lib\libeay32.dll bin\
move /y lib\libiconv-2.dll bin\
move /y lib\libintl-2.dll bin\
move /y lib\libpq.dll bin\
move /y lib\pthreadGC2.dll bin\
move /y lib\ssleay32.dll bin\
echo 清理目录......
del /f /q bin\*.pl
del /f /q bin\ipcclean
del /f /q bin\pltcl_*
rd /s /q doc
rd /s /q include
rd /s /q man
rd /s /q lib\pgxs
del /f /q lib\*.a
xcopy share\locale\zh_CN share\localetmp\zh_CN /E /V /I /Q /H /R /K
rd /s /q share\locale
move share\localetmp share\locale
copy /v /y /b share\timezone\GMT /b share\ /b
copy /v /y /b share\timezone\PRC /b share\ /b
rd /s /q share\timezone\
md share\timezone\
move /y share\GMT share\timezone\
move /y share\PRC share\timezone\

echo 添加新的postgres用户(密码为:p)......
net user postgres /delete
net user postgres p /ADD /EXPIRES:NEVER /PASSWORDCHG:NO
net localgroup users postgres /delete

echo 设置postgres用户的权限......
Ntrights -u postgres +r SeServiceLogonRight
Ntrights -u postgres -r SeNetworkLogonRight
Ntrights -u postgres -r SeInteractiveLogonRight
Ntrights -u postgres -r SeBatchLogonRight
Ntrights -u postgres -r SeServiceLogonRight

echo 设置目录权限......
rd /s /q data
md data
cacls rootpass.txt /T /E /P postgres:R
cacls bin /T /E /P postgres:R
cacls lib /T /E /P postgres:R
cacls share /T /E /P postgres:R
cacls data /T /E /P postgres:C

echo 启动Secondary Logon服务......
net start "Secondary Logon"

echo 初始化PostgreSQL数据库......
echo 此处需要手动输入postgres用户的密码:p
runas /noprofile /env /user:postgres "bin\initdb -D data -E EUC_CN --locale=\"Chinese_People's Republic of China.936\" -A md5 -U root --pwfile=rootpass.txt"
echo [说明]数据库默认编码为:EUC_CN(GB2312),区域设置为:zh_CN.GBK。
echo [说明]数据库超级用户名为:root,密码为rootpass.txt文件内容,使用md5认证。

echo 安装完毕,
pause

---------------
安装PG
---------------
直接双击运行"安装PG.bat",一切OK!

---------------
使用
---------------
以后可以使用
net start "Secondary Logon"
cd $PG\
echo 此处需要手动输入postgres用户的密码:p
runas /noprofile /env /user:postgres "bin\pg_ctl start -w -D data"
启动
使用
cd $PG\
bin\pg_ctl stop -D data -m smart
关闭
副件
http://bbs.pgsqldb.com/index.php?t=getfile&id=3355&rid=501&S=b4ca3c2583ddc3d44e5a1361bff58051

原贴见
http://bbs.pgsqldb.com/index.php?t=msg&th=9305&rid=501&S=b4ca3c2583ddc3d44e5a1361bff58051&pl_view=&start=0#msg_35508
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值