摘要: PostgreSQL的存储系统作为PostgreSQL的最低层,向下通过操作系统系统接口访问物理数据,向上为存取系统提供由缓冲区页面及页面上的接口函数。存储系统的总体架构如下图所示(转自贵州大学硕士黄崇争毕业论文“开放源代码DBMS的分析,比较”) 注释:Lock Manager是锁管理器,IPC是进程间通信,他们实现了存取层对存储层的互斥访问,操作。存储系统各子系统功能如... 阅读全文
posted @ 2010-01-16 16:27 电信415实验室 阅读(6664) 评论(0) 推荐(0)
摘要: 以下有我在网上查到的一些资料,是对PostgreSQL体系结构的一些补充,主要是针对7.4.3版本的:1、PostgreSOL在安装后,其目录组织结构如下图:2、PostgreSQL开发文档中给出的服务器体系结构图:3、PostgreSQL7.4.3的体系结构,如下图所示: l SQL客户端接口负责在客户端和服务器端通信,对应服务器体系结构图中的libpq。 l 系统控制管理器负责初始化和控制整个... 阅读全文
posted @ 2010-01-16 16:00 电信415实验室 阅读(2166) 评论(1) 推荐(0)
摘要: 上图是postgresql的总体架构图,下边是图中几个主要模块的功能简述,希望研究相应模块的同学给出模块的功能简介。 Postmaster:它主要负责在客户端第一次发送请求给服务器的时候建立一个服务器断进程。也就是上图中的Listener。(至今未发现postgresql中有listener,因此本图中的listener应该就是每一个客户端对应的服务器进程)postgre在完成建立... 阅读全文
posted @ 2010-01-15 19:43 电信415实验室 阅读(3829) 评论(3) 推荐(0)
摘要: 大家好,为了便于对博客内容进行管理,请大家在发表博客的时候,把自己名字作为发表文章的Tag标签。谢谢大家合作。 阅读全文
posted @ 2010-01-15 18:53 电信415实验室 阅读(328) 评论(0) 推荐(0)
摘要: 我上网查阅了一些资料,读了一些相关论文。现对PostgreSQL整体架构进行粗略的剖析一下,供大家参考: PostgreSQL的配置结构:PostgreSQL采用的是经典的C/S架构模型,主体是由一个守护监听进程Postmaster,若干个前端应用程序(比如PostgreSQL的客户端,DBMS等)和后段服务器进程(PostgreSQL服务器本身)所组成。大体宏观上的连接过程如下:前端数据库应用程... 阅读全文
posted @ 2010-01-14 19:52 电信415实验室 阅读(1944) 评论(1) 推荐(1)
摘要: 看了孙振兴的帖子,觉得其进展较快,希望其他同学也要加快研究进展,不会的可以讨论,会的同学也不要保守,这次研究也是培养你们协作精神的好机会,都互相热情点,互相帮助,共同加快研究进度。此外,对撰写帖子的结构提点要求:1、贴子要有具体标题,一定放在标题栏里。标题要具体。不要这样写:源代码分析,而要这样写:xxx源代码分析,其中xxx要具体,如果xxx说了很多问题,那么可以分几个帖子来写,一个帖子内容不要... 阅读全文
posted @ 2010-01-14 19:18 电信415实验室 阅读(325) 评论(0) 推荐(0)
摘要: 大家发帖子时在标签处一定写上自己的名字,以便统计每个人发帖子的数量。孙振兴可以逐步建立分类向阳 阅读全文
posted @ 2010-01-14 18:48 电信415实验室 阅读(158) 评论(0) 推荐(0)
摘要: 第一:文章必须要和研究的主题相关。第二:文章最后要署上姓名和研究的主题,可按如下格式:姓名:孙振兴 主题:查询优化器第三:文章内容涉及其他模块时要给文章标题上加上协作二字,如查询优化器解决方案改进(协作)。第四:转载文章必须说明出处或给出网址,并在标题的最后加上转载二字,并在最后给出网址。例如:查询优化器流程分析(转载)。第五:博客最好不要转载英文文献,若有重要的英文文献时,可翻译后发表,并在最后... 阅读全文
posted @ 2010-01-14 16:09 电信415实验室 阅读(241) 评论(0) 推荐(0)
摘要: bootstrap - 通过initdb创建最初的数据库模板 几乎PostgreSQL的每一个操作都需要存取系统表,那么如何创建这些系统表呢?不能以通常的方式创建这些系统表并向其中插入数据,因为表的创建和插入要求系统表已经存在。这一部分代码的目的就是使用一种仅仅在bootstrap过程中使用的特殊方法来直接建立系统表 main - 将控制转到postmaster或postgres 检查进程名(ar... 阅读全文
posted @ 2010-01-14 15:39 电信415实验室 阅读(1691) 评论(0) 推荐(0)
摘要: 看了鲁笛同学发上来的文章,觉得读postgesql工作量很大,不只是要读,关键是还要动手实验,为此我想这样开展工作:1、研究生负责自己承担的模块文章的搜集、阅读,做到宏观上的把握;2、研究生根据阅读思考情况,负责列出子课题,分给每位本科同学,本科同学主要负责动手实验,搞清文章中的每种策略、算法在源代码中都是如何实现的;3、开始时研究生一定要自己亲自剖析一个问题,搞清源代码是怎么实现的,这一点非常重... 阅读全文
posted @ 2010-01-14 00:14 电信415实验室 阅读(240) 评论(0) 推荐(0)