有一阵子因工作需要,根据前人的文字和网上资源摸索着搭建了一个PostgreSQL的调试环境,与大家分享一下。
准备工作:
1.PostgreSQL(以下称pg)源码。
可以到官方网站上下载,最新的是9.0,此前的是8.4.1、8.4.2和8.4.3。注意8.4.*版本和9.0版本在配置时稍有不同,我会着重说明。这里使用8.4.1版本的源码,解压到d:/ code/postgresql8.4.1。
2.编译所需的工具包。
主要有openssl、Perl、Python、Tcl、iconv、krb5、xml、xslt、zlib、bison、flex。这些工具都可以从相应官网上下载。为了简化起见,可以安装pg对应版本的windows可执行安装文件,安装完成后就会自动添加这些工具。默认的路径如下:openssl、Perl、Python、Tcl的路径为c:/;iconv、krb5、xml、xslt、zlib的路径在c:/prog/pgsql/depend;bison、flex的路径在c:/prog/pgsql/GnuWin32/bison/bin。有些人愿意把这些工具放在一个统一的目录下面以便管理,这是个人习惯问题,读者可以根据自己的习惯配置。
3.准备编译环境
我使用的编译平台是vs2005。由于pg是在linux上开发,所以windows下的源码并没有对应的工程文件,好在pg提供了自动配置的perl文件,可以手动生成。
4.设置环境变量
由于需要执行perl文件调用bison、flex,所以必须在环境变量中添加相应的路径;另外必须添加的是编译器的路径,注意:8.4.*版本是Msbuild.exe一般在C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727目录下,9.0版本是vcbuild.exe在C:/或D:/Program Files/Microsoft Visual Studio 8/VC/vcpackages下。这些改动以及下文提到的config.pl细微差别可以对比两个版本的Solution.pm。因操作系统的不同,进行环境变量设置后并不能马上生效,需要重启,这里提供一种方法,避免重启。在命令行下执行SET $PATH=C:回车,退出cmd,再次进入cmd,执行set进行查看环境变量是否重启。
5.配置pg