postgresql学习笔记搭建了postgres在windows上的编译调试环境

postgresql学习笔记搭建了postgres在windows上的编译调试环境

ID:9805149

大小:131.50 KB

页数:24页

时间:2018-05-10

postgresql学习笔记搭建了postgres在windows上的编译调试环境_第1页
postgresql学习笔记搭建了postgres在windows上的编译调试环境_第2页
postgresql学习笔记搭建了postgres在windows上的编译调试环境_第3页
postgresql学习笔记搭建了postgres在windows上的编译调试环境_第4页
postgresql学习笔记搭建了postgres在windows上的编译调试环境_第5页
资源描述:

《postgresql学习笔记搭建了postgres在windows上的编译调试环境》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、PostgreSQL学习笔记YY搭建了Postgres在Windows上的编译调试环境分析Postgresql源代码2011-07-0115:58:41

2、分类:IT-POSTGRESQL

3、标签:

4、字号大中小订阅分析Postgresql源代码(01)向前走,你就会产生勇气。现在,让我们一起来踏上postgresql源代码分析的艰辛之路吧。欲善其事,必利其器,我将在这第一篇文章中向你介绍如何做准备工作。1)准备用于分析的源代码首先,到www.postgresql.org去下载源代码,最好是下载那个全部打包在一起,8M

5、B多的文件,然后,在linux下编译安装,最后将成功编译后的源代码打包拷回windows环境,因为我推荐的源代码分析工具都是windows环境下的2)准备用于分析源代码的工具可以在两个方案中选择:SourceInsight,http://www.sourceinsight.comMicrosoftvisualc++(可以再加上visualassistant)我推荐SourceInsight3)准备参考书籍关于数据库系统理论的书籍,下面二选一:数据库系统概论(第三版),萨师煊、王珊,高等教育出版社数据库系统概念(第

6、四版影印版),AbrahamSilberschatz等,高等教育出版社关于数据库系统实现的书籍,下面二选一:数据库系统实现(中文版),杨冬青等译,机械工业出版社数据库系统实现(英文版),HectorGarcia-Molina等,机械工业出版社关于Unix编程Unix环境高级编程,尤晋元等译,机械工业出版社4)准备向别人求教我个人以为,postgresql源代码分析是需要相当长一段时间的。在这漫长的时间和庞大的代码量面前,我觉得进行分析的人目前的水平如何倒不是很重要的了,重要的是耐心和毅力。我特别希望这里能够成为切

7、磋讨论的地方,所以有问题,就可以优先考虑到这里来发问。发表于2009-9-2423:55

8、只看该作者分析Postgresql源代码(02)这一篇短文中,将介绍postgresql源代码的组成。先感谢鼓励我做源代码分析的兄弟,呵呵,你们的鼓励也许将我推上了一条不归路。从Linux下拷回通过编译的源代码后,在硬盘上展开,例如我展开后将所有的源代码放到D:Postgresqlsource目录下。然后建立一个目录D:Postgresqlinsight,打开sourceinsight后在这个目录下创建一个proje

9、ct,将D:Postgresqlsourcebackend目录下的所有文件加入该项目然后找到D:Postgresqlsourcedocpostgres.tar.gz,将它解开到D:Posgresqldoc目录下,再用浏览器打开D:Postgresqldochtmlindex.html并按ctrl+d加入收藏夹,有时间的话,最好先读完这份文档(这份文档有laser的中文翻译版)。另外再用浏览器打开D:Postgresqlsourcesrctoolsbackendindex.ht

10、ml,将它也加入收藏夹,这份文档的名称是"HowPostgreSQLProcessesaQuery",随便点击文档中的图上任一框即转到postgresql源代码组成介绍,大致意思翻译如下:PostgreSQL的Backend目录作者:BruceMomjian--------------------------------------------------------------------------------点击小节的标题即可见到该节的源代码bootstrap-通过initdb创建最初的数据库模板几乎Pos

11、tgreSQL的每一个操作都需要存取系统表,那么如何创建这些系统表呢?不能以通常的方式创建这些系统表并向其中插入数据,因为表的创建和插入要求系统表已经存在。这一部分代码的目的就是使用一种仅仅在bootstrap过程中使用的特殊方法来直接建立系统表main-将控制转到postmaster或postgres检查进程名(argv[0])和各种标志,然后将控制转到postmaster或postgrespostmaster-控制postgres服务器启动/终止创建共享内存,然后进入一个循环等待连接请求。当一个连接请求到达时

12、,启动一个postgres后台服务进程,将连接转给它libpq-后台服务器libpq库函数处理与客户进程间的通讯tcop-将请求分派到合适的模块这是postgres后台服务进程的主要处理部分,它调用parser,optimizer,executor,和commands中的函数parser-将SQL查询转化为查询树将来自libpq的SQL查询转换为命令形式的结构供optim

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。