让PostgreSQL数据库和移动硬盘一起移动

本文介绍了一种方法,使得PostgreSQL数据库可以安装在移动硬盘上,并能在不同PC机上通过自动配置程序启动和停止,避免了重复安装的繁琐步骤。通过修改注册表条目和编写批处理文件,实现了移动硬盘盘符变化后的自动配置。
摘要由CSDN通过智能技术生成

让PostgreSQL数据库和移动硬盘一起移动


 

摘  要:通过分析PostgreSQL安装成功后在windows注册表上所注册的条目,依此编写相关配置程序,当安装了PostgreSQL数据库的移动硬盘通过USB口插入其它PC机,通过运行此程序能够马上启动移动硬盘上的数据库,避免重装PostgreSQL数据库的费时费力的麻烦。

关键词:PostgreSQL;移动硬盘

由于PostgreSQL数据库知识太过繁复,需要长期的学习和实操。如果PostgreSQL能够安装在移动硬盘上,在任何有PC机的地方(比如公共图书馆),插上移动硬盘,执行必要的程序后,就能使用(当然能够通过编辑autorun.inf文件做到插上就能启动),是一个不错的主意。下面是经过多次尝试达到此目的经过检验的制作过程。

1 在移动硬盘上安装PostgreSQL数据库

首先保证移动硬盘有一个固定的盘符,尽量选择较大的字符,比如G以免与PC机上的盘符产生冲突(一般选择G盘比较好)。

将移动硬盘插入PC机后,查看盘符是否为G,不为G通过【计算机管理】下【磁盘管理】中选择移动硬盘,鼠标右键,选择菜单【更改驱动器名和路径】将其改为G。

然后按照常规的PostgreSQL安装方法将PostgreSQL安装在移动硬盘上。

我们假定数据库实例名为MY11.

2 复制PostgreSQL应用程序快捷方式

假定PostgreSQL安装在G:\0PostgreSQL下,在此目录下创建一个子目录比如dbstart,再在此子目录下创建下一级子目录比如9.3用于存放各种用于配置PostgreSQL的各种文件.这一级目录可以有多个,比如9.3用于存放与一个PostgreSQL9.3数据库相关的文件,而9.2用于存放与一个PostgreSQL9.2数据库相关的文件等(如果你准备在移动硬盘上安装各种版本的PostgreSQL数据库的话)。

将安装PostgreSQL后产生的PostgreSQL应用程序的菜单目录(例如C:\Documents andSettings\All Users\「开始」菜单\程序\PostgreSQL9.3)复制到上述子目录下(这个目录下是一些PostgreSQL程序的快捷方式),以便当此移动硬盘插入其他PC机时可以方便的使用PostgreSQL的相关程序。

3 导出及编制PostgreSQL注册表的相关条目文件

导出[HKEY_LOCAL_MACHINE\SOFTWARE\PostgreSQL],将文件命名为PostgreSQL.reg。

导出[HKEY_LOCAL_MACHINE\SOFTWARE\PostgreSQL Global Development Group],将文件命名为PostgreSQL_Global_Development_Group.reg。

导出[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\postgresql-9.3],将文件命名为PostgreSQL_CurrentControlSet.reg,复制此文件为PostgreSQL_ControlSet001.reg、PostgreSQL_ControlSet002.reg、PostgreSQL_ControlSet003.reg、PostgreSQL_ControlSet004.reg,并将各文件中的CurrentControlSet分别改为ControlSet001、ControlSet002、ControlSet003、ControlSet004。然后将这些文件放在目录G:\0PostgreSQL\dbstart\9.3下。

4 编写相关自动配置程序

编写下列批处理程序PostgreSQL_start.bat和PostgreSQL_stop.bat,并存放在目录G:\0PostgreSQL\dbstart\9.3下

启动PostgreSQL的批处理程序PostgreSQL_start.bat如下:

rem 创建、注册并启动PostgreSQL企业管理服务

 

rem 先创建服务,服务中的服务执行程序是否完整无所谓

%systemroot%\system32\sc createpostgresql-9.3 binPath= "G:\0PostgreSQL\9.3\bin\pg_ctl.exe"

rem 将PostgreSQL相关信息导入注册表

reg import PostgreSQL.reg

reg importPostgreSQL_Global_Development_Group.reg

 

rem 用正确的带参数的执行程序替换占位的服务执行程序,并用完整的服务参数导入注册表中

reg importPostgreSQL_ControlSet001.reg

reg importPostgreSQL_ControlSet002.reg

reg importPostgreSQL_ControlSet003.reg

reg import PostgreSQL_ControlSet004.reg

reg importPostgreSQL_CurrentControlSet.reg

 

rem 启动PostgreSQL企业管理服务

%systemroot%\system32\sc startpostgresql-9.3

 

关闭PostgreSQL的批处理程序PostgreSQL_stop.bat如下:

%systemroot%\system32\scstop postgresql-9.3

Exit

 

5 如何自动修改移动硬盘的盘符

为了解决当移动硬盘通过USB口插入PC机后,其盘符可能不为G这一问题,可以通过编写下列批处理start_g.bat将移动硬盘的新的盘符改成G。此批处理程序存放在目录Ж:\ 0PostgreSQL\dbstart\9.3下(其中Ж为移动硬盘当前的盘符)。它只有下列一条语句&#x

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值