【0385】Postgres内核 OS 磁盘上创建 slot ( 3 - 1 )
上一篇:
【0384】Postgres内核 creating a new physical replication slot ( 3 )
文章目录
- 1. 磁盘上创建 replication slot
- 1.1 tmp 文件检查
- 1.2 递归删除目录树
- 1.3 slot 文件间接创建
- 1.4 磁盘写入 state 文件
- 1.4.1 打开 state.tmp 文件
- 1.4.2 fsync pg_replslot下所有目录
- 1.4.3 清除 dirty bit
- 2. 更名 slot name
1. 磁盘上创建 replication slot
上一篇文章中, 实现了从 ReplicationSlotCtl 数组 replication_slots[] 中找到一个空闲可使用的 slot。之后把用户下发的 slot name等信息初始化slot的成员。
接下来需要通过调用函数 CreateSlotOnDsik() 函数 “在磁盘上创建槽位。我们实际上还未将该槽位标记为已分配,所以如果此操作出现错误,无需进行特殊的清理工作。 ”
void
ReplicationSlotCreate