当前位置: 首页 >
pg_dump
-
pg_restore工具恢复数据的原理
一: 白话版本 把这几百 GB 的备份文件想象成一个巨大的实心大铁块(二进制文件)。你要把它极其快速地塞回数据库里。 pg_restore(带 -j 多进程并发和 -Fc 格式)的恢复过程,就是 pg_dump 的绝对物理逆向播放。我们按照电脑的“内存(RAM)”和“硬盘(Disk)”流转,慢动作推演这五个物理阶段: 第一阶段:读 ...
-
PostgreSQL 内核绝对不允许跨越多个 Backend 进程来共享同一个活跃的事务 ID(XID)进行写入。这在共享内存的锁管理器和 MVCC 状态机中是物理悖论。 逻辑推导
这是一个直击 PostgreSQL 架构最底层边界的绝佳问题。 在 PostgreSQL 的多进程架构(Process-per-Connection)中,如果允许多个操作系统层面的 Backend 进程共享同一个事务 ID(XID)进行全并发写入,这不仅是逻辑上的错误,更是会在 C 语言内存空间和磁盘状态机中引发极其致命的物理崩溃。 我们直接下潜到操作 ...
-
pg_dump工具的工作原理
pg_dump工具作为一个纯只读客户端进程,是如何通过一系列 SQL 指令和内核底层的调度器、锁管理器以及 I/O 子系统进行交互的。 以下是剥离一切包装后,pg_dump 从启动到结束的纯技术逻辑推导全流程: 第一步:锁定全局物理时间线(获取一致性快照) 逻辑起因:备份 TB 级别的数据需要消耗数小时物理时间 ...