【0136】【libpq】startup packet应用机制及构建过程(6)
文章目录
- 1. 概述
- 2. 什么是startup packet
-
- 2.1 protocol version 分类
- 2.2 startup packet构建过程
1. 概述
在【0135】【libpq】阻塞并完成一个postmaster连接(5)之后,接下来就需要真正地和postmaster进行数据的交互了。比如客户端需要把自己登录的选项参数信息告知postmaster(比如user、dbname、password、host、port等等),那么这个告知过程是一个比较重要且较为复杂的过程。
在libpq客户端,需要使用已填充(初始化)的PGconn连接句柄中的相关参数(pguser、dbName、pversion)去构建这样的一个启动包(startup packet)。而postmaster服务端的相关fd在接收到这样的二进制数据之后,需要能够识别这些二进制数据中的相关参数都分别代表什么?即两者需要达成共识。
此外,在