PG后台进程个人解读和与oracle 的比较

news2024/11/19 3:21:36

1.background writer (后台写进程)

与OracleDBWR进程工作原理类似,都是负责把缓冲区里面的脏块写到数据文件中,写的目的有两个:

1.为了保存数据。

2.为了释放内存空间。

触发background writer 写的条件:

1.脏块达到了阈值。

2.内存没有可用空间了。

3.超过bgwriter_delay 参数设置的时间,bgwriter会写。

与Oracle不同的是:

oracle的内存结构包括shard pool与缓冲区  buffer cache以及redo log buffer等其它内存结构,oracle同步dbwr进程把脏块写入到数据文件。

PG 的缓冲区叫做Shared buffer pool ,如果学过oracle,这里类似于oracle的shared pool+buffer cache。

2.WAL writer  (WAL写进程)

作用:把日志缓冲区WAL buffer里面的日志条目写到日志文件

触发WAL writer 写的条件:

1.发出commit。

2.WAL buffer空间不足。

3.超时,commit_delay:表示一个已经提交的数据在WAL缓冲区中存放的时间,默认值是0毫秒,表示不用延迟;设置为非0值时事务执行commit后不会立即写入WAL中,而仍存放在WAL缓冲区中,等待WalWriter进程周期性地写入磁盘。

4.bgwriter写进程之前,WAL writer要先写。

与Oracle LGWR进程原理十分相似。

3.CheckPoint(CKPT)

职责:

1.把WAL buffer里面的脏块写入到数据文件

这一点与oracle 有些不同,oracle的检查点进程是给DBWR进程发信号,让DBWR进程去写,而PG的CKPT进程本身就有写脏块的能力。

2.更新检查点信息到控制文件与日志文件

3.数据库发生备份的时候会发生检查点

4.autoVacuum进程

在PG数据库中,对数据进行UPDATE或者DELETE操作后,数据库不会立即删除旧版本的数据,而是标记为删除状态。这是因为PG数据库具有多版本的机制,如果这些旧版本的数据正在被另外的事务打开,那么暂时保留他们是很有必要的。当事务提交后,旧版本的数据已经没有价值了,数据库需要清理垃圾数据腾出空间,而清理工作就是AutoVacuum进程进行的。

5.statistics collector 进程

PG 统计收集器。

无论是oracle还是PG 优化器能做出正确的执行计划依赖于正确的统计信息,statistics collector 进程 负责收集对象最新的统计信息, 便于优化器做出正确的执行计划,当然,Oracle 11g中也有自动收集统计信息的功能,但Oracle中没有一个单独的进程来做这件事。

6.logging collector 日志收集进程

我认为类似于Oracle 的diag进程,负责各种Error信息,定位慢查询SQL,数据库的启动关闭信息,发生checkpoint过于频繁等的告警信息,诸如此类。

PG的pg_log 日志默认竟然是不开启的?

7.archiver 归档进程

copy WAL日志进行归档,与oracle 一样,数据库在归档模式才会有这个进程。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1637005.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Virtualbox--下载指定版本

一、前言 下载Virtualbox7.0.10,可参考《Virtualbox–下载指定版本》 Virtualbox7.0.10具体安装步骤,可参考《Virtualbox7.0.10的安装步骤》 Virtualbox7.0.10创建虚拟机,可参考《Virtualbox7.0.10–创建虚拟机》 Virtualbox7.0.10安装Ubuntu…

GPT3 终极指南(二)

原文:zh.annas-archive.org/md5/6de8906c86a2711a5a84c839bec7e073 译者:飞龙 协议:CC BY-NC-SA 4.0 第五章:GPT-3 作为企业创新的下一步 当一个新的创新或技术转变发生时,大公司通常是最后一个采纳的。它们的等级结构…

Linux 文件管理命令Lawk wc comm join fmt

文章目录 2.Linux 文件管理命令2.44 awk:模式匹配语言1.变量2.运算符3.awk 的正则4.字符串函数5.数学函数案例练习 2.45 wc:输出文件中的行数、单词数、字节数案例练习2.46 comm:比较…

Qwen-Audio:推动通用音频理解的统一大规模音频-语言模型(开源)

随着人工智能技术的不断进步,音频语言模型(Audio-Language Models)在人机交互领域变得越来越重要。然而,由于缺乏能够处理多样化音频类型和任务的预训练模型,该领域的进展受到了限制。为了克服这一挑战,研究…

Spring Data Redis简单使用

Spring Data Redis是一个用于简化应用程序与Redis交互的开发框架。它提供了简单的配置和方便的操作API,使得与Redis的集成变得更加容易。下面是一个快速入门使用Spring Data Redis的步骤: 步骤 1:添加依赖 在您的项目中添加Spring Data Redi…

掌握未来:打造高效、可靠系统的终极指南—RESTful API 设计详解

RESTful API 是一种软件架构风格和开发规范,它基于 Representational State Transfer(REST)原则。RESTful API 使用 HTTP 协议的标准方法,如 GET、POST、PUT、DELETE 等,来进行资源的创建、读取、更新和删除操作。这种…

四川易点慧电子商务抖音小店:创新引领,开启电商新篇章

随着互联网的快速发展,电子商务行业日新月异,抖音小店作为新兴的电商模式,正逐渐崭露头角。四川易点慧电子商务有限公司紧跟时代步伐,以创新思维引领抖音小店发展,成为了行业的佼佼者。 易点慧电子商务位于风景秀丽的四…

FFmpeg开发笔记(二十三)使用OBS Studio开启RTMP直播推流

OBS是一个开源的直播录制软件,英文全称叫做Open Broadcaster Software,广泛用于视频录制、实时直播等领域。OBS不但开源,而且跨平台,兼容Windows、Mac OS、Linux等操作系统。 OBS的官网是https://obsproject.com/,录制…

如何安全可控的进行跨区域数据交换,提高数据价值?

跨区域数据交换指的是在不同地理位置或不同网络环境下的数据传输和共享。随着数字化转型的加速,企业及组织越来越依赖于数据的流动来优化业务流程、增强决策制定和推动创新。然而,跨区域数据交换也带来了一系列的挑战和风险,主要包括&#xf…

DFT(三)Yield

DFT(三)Yield 在集成电路(IC)设计和制造领域,特别是在数字全流程(Digital Full Flow,简称DFT)中,“Yield”(产量)是一个衡量从设计到最终产品过程…

【antd + vue】InputNumber 数字输入框 输入限制

一、需求说明 只能输入数字和小数点,保留小数点后两位;最多输入6位;删除所有内容时,默认为0; 二、问题说明 问题1:使用 precision 数值精度 时,超出规定小数位数时会自动四舍五入;…

python 基础语句

python 基础语句 1. import 语句 用于导入相应的包以供后面的代码使用 import xxx -将xxx包导入import pandas as pd - 导入 pandas 包并且将其所有的对象、方法、属性赋予 pd 对象from xxx1 import xxx2 - 从xxx1 包中导入 xxx2 方法 2. 输入输出语句 input,pr…

Java 基础重点知识-(Java 语言特性、数据类型、常见类、异常)

文章目录 Java 语言特性形参和实参的区别是什么?值传递和引用传递的区别?Java 是值传递还是引用传递?final 的作用是什么?final finally finalize 有什么不同?static 的作用是什么?static 和 final 的区别是什么? Java 数据类型Java基本数据类型有几种? 各占多少位?基…

Kasm Workspaces:云端工作的革命

工具用途 🛠️ Kasm Workspaces 是一款强大的开源容器流平台,它能够将云桌面、Web隔离以及OSINT工作负载直接交付到您的Web浏览器中。这意味着您可以通过任何地点的浏览器安全地访问您的工作环境,包括各种应用程序和桌面。🌍 主…

【C语言】自定义类型联合和枚举讲解超详细

人生只有回不去的过去,没有过不去的当下。 💓💓💓 目录 •🌙知识回顾 🍋知识点一:联合体 • 🌰1.联合体类型的声明 • 🌰2.联合体的特点 • 🌰3.相同成员的结…

Linux操作系统预备 —— 冯·诺伊曼体系结构

一,什么是冯诺伊曼体系结构?(是什么?) 上面的图就是冯诺伊曼体系结构的总体简略图,不着急,我们一个一个来看: 1.1 输入输出设备 人们要想用计算机处理数据,首先就要把要…

数据链路层(计算机网络)

0、前言 本文大多数图片都来自于 B站UP主:湖科大教书匠 的教学视频,对高军老师及其团队制作出这么优质的课程表示感谢。本文的撰写目的不是为了应试,且受限于个人水平,可能和标准答案有所出入,请自行甄别,…

Scikit-Learn回归树

Scikit-Learn回归树 1、决策树1.1、什么是决策树1.2、决策树学习的步骤1.3、决策树算法 1、决策树 决策树(DTs)是一种用于回归和分类的有监督学习方法。通常,决策树用于分类问题;当决策树用于回归问题时,称为回归树。回…

2024.阳光能源追光计划暨大陆考察团交流分享会

近日大陆考察团抵达香港,受到了本司热情接待和安排。公司于4月27日下午举办了阳光能源追光计划主题交流会。 会上公司营销部总监张超,分享了阳光能源近几年的能源发展之路及公司新推出的追光计划,得到了大陆考察交流团团长杨国均先生的高度赞…