PostgreSQL的backuplabel file 初步学习】的更多相关文章

磨砺技术珠矶,践行数据之道,追求卓越价值 回到上一级页面:PostgreSQL内部结构与源代码研究索引页    回到顶级页面:PostgreSQL索引页 看代码: /* File path names (all relative to $PGDATA) */ #define BACKUP_LABEL_FILE backup_label #define BACKUP_LABEL_OLD backup_label.old 在特定条件下,会有一个文件,名为 backup_label 在StartupX…
磨砺技术珠矶,践行数据之道,追求卓越价值 回到上一级页面:PostgreSQL内部结构与源代码研究索引页    回到顶级页面:PostgreSQL索引页 本文的目的一是为了备忘,二是为了抛砖引玉,希望有更多的人来研究如何使用好PostgreSQL的hook机制. 在研究pg_stat_statments的源代码的时候,发现其中使用了hook机制:例如其中提到了如下几种hook: void _PG_fini(void) { /* Uninstall hooks. */ shmem_startup_…
作为开源数据库的新手,近日有兴对比了Pg和MySQL的查询计划. 通过Pg源码目录下的src\backend\executor\README文件,加上一些简单调试,就能对Pg的执行机制产生一个初步印象:而MySQL的代码可读性比Pg差了不少,可能还要花些时日去了解先. 原本想写一篇执行机制对比的文章,现在只能谈谈对Pg的体会,不足和错误之处敬请指正. Pg算是学院派的开源数据库代表产品,其基于关系代数的优化.操作符的实现看起来十分亲切.相较于MySQL扁平的计划,Pg的执行计划让人一目了然. P…
接前文 初步学习pg_control文件之十三 看如下几个: /* * Parameter settings that determine if the WAL can be used for archival * or hot standby. */ int wal_level; int MaxConnections; int max_prepared_xacts; int max_locks_per_xact; PostgreSQL中多次用到了函数数组: /* * Method table…
接前文,初步学习pg_control文件之八 来看这个: pg_time_t time; /* time stamp of last pg_control update */ 当初初始化的时候,是这样的: /* * This func must be called ONCE on system install. It creates pg_control * and the initial XLOG segment. */ void BootStrapXLOG(void) { ... Check…
前言 感谢! 承蒙关照~ Git的初步学习 为什么要用Git和Github呢?它们的出现是为了用于提交项目和存储项目的,是一种很方便的项目管理软件和网址地址. 接下来看看,一家公司的基本流程图: 集中式->分布式->托管网站 之前项目管理的日子: 项目开发,版本控制系统. -v1.0 -> 文件 -v1.1 -> 文件 本地版本控制系统 慢慢地有了项目管理系统加入,集中式的控制系统: 集中化的版本控制系统 (Centralized Version Control Systems,简…
接前文  初步学习pg_control文件之十四 再看如下这个: int MaxConnections; 应该说,它是一个参考值,在global.c中有如下定义 /* * Primary determinants of sizes of shared-memory structures. MaxBackends is * MaxConnections + autovacuum_max_workers + 1 (it is computed by the GUC * assign hooks fo…
接前问,初步学习pg_control文件之十一,再来看下面这个 XLogRecPtr minRecoveryPoint; 看其注释: * minRecoveryPoint is updated to the latest replayed LSN whenever we * flush a data change during archive recovery. That guards against * starting archive recovery, aborting it, and r…
接前文  初步学习pg_control文件之十,再看这个 XLogRecPtr prevCheckPoint; /* previous check point record ptr */ 发生了checkpoint的时候,肯定要处理的: /* * Perform a checkpoint --- either during shutdown, or on-the-fly * * flags is a bitwise OR of the following: * CHECKPOINT_IS_SHU…
接前文 初步学习pg_control文件之九 看下面这个 XLogRecPtr checkPoint; /* last check point record ptr */ 看看这个pointer究竟保留了什么 初始化的时候: /* * This func must be called ONCE on system install. It creates pg_control * and the initial XLOG segment. */ void BootStrapXLOG(void) {…