postgreSql随程序打包,服务启动不了
来源:互联网 发布:入野自由知乎 编辑:程序博客网 时间:2024/05/30 23:48
pgsql的安装过程(windows)较为复杂,官方使用了pginstaller将pgsql打为一个msi包,单独安装问题不大,但是有以下几个问题:
1、远程桌面安装兼容性差(目前官方的说法是除了win2003都有问题)
2、无法随程序打包
3、安装后的建库工作会受到分区格式的影响
针对以上问题,现给出如下解决方案:
A、在随便一台机器上装好pgsql,并且建好库、导好数据
B、将整个pgsql的安装好的目录复制到一个临时文件夹(例如
d:\temp),应该包括:
bin、data、include、lib、share等,视情况可以考虑加入pgadminIII
C、在临时文件夹中建立dll目录,包括以下5个文件:
libeay32.dll/libiconv-2.dll/libintl-2.dll/libpq.dll/ssleay32.dll
(都可以在安装好的机器中找到)
D、网上去找个ntright.exe文件,放在bin目录里(随便放哪,但是后面安装完成最好删掉)
--修正:网上再去找个Netuser.exe,放在bin目录里
--感谢canders的提醒,之前没考虑到过期问题:)
E、在临时文件夹中建立setup.bat文件,内容如下:
rem 创建postgres用户,用来管理服务
net user postgres [passwd] /add /PASSWORDCHG:NO
rem 让postgres用户不属于users组,官方说不安全,照做
net localgroup users postgres /delete
rem 设置postgres用户密码永不过期
.\bin\netuser postgres /pwnexp:y
rem 拷贝文件,力气活
copy .\dll\*.* %windir%\system32 /Y
rem 赋予postgres用户logon as service权限,技巧!!
rem 插一句废话,ntrights.exe的参数列表里没有我用的这个,:)
.\bin\ntrights.exe -u postgres +r SeServiceLogonRight
rem 以下摘自pginstaller源文件,照做,主要是postgres用户的文件权限
rem 其实是给ntfs用的,xp在fat32格式时会报错,无视!
cacls . /E /T /D postgres
cacls . /E /T /G postgres:R
cacls .\data /E /T /P postgres:C
rem 建立PostgresQL服务,不要像那个台湾人一样加入-L
rem 否则事件查看器将变成windows写情书给你的地方
.\bin\pg_ctl register -N PgSQL -U postgres -P [passwd] -D "%CD%/data"
rem 启动刚才的服务
net start PgSQL
F、把整个临时目录打包分发,解压后只要运行setup.bat就万事大吉
1、远程桌面安装兼容性差(目前官方的说法是除了win2003都有问题)
2、无法随程序打包
3、安装后的建库工作会受到分区格式的影响
针对以上问题,现给出如下解决方案:
A、在随便一台机器上装好pgsql,并且建好库、导好数据
B、将整个pgsql的安装好的目录复制到一个临时文件夹(例如
d:\temp),应该包括:
bin、data、include、lib、share等,视情况可以考虑加入pgadminIII
C、在临时文件夹中建立dll目录,包括以下5个文件:
libeay32.dll/libiconv-2.dll/libintl-2.dll/libpq.dll/ssleay32.dll
(都可以在安装好的机器中找到)
D、网上去找个ntright.exe文件,放在bin目录里(随便放哪,但是后面安装完成最好删掉)
--修正:网上再去找个Netuser.exe,放在bin目录里
--感谢canders的提醒,之前没考虑到过期问题:)
E、在临时文件夹中建立setup.bat文件,内容如下:
rem 创建postgres用户,用来管理服务
net user postgres [passwd] /add /PASSWORDCHG:NO
rem 让postgres用户不属于users组,官方说不安全,照做
net localgroup users postgres /delete
rem 设置postgres用户密码永不过期
.\bin\netuser postgres /pwnexp:y
rem 拷贝文件,力气活
copy .\dll\*.* %windir%\system32 /Y
rem 赋予postgres用户logon as service权限,技巧!!
rem 插一句废话,ntrights.exe的参数列表里没有我用的这个,:)
.\bin\ntrights.exe -u postgres +r SeServiceLogonRight
rem 以下摘自pginstaller源文件,照做,主要是postgres用户的文件权限
rem 其实是给ntfs用的,xp在fat32格式时会报错,无视!
cacls . /E /T /D postgres
cacls . /E /T /G postgres:R
cacls .\data /E /T /P postgres:C
rem 建立PostgresQL服务,不要像那个台湾人一样加入-L
rem 否则事件查看器将变成windows写情书给你的地方
.\bin\pg_ctl register -N PgSQL -U postgres -P [passwd] -D "%CD%/data"
rem 启动刚才的服务
net start PgSQL
F、把整个临时目录打包分发,解压后只要运行setup.bat就万事大吉
- postgreSql随程序打包,服务启动不了
- postgresql服务启动不了
- postgreSQL 启动不了
- sql2008服务启动不了
- MSsqlserver 服务启动不了
- Mysql服务启动不了
- Oracl 服务启动不了
- SQL服务启动不了
- Apache 服务启动不了
- mysql服务启动不了
- mysql服务启动不了
- sql 2005 服务启动不了
- MySql的服务启动不了
- Altibase 服务启动不了(windows)
- myeclipse的服务启动不了
- nbu服务启动不了,解决方案
- mysql服务启动不了解决方案
- Window Installer服务启动不了
- qtp-录制中截图
- 用两个栈实现队列的入队和出对操作
- WEB编程的精髓探讨
- HDU 4637 Rain on your Fat brother 线段与半圆和线段交 简单题 (2013多校联合)
- C# 使用List泛型读取和保存文本文件
- postgreSql随程序打包,服务启动不了
- OpenGL光照测试
- DEFLATE压缩字符串
- Visual Studio 那些隐藏的调试功能
- java String转sql date
- http://dumpcookie.tistory.com/8
- 大端模式和小端模式解析(包含面试题)
- xshell 3.0中文乱码最终的解决方案
- centos下读取某个文件的头几行或末几行