win7 编译postgresql9.6.8
一、环境
windows7
postgresql9.6.8
vs2010
二、编译安装
1、安装perl,安装到C:\Perl64路径下,安装完成后设置环境变量PATH和Perl5Lib。
如系统中有多个版本的perl,版本不对的话在执行build DEBUG时会出现如下错误
2、修改postgresql配置文件,否则会出现编译错误。修改内容如下:
D:\pg\postgresql-9.6.8\src\tools\msvc\Mkvcbuild.pm文件中87行注释掉,增加88行
3、修改D:\pg\postgresql-9.6.8\src\backend\main\main.c文件,注释掉197行check_root(progname);
4、用vs打开D:\pg\postgresql-9.6.8\src\fe_utils\print.c文件,将文件编码改为
5、用vs的cmd工具,在D:\pg\postgresql-9.6.8\src\tools\msvc路径下执行build DEBUG
编译完成后如出现如下提示,则编译成功
执行install D:\pg\pgsql命令进行安装
6、进入D:\pg\pgsql安装目录,创建data文件夹,并设置PGDATA和PATH环境变量,然后执行initdb.exe -D D:\pg\pgsql\data命令
完成数据库的初始化,如下图所示
7、启动数据库
8、连接数据库,并执行select version()命令
三、vs调试postgresql
1、到pg源码目录下用vs打开pgsql.sln
2、修改pg_config_paths.h文件,修改后的内容如下
3、设置postgres项目属性,并设置为启动项目。
4、vs上执行F5,启动postgres服务,客户端通过以下目录获取后台进程ID号
5、在vs界面上将postgres进程id号为6572的进程附加到vs中
6、设置断点
7、客户端执行sql命令即可进入断点调试