--------------
准备工作
--------------
首先到这里去下载: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
准备工作
--------------
首先到这里去下载: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