PostgreSQL 源码解读(168)- 查询#88(PG中的词法定义:scanner.l)#1
输入一条SQL语句,PostgreSQL如何解析输入的SQL,识别SQL类型以及基表/字段等信息?接下来的几节将逐一进行解析. 本节介绍了PostgreSQL的词法定义文件(Flex输入文件),在文件src/backend/parser/scan.l中.
解读《地板闹钟的故事》
从这个故事可以得出:1、目前京东的管理有些糟糕;2、在京东混日子的,要小心了;3、京东坚持拼搏不会动摇。
《极简算法史》读书札记
《极简算法史》这本书你可以把它当成是故事书来读。从古希腊哲学到AI,描绘了异常人类探索数学、算法与逻辑思维,并最终走向AI的梦想之旅。 人物早在古代,人们就希望能分析思想,其中有两位伟大的思想家:柏拉图和亚里士多德。在他们的时代,作为当今计算机科学的基础的各种原理、规则和概念就开始萌芽了。人类梦想结合数学和逻辑学这两大相近的分支,德国哲学家莱布尼茨是这一梦想的忠实追随者。今天,我们知道莱布尼茨的
PostgreSQL 源码解读(167)- 查询#87(基础知识-语法分析器Bison)
输入一条SQL语句,PostgreSQL如何解析输入的SQL,识别SQL类型以及基表/字段等信息?接下来的几节将逐一进行解析. 本节介绍了开源工具语法分析器Bison.
PostgreSQL 源码解读(166)- 查询#86(基础知识-上下文无关语法)
输入一条SQL语句,PostgreSQL如何解析输入的SQL,识别SQL类型以及基表/字段等信息?接下来的几节将逐一进行解析. 本节介绍了语法分析中的上下文无关语法.
何为战略?
所谓战略,就是选择方向,集中力量,做几件能让你在利益分配曲线上有一个更好的位置的,大事。集中力量的本质,其实是有选择的投入,也可以说是有选择的放弃。在这个方向上集中力量,就意味着要放弃那个方向。 在某个方向上集中力量,那就是通常我们所说的要搞“杀手锏”项目。杀手锏的本质是我专门练几个绝招。你会的我不都会,但是我这几个绝招足以给你带来严重伤害。有这几个绝招在手里,我就有了底气,我就能确保安全。
PostgreSQL 源码解读(165)- 查询#85(基础知识-词法分析)
输入一条SQL语句,PostgreSQL如何解析输入的SQL,识别SQL类型以及基表/字段等信息.接下来的几节将逐一进行解析,本节首先介绍解析SQL相关的基础知识:词法分析.
PostgreSQL 源码解读(164)- 查询#84(表达式求值)
先前三个小节的内容介绍了PostgreSQL如何构建解析表达式的步骤,本节以int4pl为例介绍PostgreSQL如何解析表达式.
PostgreSQL 源码解读(163)- 查询#83(如何构建表达式解析步骤#3)
本节继续介绍PG如何构建表达式解析步骤,这是第三部分,介绍了ExecInitIndexScan->...->ExecBuildProjectionInfo->ExecInitExprRec->ExecInitFunc函数的实现.
PostgreSQL 源码解读(162)- 查询#82(如何构建表达式解析步骤#2)
本节介绍了PG如何构建表达式解析步骤,这是第二部分,介绍了ExecInitIndexScan->...->ExecBuildProjectionInfo->ExecInitExprRec函数的实现.
PostgreSQL 源码解读(161)- 查询#81(如何构建表达式解析步骤#1)
上一节介绍了PostgreSQL如何解析查询语句中的表达式列并计算得出该列的值,也了解了PG通过执行一系列的步骤对表达式进行解析最终得到表达式列值.本节介绍了PG如何构建表达式解析步骤,这是第一部分,介绍了ExecInitIndexScan->...->ExecBuildProjectionInfo函数的实现. 每一个ExecInitXXXScan节点都会调用ExecBuildProjectionInfo函数,用于根据targetlist构建投影(Project)信息,构建投影信息的时候构建表达式解析步骤.
PostgreSQL 源码解读(160)- 查询#80(如何实现表达式解析)
本节介绍了PostgreSQL如何解析查询语句中的表达式列并计算得出该列的值.
《斯蒂芬·金:论写作》读书札记
斯蒂芬·金,现代惊悚小说大师,迄今已著有四十多部长篇小说和两百多部短篇小说,有超过百部影视作品取材自他的小说,包括大众所熟知的《肖申克的救赎》。一九九九年,斯蒂芬·金遭遇严重车祸(迎面被一辆货车撞飞,脊椎有八处破裂,肋骨断了四根,右膝盖几乎被直接从中间纵向劈开……),死里逃生尚未完全康复的情况下立刻投入写作,正如作者所说:“我图的是为了快乐而做事,为的是纯粹的快乐。你如果是为了快乐而做事,就可
PostgreSQL 源码解读(159)-PG Tools#6(What does pg_rewind do)
基于streaming replication搭建的PostgreSQL HA环境,如出现网络访问/硬件故障等原因Standby节点升级为Master节点,但Old Master节点数据库并未损坏,在排除故障后Old Master节点可以通过pg_rewind工具而不需要通过备份的方式成为New Master节点的Standby节点. pg_rewind执行时做了什么?本节一探究竟.
PostgreSQL DBA(33) - HA#2(pg_rewind切换图解)
基于streaming replication搭建的PostgreSQL HA环境,Old Standby节点升级为New Master节点后,时间线会切换为新的时间线,比如从n变为n + 1.而Old Master节点的时间线仍然为原来的时间线,比如仍为n,通过使用pg_rewind工具,可使原来其实"完好"的Old Master成为New Standby节点.
PostgreSQL DBA(32) - HA#1(pg_rewind切换)
基于streaming replication搭建的PostgreSQL HA环境,如出现网络访问/硬件故障等原因导致Standby节点升级为Master节点,但旧Master节点数据库并未损坏,在排除故障后旧Master节点是否不需要通过备份方式重新搭建成为Standby节点呢?答案是肯定的,PG提供了pg_rewind这个工具实现.
PostgreSQL 源码解读(158)-PG Tools#5(pg_basebackup:what does db server do)
PostgreSQL数据库服务器在响应客户端发出备份命令pg_basebackup时,到底做了什么?本节一探究竟.
PostgreSQL 源码解读(157)- 后台进程#9(同步复制主库挂起分析)
在Streaming Replication环境中PostgreSQL主节点设置为同步复制,如standby节点没有启动或者网络出现问题没法连接到主节点时,主节点如执行DML则进程会挂起,下面分析这个挂起的问题.
企业级项目管理体系
企业级项目管理体系是指面向实施部门的项目管理体系,包括项目管理规范和工程管理规范。其中项目管理规范与具体的项目无关,该规范可适用于产品研发项目、软件实施项目或者是系统集成项目;而工程管理规范则与具体的项目类型有关,包括软件工程管理规范、系统集成工程管理规范等,本次主要介绍面向软件工程的管理规范。
PostgreSQL 源码解读(156)- 后台进程#8(walsender#4)
上节介绍了PostgreSQL的后台进程walsender中的函数WalSndLoop->WaitLatchOrSocket->WaitEventSetWait->WaitEventSetWaitBlock,在跟踪分析的时候进程退出,现就此问题进行分析.在调用函数ProcessRepliesIfAny后进程退出,因此重点分析ProcessRepliesIfAny函数.