`
hanyoud
  • 浏览: 40524 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

完美pgsql随程序打包实例

阅读更多
原始地址:http://bbs.pgsqldb.com/index.php?t=msg&th=7120&start=0&rid=501&S=2b076013b2827ff9f6e17b33bd141448



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就万事大吉
G、有经验的朋友可以在bat中加入信息反馈或者标志,我就偷懒了
注:在win2000、winxp、win2003 (ntfs、fat32、远程桌面、中文父文件夹)下做过测试,弄懂原理的就照做,弄不懂的就google,呵呵
分享到:
评论

相关推荐

    生成pgsql表结构程序

    本文将深入探讨如何利用特定程序来生成PGSql的表结构文档,这在数据库设计、维护和团队协作中具有极高的实用价值。 首先,我们要理解表结构是数据库设计的基础,它定义了数据库中的各个表、字段、数据类型以及它们...

    java操作json实例

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,被广泛用于Web应用程序之间传递数据。在Java中,处理JSON的主要库有Jackson、Gson、org.json和json-simple等。本实例将重点介绍如何使用Java的...

    pgsql查询优化之模糊查询实例详解

    一直以来,对于搜索时模糊匹配的优化一直是个让人头疼的问题,好在强大pgsql提供了优化方案,下面就来简单谈一谈如何通过索引来优化模糊匹配 案例 我们有一张千万级数据的检查报告表,需要通过检查报告来模糊搜索...

    pgsql12和pgsql9.6(包含对应版本的pggis)

    ”意味着这些文件是预打包的安装程序,用户可以直接下载并安装,无需在多个地方寻找各个组件。 从压缩包子文件的文件名称列表中,我们可以看到以下内容: 1. `postgis-bundle-pg12x64-setup-3.1.4-1.exe`: 这是...

    pgsql连接工具,版本6.8

    一旦安装完成,pgAdmin4可以连接到本地或远程的PostgreSQL实例,支持SSL加密以保证数据传输的安全性。 【有问题点我!安装教程!.png】可能是一个详细的安装指南,指导用户如何下载并安装pgAdmin4 6.8。通常,安装...

    pgsql.zip 下载下载

    1. **安装程序**:pgsql.zip 可能包含了 PostgreSQL 的安装程序,这可能是 Windows、Linux 或 macOS 平台上的安装包。安装程序将帮助用户在他们的系统上安装和配置 PostgreSQL 服务器。 2. **配置文件**:...

    解密PGSQL数据库引擎

    L 数据库引擎的独特特点2.3 PGSQL 数据库引擎的关键特性PGSQL 数据库引擎拥有许多独特的特点,使其在众多数据库引擎中脱颖而出: 1. 支持复杂数据类型:不同于传统的关系型数据库仅支持基本的数据类型,PGSQL 引擎...

    postgis-shp2pgsql

    **PostGIS与Shp2pgsql** PostGIS是一个开源的空间数据库扩展,它为PostgreSQL数据库管理系统添加了对地理对象的支持。PostGIS使得存储、查询、分析和操作地理空间数据成为可能,广泛应用于地理信息系统(GIS)领域...

    centos下php安装pgsql和pdo_pgsql扩展,这是另一种方法,很简便,用.so文件来安装

    在Linux环境下,特别是CentOS操作系统中,PHP是用于开发Web应用程序的常用脚本语言,而PostgreSQL(简称pgsql)则是一种强大的开源关系型数据库系统。为了使PHP能够与PostgreSQL数据库进行交互,需要安装和配置PHP的...

    winform导出PGSQL表结构

    在.NET Framework 4.5.1环境下,使用C#开发WinForm应用程序来导出PostgreSQL(简称PGSQL)数据库的表结构信息至Excel文件是一项常见的数据处理任务。这个任务涉及了几个关键的技术点,包括数据库连接、数据查询、...

    pgsql数据库jdbc驱动jar包

    pgsql数据库jdbc驱动jar包

    QT连接PSQL数据库打包程序

    QT连接PSQL数据库打包程序是基于QT5.6框架实现的一个应用示例,它能够与PostgreSQL(简称PSQL)数据库进行交互,包括常见的增、删、查、改操作。这个程序的核心在于如何在QT环境中配置和使用PSQL数据库驱动,以及...

    pgsql安装,绿色

    pgsql,全称PostgreSQL,是一种开源的对象关系型数据库管理系统(ORDBMS),以其高度的稳定性和强大的功能在IT行业中广受赞誉。对于“pgsql绿色版本安装”这个问题,我们可以理解为用户正在尝试安装一个免安装、便携...

    pgsql中使用mybatis生成实体类

    在使用PostgreSQL(pgsql)数据库时,MyBatis是一个非常流行的持久层框架,它提供了将SQL查询映射到Java对象的灵活方式。本篇文章将详细探讨如何在pgsql环境中利用MyBatis来生成实体类,从而简化开发过程。 首先,...

    pgsql:Erlang PostgreSQL驱动程序

    4. Makefile或其他构建脚本:用于编译和打包pgsql驱动程序的指令。 通过研究源代码,你可以学习到Erlang如何与数据库进行交互,了解网络通信、数据序列化和并发控制等技术。这对于提升Erlang和数据库系统的开发能力...

    nacos 链接postgregreSql版本nacos-pgsql

    因此,"nacos-pgsql"的出现是为了满足那些使用PostgreSQL的项目集成Nacos的需求。 首先,让我们深入了解一下Nacos与PostgreSQL的集成。Nacos-PgSQL是Nacos的一个定制版,它扩展了对PostgreSQL数据库的支持。在原生...

    pgsql驱动jar包

    pgsql驱动jar包,jdk 本身没有提供访问数据库的能力,它只是提供了一些接口,具体功能由各个数据库的的驱动jar包来实现,举个例子,Connection 它只是一个接口,具体的实现由具体的数据库的的驱动jar包实现,你可以在...

    mysql、pgsql自动生成数据库设计文档

    2. **脚本或应用程序**:执行自动文档生成的代码,可能是Python、Java或其他编程语言实现。 3. **模板文件**:定义生成文档的样式和格式,如CSS样式表或Markdown模板。 4. **输出样例**:展示工具生成的数据库设计...

    shp导入到pgsql桌面应用

    标题 "shp导入到pgsql桌面应用" 涉及到的是将地理信息系统(GIS)中的Shapefile格式数据导入到PostgreSQL数据库中,特别是在一个桌面应用程序的环境中。Shapefile是一种广泛用于存储矢量地理数据的标准格式,它由...

    navicat112_pgsql_cs_x64.exe

    navicat_pgsql navicat_pgsql navicat_pgsql navicat_pgsql

Global site tag (gtag.js) - Google Analytics