Windows下搭建PostgreSQL调试环境

前言

对于很多人来说,还是习惯在Windows下使用开发调试程序,在Windows下编译有很多方法,比如使用cygwin或MinGW,也可以使用MS Platfrom SDK,当然最简单的方法就是直接使用VS,本文介绍在Windows 2003下使用VS 2005编译调试PostgreSQL。其它方式编译请参考手册第16章。

安装依赖软件

1)VS

关于VS的版本文档中说支持VS 2005和 VS 2008,我只有VS 2005,至于VS 2008是否会遇到问题,目前还不清楚。

2)Perl

在Windows下编译,需要使用perl的支持,perl脚本在src/tools/msvc下面,perl的安装程序可以在这里下载:

http://www.activestate.com/activeperl/downloads

下载后直接双击安装程序安装,例如我安装在C:\perl

3)bsion、diff、gettext

这些软件下载地址 :http://gnuwin32.sourceforge.net/packages.html

下载后直接安装,例如我安装在C:\GNU下面,它会在C:\GNU下建立bin、shared等目录。

4)flex

不知什么原因手册中flex的下载地址和bsion等不一样,其地址为http://www.postgresql.org/ftp/misc/winflex/

为了区别,直接把flex的文件夹放在C:\GNU2下面

5)其它功能依赖的库

还有像python、tcl、xml、zlib、openssl等库不是必需的,也就不多介绍了,如果需要,可自行安装。

设置环境变量

右键单击我的电脑->属性->高级->环境变量,把C:\GNU2\flex;C:\GNU\bin添加到系统环境变量Path中。

编译安装

建议下面操作使用postgres用户

1)从http://www.postgresql.org/ftp/source/v9.0.3/下载代码,然后解压到某个目录下,比如我D:\work\pgsql

2)打开命令窗口,如果你没有设置VS路径到path里,需要手动设置,执行vsdir\VC\bin\vcvars32.bat。

3)cd D:\work\pgsql\postgreSQL-9.0.3\src\tools\msvc,然后执行perl.exe mkvcbuild.pl,如果找不到perl的话可以使用绝对路径引用,这样就在D:\work\pgsql下生成pgsql的VS 解决方案,使用VS打开pgsql解决方案,然后编译;

4)或者也可以直接使用命令编译,执行build DEBUG命令;

5)install D:work\pgsql\install,这样编译的PostgreSQL就被安装到D:\work\pgsql\install下面了

注意:如果你需要某些特性,例如,需要openssl支持,新建config.pl,然后加入$config->{openssl} = 'openssl安装路径',然后再执行3或4。

调试

使用VS打开解决方案,右键单击要调试的程序,例如initdb,选择属性->配置属性->调试,输入调试参数和工作目录,例如参数为-D,工作目录为d:\work\pgsql,最后确定;

右键点击要initdb->调试->进入并单步执行新实例,这样就可以调试initdb了

未解决问题

  编译安装后,执行initdb -D data,会出现错误,似乎跟系统语言有关,下来还需要研究一下问题的原因。如果你知道原因,欢迎指正!

posted on 2012-01-11 15:10  madahah  阅读(1549)  评论(2编辑  收藏  举报

导航