PostgreSQL学习笔记搭建了Postgres在Windows上的编译调试环境.doc

PostgreSQL学习笔记搭建了Postgres在Windows上的编译调试环境.doc

  1. 1、本文档共24页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PostgreSQL学习笔记搭建了Postgres在Windows上的编译调试环境

PostgreSQL学习笔记YY 搭建了Postgres在Windows上的编译调试环境 分析Postgresql源代码 2011-07-01 15:58:41| 分类: IT-POSTGRESQL | 标签: |字号大 中 小 订阅 分析Postgresql源代码(01) 向前走,你就会产生勇气。现在,让我们一起来踏上postgresql源代码分析的艰辛之路吧。欲善其事,必利其器,我将在这第一篇文章中向你介绍如何做准备工作。 1)准备用于分析的源代码 首先,到去下载源代码,最好是下载那个全部打包在一起,8MB多的文件,然后,在linux下编译安装,最后将成功编译后的源代码打包拷回windows环境,因为我推荐的源代码分析工具都是windows环境下的 2)准备用于分析源代码的工具 可以在两个方案中选择: SourceInsight, Microsoft visual c++(可以再加上visual assistant) 我推荐SourceInsight 3)准备参考书籍 关于数据库系统理论的书籍,下面二选一: 数据库系统概论(第三版),萨师煊、王珊,高等教育出版社 数据库系统概念(第四版影印版),Abraham Silberschatz等,高等教育出版社 关于数据库系统实现的书籍,下面二选一: 数据库系统实现(中文版),杨冬青等译,机械工业出版社 数据库系统实现(英文版),Hector Garcia-Molina等,机械工业出版社 关于Unix编程 Unix环境高级编程, 尤晋元等译,机械工业出版社 4)准备向别人求教 我个人以为,postgresql源代码分析是需要相当长一段时间的。在这漫长的时间和庞大的代码量面前,我觉得进行分析的人目前的水平如何倒不是很重要的了,重要的是耐心和毅力。我特别希望这里能够成为切磋讨论的地方,所以有问题,就可以优先考虑到这里来发问。 发表于 2009-9-24 23:55 | 只看该作者 分析Postgresql源代码(02) 这一篇短文中,将介绍postgresql源代码的组成。先感谢鼓励我做源代码分析的兄弟,呵呵,你们的鼓励也许将我推上了一条不归路。 从Linux下拷回通过编译的源代码后,在硬盘上展开,例如我展开后将所有的源代码放到D:\Postgresql\source目录下。然后建立一个目录D:\Postgresql\insight,打开sourceinsight后在这个目录下创建一个project,将D:\Postgresql\source\backend目录下的所有文件加入该项目 然后找到D:\Postgresql\source\doc\postgres.tar.gz,将它解开到D:\Posgresql\doc目录下,再用浏览器打开D:\Postgresql\doc\html\index.html并按ctrl+d加入收藏夹,有时间的话,最好先读完这份文档(这份文档有laser的中文翻译版)。另外再用浏览器打开D:\Postgresql\source\src\tools\backend\index.html,将它也加入收藏夹,这份文档的名称是How PostgreSQL Processes a Query,随便点击文档中的图上任一框即转到postgresql源代码组成介绍,大致意思翻译如下: PostgreSQL的Backend目录 作者:Bruce Momjian 点击小节的标题即可见到该节的源代码 bootstrap - 通过initdb创建最初的数据库模板 几乎PostgreSQL的每一个操作都需要存取系统表,那么如何创建这些系统表呢?不能以通常的方式创建这些系统表并向其中插入数据,因为表的创建和插入要求系统表已经存在。这一部分代码的目的就是使用一种仅仅在bootstrap过程中使用的特殊方法来直接建立系统表 main - 将控制转到postmaster或postgres 检查进程名(argv[0])和各种标志, 然后将控制转到postmaster或postgres postmaster - 控制postgres服务器启动/终止 创建共享内存,然后进入一个循环等待连接请求。当一个连接请求到达时,启动一个postgres后台服务进程,将连接转给它 libpq - 后台服务器libpq库函数 处理与客户进程间的通讯 tcop - 将请求分派到合适的模块 这是postgres后台服务进程的主要处理部分, 它调用parser, optimizer, executor, 和commands中的函数 parser - 将SQL查询转化为查询树 将来自libpq的SQL查询转换为命令形式的结构供

文档评论(0)

zhuwenmeijiale + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:7065136142000003

1亿VIP精品文档

相关文档