postgres code explain
huguangshanse00
这个作者很懒,什么都没留下…
展开
-
postgres 源码解读之 toast
参考:1.德哥的文章:change postgresql toast_tuple_thresholdURL:http://blog.163.com/digoal@126/blog/static/163877040201122910531988/2.《postgres 数据库内核分析》3.2.6 大数据分析P69--p74 (1.toast )原创 2013-12-21 19:58:24 · 942 阅读 · 0 评论 -
Postgres-XC源码:Utilities for GTM standby global values
come from :Postgres-XC source code 1.04 * standby_utils.c * Utilities for GTM standby global values#include "gtm/gtm_c.h"#include "gtm/standby_utils.h"#include "gtm/gtm_lock.h"/* * Variab原创 2014-12-27 07:33:44 · 1109 阅读 · 0 评论 -
Postgres 查询处理部分源码分析
该文章总体不错,推荐阅读:http://www.docin.com/p-271989068.html转载 2015-01-21 23:12:47 · 1057 阅读 · 0 评论 -
MainLoop.c (2)函数SendQuery 和 HandleSlashCmds
函数SendQuery 用来执行命令,并输出结果/* execute query */success = SendQuery(query_buf->data);函数SendQuery定义如下:/* * SendQuery: send the query string to the backend * (and print out results) * * N原创 2015-01-25 12:05:23 · 1267 阅读 · 0 评论 -
MainLoop.c (4)结构体PGconn 和 PGresult
MainLoop.c 文件中重要的结构体/* * Global psql options */PsqlSettings pset 中的PGconn/* * PGconn stores all the state data associated with a single connection * to a backend. */struct pg_conn{ /原创 2015-01-25 19:58:59 · 2484 阅读 · 0 评论 -
MainLoop.c (3)函数exec_command
the functions for backslash command HandleSlashCmdsbackslashResultHandleSlashCmds(PsqlScanState scan_state,PQExpBuffer query_buf)上一篇文章介绍了函数HandleSlashCmds,这里介绍下该函数主要调用的函数 exec_command,原创 2015-01-25 15:43:35 · 1373 阅读 · 1 评论 -
pg_controldata (2)
#include #include #include #include #include /* this file has the same effect as the binary file 'pg_contrldata' in postgres, haha,the file's content comes from Postgres. * gcc -o aim sourcefil原创 2015-03-17 08:03:23 · 1504 阅读 · 0 评论 -
pg_controldata (1)
那么和xlog相关的还有个查看数据库状态的命令:pg_controldata, 执行结果如下图:源文件:https://github.com/linwanggm/postxc/blob/master/pg_controldata_modify.c[wln@localhost data]$ pg_controldatapg_control version number:原创 2015-03-17 07:59:19 · 3979 阅读 · 0 评论 -
预写式日志
研究主备日志相关实现,那么xlog作为数据刷盘前首先将相关数据信息写入预写入日志(WAL),同时xlog作为Postgres数据库存储部分的重要组成部分,对齐的理解的重要性不言而喻。 首先,直观感受下xlog文件(默认在PGDATA目录pg_xlog子目录下,我们所生活的WAL segment file就是指下面的一个文件) xlog文件名xlog文件(常说的redolog)名字的命名...原创 2015-03-17 07:40:51 · 1873 阅读 · 0 评论 -
预写式日志相关结构体
xlog文件内容结构PageHeaderData/* * disk page organization * * space management information generic to any page * * pd_lsn - identifies xlog record for last change to this page. * p原创 2015-03-17 07:56:24 · 726 阅读 · 0 评论 -
postgres 之 initdb 源码分析 三
2.4 函数 getopt_long文件 Getopt_long.c原创 2014-06-15 17:38:12 · 1317 阅读 · 0 评论 -
Mainloop.c (1) 函数MainLoop 和PQExpBufferData,_psqlSettings
上周日做了一件有意义的事,重新梳理了下pgxc1.1 Mainloop.c源代码内容。阅读Postgres源码的确能很大程度上提高对PG的认识,在阅读代码的同时,脑中始终有一条线在动,不断探寻如何才能走到这块代码处。pgxc 1.1文件Mainloop.c代码主要包含两部分,正常的SQL语句处理,以及backslash元命令处理。/* * psql - the Postg原创 2015-01-19 07:48:44 · 1275 阅读 · 0 评论 -
watch postgres's source code commit
postgres source code git原创 2015-08-27 07:17:13 · 755 阅读 · 0 评论 -
多版本并发控制
参考《PostgreSQL数据库内核分析》 第七章:事务处理与并发控制 7.10 多版本并发控制该书中对可见性判断的流程图描述的不是很清晰,游的地方流程图中应该是描述的不太准确,这里直接看源码应该更容易懂。1. 判断元组对于自身信息是否有效HeapTupleSatisfiesSelf 元组可见性判断:/* * HeapTupleSatisfiesSelf * True iff原创 2015-05-29 07:22:51 · 1434 阅读 · 0 评论 -
Postgres-XC源码: GTM lock
come from :Postgres-XC source code 1.04 * gtm_lock.c * Handling for locks in GTM#include "gtm/gtm_c.h"#include "gtm/gtm_lock.h"#include "gtm/elog.h"/* * Acquire the request lock. Bloc原创 2014-12-27 07:29:40 · 1329 阅读 · 0 评论 -
转载:Understanding How PostgreSQL Executes a Query
Understanding How PostgreSQL Executes a QueryBefore going much further, you should understand the procedure that PostgreSQL follows whenever it executes a queryon your behalf.After the Postg转载 2014-12-07 23:32:28 · 726 阅读 · 0 评论 -
postgres 源码分析 之 insert (1)
题外话:今天查找postgres官方文档,才发现原创 2014-07-05 13:41:31 · 16645 阅读 · 0 评论 -
postgres 之 initdb 源码分析 七
2.17 函数 setup_text_search原创 2014-06-15 19:18:44 · 1362 阅读 · 0 评论 -
postgres 之 initdb 源码分析 一
(1)版本 postgresql 9.3.2 beta ()原创 2014-06-15 16:54:50 · 3393 阅读 · 0 评论 -
postgres 之 initdb 源码分析 二
2.3 函数void set_pglocale_pgservice(const char *argv0, const char *app)设置一些环境变量信息/* * set_pglocale_pgservice * * Set application-specific locale and service directory * * This function ta原创 2014-06-15 17:40:08 · 833 阅读 · 0 评论 -
postgres 之 initdb 源码分析 八
1 initdb 之信号处理在函数原创 2014-06-15 23:30:57 · 1090 阅读 · 0 评论 -
postgres 之 initdb 源码分析 四
2.7 函数 perform_fsync/* * fsync everything down to disk */static voidperform_fsync(void){ char pdir[MAXPGPATH]; fputs(_("syncing data to disk ... "), stdout); fflush(stdout); /* * We ne原创 2014-06-15 18:09:34 · 685 阅读 · 0 评论 -
postgres 之 initdb 源码分析 六
2.14 函数set_info_ver/* * extract the strange version of version required for information schema * (09.08.0007abc) */static voidset_info_version(void){ char *letterversion; long major原创 2014-06-15 19:09:59 · 1022 阅读 · 0 评论 -
postgres 之 initdb 源码分析 五
2.8 函数check_authmethod_unspecified()原创 2014-06-15 18:37:45 · 3187 阅读 · 0 评论 -
PostgreSQL 源码分析之 CreateLockFile
12/* * Create a lockfile. * * filename is the path name of the lockfile to create. * amPostmaster is used to determine how to encode the output PID. * socketDir is the Unix socket directory p原创 2014-10-26 21:05:57 · 3092 阅读 · 0 评论 -
work need to do
参考(1)原创 2014-06-17 23:44:59 · 920 阅读 · 0 评论 -
转载:PostgreSQL的系统函数分析记录
转载来自:http://www.codeweblog.com/postgresql%E7%9A%84%E7%B3%BB%E7%BB%9F%E5%87%BD%E6%95PostgreSQL数据库中有许多内部函数,这次对系统表pg_proc以及函数代码进行分析记录(这里是针对9.3进行介绍的)。一、数据库系统表pg_proc数据库中所有内部函数信息都存储在系统表pg_pro翻译 2016-05-02 23:00:00 · 8558 阅读 · 0 评论