-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.xml
48 lines (41 loc) · 4.22 KB
/
index.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>G-量子变化</title>
<link>https://lavender1900.github.io/</link>
<description>Recent content on G-量子变化</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<lastBuildDate>Tue, 28 Jan 2020 16:00:23 +0800</lastBuildDate>
<atom:link href="https://lavender1900.github.io/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Windows下使用Visual Studio 2019和Win10 SDK编译Postgre Sql 9.6</title>
<link>https://lavender1900.github.io/compile_pg_9.6_with_vs2019_and_win10_sdk/</link>
<pubDate>Tue, 28 Jan 2020 16:00:23 +0800</pubDate>
<guid>https://lavender1900.github.io/compile_pg_9.6_with_vs2019_and_win10_sdk/</guid>
<description>新年马上就要到了,不知道正在看这篇文章的你是不是跟我一样,买了《数据库查询优化器的艺术》这本书,立下宏愿要横扫源码澄清玉宇,结果被&quot;从零编译Postgresql&quot;这个第一关小Boss按在地上狂虐呢?
如果是的话,让我来手把手现场教学怎么反手虐Boss
我选择的PG版本是9.6.10。各位请酌情选择自己看对眼的版本,我不保证其他版本能顺利编译哈。
还有,我编译完成的PG是32位的,想要编译为64位的朋友这篇文章可能不适合你。
打个比喻,按照官方文档从源码编译就像是走在平坦的大马路上,忽然你看到有个浅浅的水坑,自信的你微微一笑,依据文档指示踩了上去,然后整个人就淹没了。
没错,编译源码是件很头痛的事情,因为文档里包含的内容太简单了,各位意外情况直接让人崩溃。尤其是像我这样一直浸淫在Java的程序员,对Windows平台下的编译许久不接触,直接上手比较困难,各种报错更是得花费相当的时间才能找到源头。故而,我决定发扬社会主义核心价值观,前人栽树后人乘凉,只求付出不求回报的原则,将我走过的弯路记录下来,为希望研究数据库源码的各位提供借鉴,极大提高各位的幸福指数和社会生产力。
首先请各位参阅PG的官方编译文档 ,至少你得知道有哪些依赖以及必要的前置步骤。
然后我要告诉你,先别急着去找这些依赖,文档里记录的依赖有些是不正确的,更要命的是编译的时候不会报错,等到编译完成你会发现 — WTF? 程序为什么运行不起来:-(
OK,下面就开始主题 —— 从零编译Postgresql
一. 配置文件 在src/tools/msvc目录下建立config.pl文件,下面贴一下我的配置文件内容给大家作个参考,大家根据自身情况调整就好了
use warnings; our $config = { asserts =&gt; 0, # --enable-cassert nls =&gt; &#34;C:\\MinGW&#34;, # --enable-nls=&lt;path&gt; tcl =&gt; &#34;C:\\Tcl&#34;, # --with-tcl=&lt;path&gt; perl =&gt; &#34;C:\\Perl&#34;, # --with-perl python =&gt; &#34;C:\\Python\\Python38-32&#34;, # --with-python=&lt;path&gt; openssl =&gt; &#34;C:\\openssl&#34;, # --with-openssl=&lt;path&gt; krb5 =&gt; &#34;C:\\Program Files (x86)\\MIT\\Kerberos&#34;, uuid =&gt; &#34;E:\\ossp_uuid&#34;, # --with-ossp-uuid xml =&gt; &#34;E:\\libxml&#34;, # --with-libxml=&lt;path&gt; xslt =&gt; &#34;E:\\libxslt&#34;, # --with-libxslt=&lt;path&gt; iconv =&gt; &#34;C:\\MinGW&#34;, # (not in configure, path to iconv) zlib =&gt; &#34;E:\\zlib-win32&#34; # --with-zlib=&lt;path&gt; }; 1; 二.</description>
</item>
<item>
<title>About</title>
<link>https://lavender1900.github.io/about/</link>
<pubDate>Thu, 16 Jan 2020 17:04:47 +0800</pubDate>
<guid>https://lavender1900.github.io/about/</guid>
<description>想养只狗,然而人人反对。
想去旅游,然而口袋没钱。
想要放纵,然而不复少年。
想起曾经,然而踽踽独行。
想不通,时间总是悄悄留下伤痕。
不想通。</description>
</item>
</channel>
</rss>