PostgreSQL Latch 实现逻辑
源码版本:pg 11.9源码文件:src/backend/storage/ipc/latch.cLatch 是 pg 中使用较多的一种数据结构,用于等待某个事件的发生或者超时,常见的 Latch 相关函数如下:InitLatch(),初始化...继续阅读
源码版本:pg 11.9源码文件:src/backend/storage/ipc/latch.cLatch 是 pg 中使用较多的一种数据结构,用于等待某个事件的发生或者超时,常见的 Latch 相关函数如下:InitLatch(),初始化...继续阅读
pg 主备流复制可以设置人为的复制延迟,这个功能在某些场景下有巨大的作用,比如误删数据的恢复。通过设置一个延迟复制的备库,主库上被误删的数据,可以在备库上找回来。延迟时间可以自定义设置,超过延迟时间,则无法找回误删的数据。下面通过一个案例来...继续阅读
环境:centos 7.9,openjdk version 1.8.0_292一、安装maven:wget http://mirrors.cnnic.cn/apache/maven/maven-3/3.5.4/binaries/apache...继续阅读
最近遇到一个问题,同样的 C 程序,在3台不同的机器上通过 ssh -C 的方式执行,有1台机器报错,如下:cannotopenshareobject:libpq.so.5初步怀疑与机器环境有关,很可能是 LD_LIBRARY_PATH 没...继续阅读
源码版本:pg 11.3源码文件:src/backend/storage/buffer/localbuf.clocal buffer 主要用于临时表的快速缓存管理,减少磁盘 IO 操作,提升性能。对 local buffer 的操作不需要写...继续阅读
在编译MySQL 8.0 时,提示GCC版本过低(4.8.5),需要升级GCC到5.3及以上版本,按照网上教程,源码编译GCC 9.2.0版本,虽然遇到一点问题,不过总算顺利通过,记录一下GCC源码编译过程。环境:操作系统:CentOS 7...继续阅读
PostgreSQL 在很多场景下会启用并行执行计划,创建多个并行工作子进程,提升查询效率。一个常用的并行表扫描的例子:从下面的执行计划可以看出,Parallel Seq Scan 并行表扫描,并发工作进程数为 2,最上层的执行计划节点名称...继续阅读
1. shm_toc 描述shm_toc 是共享内存段表内容管理(shared memory segment table of contents),通俗点说,就是对一块内存区域的管理,能够像表格一样,按照 key-value 的形式管理内存...继续阅读
1. pg_rewind 功能描述pg_rewind 是 PostgreSQL 提供的一个工具,在主库故障切换后,用于修复旧主的流复制。PG 主备切换后,流复制的时间线会发生变化,在异步复制场景下,旧主产生的 WAL 日志可能有部分未同步到...继续阅读
关于 Linux 系统编程 IO 多路复用相关的笔记总结及示例代码。常用的 3 种 IO 复用模型:select,时间复杂度 O(n)poll,时间复杂度 O(n)epoll,时间复杂度 O(1)1. IO 复用模型对比select它仅仅知...继续阅读