yanzongshuai的专栏

专注于MySQL、MariaDB、Percona、PostgreSQL数据库及Aerospike等nosql数据库

排序:
默认
按更新时间
按访问量

PostgreSQL启动恢复过程中日志源的切换

日志源会在XLOG_FROM_ARCHIVE->XLOG_FROM_STREAM->XLOG_FROM_ARCHIVE直接切换,只有读取过程中出错,就会切换到另外一个日志源。但实际执行过程中,XLOG_FROM_ARCHIVE出错后会到XLOG_FROM...

2018-10-21 11:02:35

阅读数:8

评论数:0

PostgreSQL xlog格式 backup full page

2018-10-14 17:55:42

阅读数:14

评论数:0

PostgreSQL xlog格式之no backup full page

heap_insert xl_heap_insert xlrec; xl_heap_header xlhdr; XLogRegisterData((char *) &xlrec, SizeOfHeapInsert);->//xl_heap_in...

2018-10-13 21:17:30

阅读数:10

评论数:0

PostgreSQL xlog格式之checkpoint

PostgreSQL xlog记录格式分为2大部分,第一部分是XLogRecord作为通用xlog头,第二部分是数据部分:又分为XLogRecordDataHeaderShort作为记录checkpoint数据的长度,和真正checkpoint数据。其具体格式见下图: ...

2018-09-16 16:38:57

阅读数:39

评论数:0

PostgreSQL的minRecoveryPoint

xlog_redo(XLogReaderState *record): uint8 info = XLogRecGetInfo(record) & ~XLR_INFO_MASK; XLogRecPtr lsn = record->EndRecP...

2018-09-02 19:08:27

阅读数:38

评论数:0

PostgreSQL checkpoint--restart checkpoint

xlog_redo(XLogReaderState *record): if (info == XLOG_NEXTOID){ ... }else if (info == XLOG_CHECKPOINT_SHUTDOWN){ ... RecoveryRestartPoint(&am...

2018-08-29 20:51:29

阅读数:35

评论数:0

PostgreSQL server端接收连接后fork进程

main->PostmasterMain->ServerLoop: for(;;){ ... //会阻塞在这,监视文件描述符的变化 selres = select(nSockets, &rmask, NULL, N...

2018-08-25 22:23:13

阅读数:37

评论数:0

PostgreSQL状态变迁

typedef enum DBState { DB_STARTUP = 0, DB_SHUTDOWNED, DB_SHUTDOWNED_IN_RECOVERY, DB_SHUTDOWNING, DB_IN_CRASH_RECOVERY, DB_IN_ARCHIVE_RECOVERY,...

2018-08-22 20:18:25

阅读数:29

评论数:0

PostgreSQL启动恢复期间,恢复到的时间线的确定

1、启动恢复时,确定恢复到的时间线recoveryTargetTLI     1)归档恢复点比checkpoint中记录的时间线大,那么选择归档恢复点作为目标时间线     2)否则,checkpoint记录中的时间线作为目标时间线 StartupXLOG-> if (...

2018-08-12 20:48:54

阅读数:64

评论数:0

PostgreSQL启动恢复读取checkpoint记录失败的条件

1、首先读取ControlFile->checkPoint指向的checkpoint 2、如果读取失败,slave直接abort退出,master再次读取ControlFile->prevCheckPoint指向的checkpoint StartupX...

2018-08-05 17:27:05

阅读数:203

评论数:1

PostgreSQL启动恢复读取checkpoint时open wal日志

在上一篇博客https://blog.csdn.net/yanzongshuai/article/details/81415211中写到StartupXLOG最终会调用XLogFileReadAnyTLI打开归档日志或者WAL日志。 static int XLogFileReadAnyTLI(...

2018-08-05 11:40:17

阅读数:45

评论数:0

PostgreSQL启动恢复通过checkpoint open wal文件

StartupLOG:: ->record = ReadCheckpointRecord(xlogreader, ControlFile->checkPoint, 1, true) ->record = ReadRecord(xl...

2018-08-04 20:53:17

阅读数:70

评论数:1

PostgreSQL启动恢复之读取xlog(一)

2018-07-29 21:16:22

阅读数:80

评论数:0

PostgreSQL启动恢复之读取checkpoint(一)

2018-07-25 20:57:42

阅读数:101

评论数:1

PostgreSQL日志名字的由来

    注:该图片摘自《The Internals of PostgreSQL 》第9章节。 1、日志文件由3部分组成:前8位:表示时间线;中间8位:表示逻辑日志文件号;最后8位表示段号。 2、一个逻辑日志文件由256个段文件组成,pg_xlog目录下看到的每个文件是段文件。 3、段...

2018-07-22 21:00:01

阅读数:45

评论数:0

PostgreSQL启动恢复流程框架

2018-07-22 11:29:18

阅读数:71

评论数:0

postgresql启动流程之信号初始化

void pqinitmask(void) { //将信号集UnBlockSig初始化为空 sigemptyset(&UnBlockSig); //将信号集BlockSig、StartupBlockSig初始化包含所有 sigfillset(&am...

2018-07-15 19:54:11

阅读数:186

评论数:0

postgresql启动流程解析

2018-07-15 19:39:07

阅读数:77

评论数:0

《叶问》第4期

本文转自【知数堂】:https://mp.weixin.qq.com/s/eHkMsu0nGZHtVFEKb0Ehag2018年7月4日,周三如何优化Linux操作系统用于MySQL环境?‍‍‍‍‍‍‍‍‍‍‍‍一、初级玩法 1. 在BIOS及内核层面关闭NUMA 2. 在BIOS层面将CPU、内...

2018-07-15 10:38:44

阅读数:43

评论数:0

进程间通信-信号(postgresql信号理解)

1、例子1#include <signal.h> #include <stdio.h> #include <unistd.h> void test(int sig) ...

2018-07-15 10:34:13

阅读数:43

评论数:0

提示
确定要删除当前文章?
取消 删除