声明:本人不是数据库专家,所以,写出来的文章也只是入门级文章。写本文的原因,主要是因为目前谢DBMS源代码分析的文章好像很少,所以,希望写些文章来抛砖引玉,很希望能得到您的意见和讨论。
1、开篇废话
在计算机领域,什么是最重要的---数据 (信息)。
- 数据库 -> 管理数据
- 搜索引擎 -> 搜索数据
- 数据挖掘 -> 发现知识
- 数据存储
数据就是知识,知识就是力量,:) 所以数据库还是很重要的。不过这些有点扯远了,言归正题,其实,想读数据库的源代码主要是因为 DBMS(数据库管理系统)包含了很多功能: 文件管理,同步控制,SQL语言解析,事务处理,错误恢复等等。而且DBMS一般是一个完整的系统,不是一个toy project,所以,它涉及的很多知识肯定能应用于自己编的其它程序,换句话说,我们也许能从中学到些知识。
估计有人该问了,那为什么是PostgreSQL, 而不是MySQL呢?它们都是开源数据库,而且使用MySQL的人更多。恩,也许是因为它们采用的license不同吧,PostgreSQL许可的更多吧,:) 其实,坦白的说,更主要的是,我以前只接触过一点PostgreSQL 而没有接触过MySQL。
本文主要讲的是Windows下如何编译PostgreSQL,这样就可以用熟悉的Visual Studio 2005来阅读和调试PostgreSQL源代码了。 在调试器下跟踪源代码&