PostgreSQL的postmaser的fork的学习体会
可以说,postmaster是PostgreSQL服务器端的总代理了。
通过它,把客户端的请求转给新生成的postgres 进程。
postmaster.c 的代码注释中有如下的描述:
When a request message is received, we now fork() immediately.The child process performs authentication of the request, and then becomes a backend if successful.This allows the auth code to be written in a simple single-threaded style (as opposed to the crufty "poor man's multitasking" code that used to be needed). More importantly, it ensures that blockages in non-multithreaded libraries like SSL or PAM cannot cause denial of service to other clients. 这个fork的方式是,只要有请求进来了,就fork一个进程。然后,认证什么的都有这个进程自己来搞定。然后提出请求的客户端和这个postgres进程之间,该干嘛就干嘛。每一对 客户端/postgres进程 和其他的 客户端/postgres进程之间互不干扰。 想想看,这么做确实有它的好处: 认证部分的代码可以尽量简化,不需要考虑锁定机制什么的。处理效率比较高,也没有排队什么的。
另外,如果一个postgres进程崩溃了,也不会影响另一个。
本文转自健哥的数据花园博客园博客,原文链接:http://www.cnblogs.com/gaojian/archive/2012/07/19/2599235.html,如需转载请自行联系原作者
PostgreSQL的postmaser的fork的学习体会相关推荐
- 操作系统学习体会之进程管理篇
计算机基础知识的学习中,操作系统则是重中之重.继对微机原理和计算机组成原理的基础知识了解和学习后,对硬件和基础原理的理论有了初步的了解,结合在所在公司的项目中开发应用的经历和体会,进行了操作系统的学习 ...
- c#学习体会:使用 ref 和 out 传递数组
c#学习体会:使用 ref 和 out 传递数组(downmoon),希望与大家分享1.与 所有的 out 参数一样,在使用数组类型的 out 参数前必须先为其赋值,即必须由接受方为其赋值. 例如: ...
- 小学生计算机课学生心得,【小学信息技术学习体会13篇】_小学信息技术学习体会范文大全_2021年小学信息技术学习体会_东城教研...
小学信息技术学习体会 大家都对小学信息技术学习体会特别关注,东城教研特别为大家整理了一些有关小学信息技术学习体会的内容,其中,培养学生的创新意识和创造能力.下面就结合我的教学实践,谈谈我的几点体会.一 ...
- 近期爬虫学习体会以及爬豆瓣Top250源码实战
近期爬虫学习体会以及爬豆瓣Top250源码实战 我是在B站https://www.bilibili.com/video/BV12E411A7ZQ?p=25里学习的,至今已经可以手写爬豆瓣Top250代 ...
- Office计算机心得,OFFICE心得学习体会.ppt
OFFICE心得学习体会.ppt 会专61001 唐林 21 会专61001 唐林 21 会专61001 唐林 21 记在大一结束前 * 会专61001 唐林 21 * 我学word 我学习计算机,就 ...
- JavaOOP(面向对象)学习体会
JavaOOP(面向对象)学习体会 类和对象的概念 类:具体相同特征和行为的事物的抽象 对象:万事万物皆对象 类是对象的类型! 对象是类的实例 ! 封装 //特征---->属性(特性)Strin ...
- PostgreSQL数据库之国际化语言支持学习总结
目 录 学习参考书籍.网站或博文: PostgreSQL本国语言支持 官方文档,点击前往 GNU gettext官方文档 GNU gettext简介 PostgreSQL数据库之国际化语言支持学习总结 ...
- 决策树总结(个人学习体会)
决策树总结(个人学习体会) 算法定义 决策树:是一种监督学习(Supervised Learning)方法,通过不断对某个属性进行判断得到一个分支最终形成决策树,这个决策树能够对新的数据进行正确的分类 ...
- 【学习体会】Lighttools8.4.0:设置虚拟相机+仿真结果3D显示
*关于Lighttools8.4.0软件的安装教程,详见我的另一篇博文:[软件安装]win10下Lighttools8.4.0(64)光学系统建模软件的安装教程 *关于Lighttools8.4.0软 ...
最新文章
- 2020-12-13
- 总结JavaScript常用数组操作方法,包含ES6方法
- Creating my own systemd service files on Fedora 16(x86_64)
- win10无法装载iso文件_win 10如何装载和弹出ISO映像文件
- 避免CRM_IB 013 error message
- linux 查看握手时间,实战:tcpdump抓包分析三次握手四次挥手
- 自定义Hibernate Validator规则注解
- plsql 连接数据库无法解析指定的连接标识符
- LINUX SHELL安装deb命令
- [3]⾃自定义视图、视图控制器
- 使用python判断文件是否是excel格式
- WIN10合并磁盘扩展区是灰色的
- Python: PS 图像特效 — 模糊玻璃
- 红米9A android版本,红米9a和红米9哪一款手机好?有什么区别存在?
- scroll lock键 和 sandy bridge
- 网站微信扫码授权登录
- word批注怎么删除计算机名字,Word在添加批注时姓名会出现匿名注释如何删除
- 深度学习寿命预测技术路线
- prompt learning 提示学习初步心得及示例 代码
- VCS产生vpd波形文件
热门文章
- discuz x2.5 DIY模块模板语法详解
- 【读书笔记】the TeXBook 1
- 蓝桥杯第六届国赛JAVA真题----奇怪的数列
- 减治法在查找算法中的应用(JAVA)--快速查找
- 计算机寄存器及标志位详解
- 如何安装php5.5,源码安装php5.5
- html富文本编辑器插件_vue中使用vuequilleditor富文本编辑器
- arduino char*转string_Java 中 String 类的常用方法汇总
- PHP7不能用string类名,解决thinkphp php7 Cannot use ‘String’ as class name as it is reserved...
- java filedialog 打开文件_java 用文件对话框打开文件