摘要: pg_basebackup命令首先解析输入的参数,再调用BaseBackup()函数进行备份处理。 在BaseBackup()函数内部,会首先传送WAL日志(如果指定了 x选项的话)。随后依次遍历所有的tablespace复制备份整个数据库的文件。根据pg_basebackup命令的 F选项的指定情 阅读全文
posted @ 2017-12-27 21:57 非我在 阅读(1213) 评论(0) 推荐(0) 编辑
摘要: 顾名思义,物化节点是一类可缓存元组的节点。在执行过程中,很多扩展的物理操作符需要首先获取所有的元组后才能进行操作(例如聚集函数操作、没有索引辅助的排序等),这时要用物化节点将元组缓存起来。下面列出了PostgreSQL中提供的物化节点。 物化节点概述 物化节点需要有元组的缓存结构,以加快执行效率或实 阅读全文
posted @ 2017-12-27 21:06 非我在 阅读(2084) 评论(1) 推荐(1) 编辑
摘要: 表的模式信息存放在系统表中,因此要访问表,就需要首先在系统表中取得表的模式信息。对于一个PostgreSQL系统来说,对于系统表和普通表模式的访问是非常频繁的。为了提高这些访问的效率,PostgreSQL设立了高速缓存(Cache)来提高访问效率。 Cache中包括一个 系统表元组Cache(Sys 阅读全文
posted @ 2017-12-19 22:06 非我在 阅读(3215) 评论(0) 推荐(3) 编辑
摘要: Postgresql作为C语言开发的代码,其中大量的运用了一些宏的操作。 因此理解这些宏很重要,然而有时候这些宏总让人很费解。 作为一个经常翻翻postgresql源码的小白,在这里做一个记录吧,方便自己查看。 1. \ define offsetof(type, field) ((long) &( 阅读全文
posted @ 2017-12-15 15:27 非我在 阅读(783) 评论(0) 推荐(0) 编辑
摘要: PostgreSQL为每个收到的查询设计一个查询规划。选择正确的匹配查询结构和数据属性的规划对执行效率是至关重要要的,所以系统包含一个复杂的规划器来试图选择好的规划。你可以使用EXPLAIN命令查看查询规划器创建的任何查询。阅读查询规划是一门艺术,需要掌握一定的经验,本节试图涵盖一些基础知识。 以下 阅读全文
posted @ 2017-12-14 21:40 非我在 阅读(5627) 评论(1) 推荐(1) 编辑
摘要: 近期写的一个爬虫的Demo,只是简单的用了几个函数。实现了简单的爬取网页的功能(以途牛为例)。 1 import urllib2 2 import re 3 import urlparse 4 import robotparser 5 import datetime 6 import time 7 阅读全文
posted @ 2017-12-14 15:33 非我在 阅读(386) 评论(0) 推荐(1) 编辑
摘要: 1.相关的数据类型 我们先看相关的数据类型: HeapTupleData (src/include/access/htup.h) HeapTupleHeaderData (src/include/access/htup_details.h) t_choice具有2个成员的联合类型: 1.t_heap 阅读全文
posted @ 2017-12-13 18:08 非我在 阅读(3435) 评论(0) 推荐(4) 编辑
摘要: 众所周知,缓存是提高数据库性能的一个重要手段。本文着重讲一讲PostgreSQL中的缓存相关的东西。当然万变不离其宗,原理都是共同的,理解了这些,你也很容易把它运用到其它数据库中。 What is a cache and why do we need one 不同的计算机组件运行的速度是不一样的,他 阅读全文
posted @ 2017-11-23 17:18 非我在 阅读(15575) 评论(10) 推荐(5) 编辑
摘要: 是的,又是我,不要脸的又来混经验了。我们知道PostgreSQL是一个高度可扩展的数据库,这次我聊聊如何在PostgreSQL里创建一个优雅的type,如何理解优雅?大概就是不仅仅是type本身,其它相关的“服务”都得跟上,要像数据库自带的type一样想怎么用怎么用。 好的,我们开始。 1. CRE 阅读全文
posted @ 2017-11-21 17:14 非我在 阅读(5607) 评论(2) 推荐(3) 编辑
摘要: 今天我们讲一讲pgjdbc。pgjdbc是postgresql的JDBC接口。其网址是 "https://jdbc.postgresql.org/" .是开源软件,我们可以轻松的查看其代码,理解jdbc的工作原理。 一. 源代码目录结构 pgjdbc的源码结构如下图: 那么我们来一一看看各个模块都是 阅读全文
posted @ 2017-11-14 22:40 非我在 阅读(2063) 评论(0) 推荐(0) 编辑