Windows10安装postgresql-12源码

一、本机环境

OS:Windows10 1511

Software:Visual Studio 2017 Community

二、安装过程

Step1:编译

下载postgresql源码,解压,在Visual Studio的开发人员命令提示符下,进入\postgresql-12.2\src\tools\msvc目录,输入build debug,按下回车。

(1)问题1:perl未安装

解决:

perl下载地址Download & Install Perl - ActiveState

安装好后,在cmd输入perl -v,如下:

Windows10安装postgresql-12源码_第1张图片

重复Step 1。

 (2)问题2:识别不了Visual Studio的版本

解决:

修改msvc目录中 VSObjectFactory.pm文件,把该文件最下面的 DetermineVisualStudioVersion 函数中if ($output =~ /(\d+)\.(\d+)\.\d+(\.\d+)?$/m) 这行改成if ($output =~ /(\d+)\.(\d+)\.\d+(\.\d+).*$/m)  ,实际就是将 ? 改成 .* 即可。修改完成后如下:

Windows10安装postgresql-12源码_第2张图片

重复Step 1。

(3)问题3:warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保 存为 Unicode 格式以防止数据丢失

Windows10安装postgresql-12源码_第3张图片

解决:

用Visual Studio打开文件“\postgresql-12.2\src\fe_utils\print.c”,将print.c另存为Unicode(UTF-8带签名)-代码页65001编码格式,操作如下:

Windows10安装postgresql-12源码_第4张图片

Windows10安装postgresql-12源码_第5张图片

Windows10安装postgresql-12源码_第6张图片 重复Step 1(重复时需要将之前编译的postgresql源码删除,重新解压缩)。

上述问题都解决后,Step 1终于编译完成:

Windows10安装postgresql-12源码_第7张图片

Step 2:回归测试

编译完成后,输入“perl vcregress.pl check”进行回归测试

(1)问题:报错“不是内部或外部命令,也不是可运行的程序”

Windows10安装postgresql-12源码_第8张图片

解决:

安装diff、flex、bison并加入环境变量。(注:bison安装目录必须无空格)

再次重复Step1编译,然后输入“perl vcregress.pl check”进行回归测试,全部测试通过,如下:

Windows10安装postgresql-12源码_第9张图片

Step 3:安装数据库

(1)执行“perl install.pl C:\PG\pgdb”进行安装,安装结果如下:

Windows10安装postgresql-12源码_第10张图片

(2)执行命令“cd /d C:\PG\pgdb\bin”进入pg安装目录,执行建库操作“initdb.exe -D ../data”,结果如下:

Windows10安装postgresql-12源码_第11张图片

(3)执行命令“pg_ctl.exe -D ../data -l logfile start”启动数据库,结果如下:

(4)新开一个cmd窗口,输入“psql -d postgres”连接到数据库,然后执行命令select pg_backend_pid(),确定当前pg进程的pid,结果如下: Windows10安装postgresql-12源码_第12张图片

至此安装完成,可以愉快地阅读与追踪调试源码啦~

你可能感兴趣的:(数据库,postgresql,数据库,database)