当前位置: 首页 > article >正文

【0368】Postgres内核 清除所有旧的 relcache cache files ( 11 )

上一篇:
【0367】Postgres内核 XLOG record 中 main data 数据是什么 ? ( 10 )

文章目录

  • 1. 移除 old relcache 缓存文件
    • 1.1 删除 init files
      • 1.1.1 移除 global 下的 init files
      • 1.1.2 扫描 default tablespace

1. 移除 old relcache 缓存文件

清除所有旧的 relcache 缓存文件。倘若我们进行任何 WAL 重放(WAL replay),这是“必要的”,因为那很可能致使缓存文件与数据库的实际情况不同步。从理论上讲,如果数据库已干净利落地关闭,我们可以将其留存原处,但似乎最稳妥的做法始终是将其删除, 并让它们在首次后端进程启动期间得以重建。这些文件需要从包括 pg_tblspc 在内的所有目录中移除,然而,符号链接仅在从备份进行归档恢复时 读取 tablespace_map 文件后创建,所以需要在创建符号链接之后清除此处的旧 relcache 文件

该过程由函数 RelationCacheInitFileRemove() 完成。 其调用链路如下:

void

http://www.kler.cn/a/440825.html

相关文章:

  • JS进阶-面向对象-搭建网站-HTML与JS交互
  • Typescript安装
  • 冯诺依曼架构与哈佛架构的对比与应用
  • 适配体技术在新药发现中的应用
  • 动态规划——最长公共子序列
  • C# WinForm移除非法字符的输入框
  • Parcel Packager 的使用与自定义 Packager 教程
  • 利用notepad++删除特定关键字所在的行
  • springboot/ssm租车管理系统Java代码编写web项目在线汽车租赁平台源码
  • c# webapi项目怎么添加多个post接口
  • MybatisPlus-配置加密
  • Vue3期末复习
  • 华为HarmonyOS实现跨多个子系统融合的场景化服务 -- 4 设置打开App Button
  • spark 分布式 原理
  • 【计算机网络】Layer4-Transport layer
  • [论文阅读] |智能体长期记忆与反思
  • 【CSS in Depth 2 精译_083】13.3:CSS 混合模式的用法及相关注意事项 + 13.4:本章小结
  • 计算机视觉-边缘检测
  • 如何在飞牛云NAS快速使用Docker打造稳定安全的本地网站并对外可见
  • Mysql端口转发实现跨服务器跨网络实现mysql访问