50.2. How Connections Are Established

Posted 丹心明月

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了50.2. How Connections Are Established相关的知识,希望对你有一定的参考价值。

50.2 连接是如何建立的

PostgreSQL使用简单的每个用户一个进程的客户端/服务器模式。此模式下,每个客户端进行连接到一个服务端进程。因为不能预先知道有多少客户端连接,故而使用了一个主进程,然后每次有连接请求,就由主进程分一个新的服务进程给客户端连接。该主进程名为postgres,并监听特定的额TCP/IP端口。每当检测到连接请求,postgres会分出一个新的服务进程。服务进程间使用semaphores和共享内存交互以确保在并发数据访问时的数据完整性。

 

客户端进程可以是任意符合PostgreSQL协议(参见第52章)的程序。大多数客户端基于C语言libpq库,但也有部分独立协议实现,比如Java的JDBC驱动。

 

连接建立后,客户端进程可以发送查询到后台(即服务进程)。查询以纯文本传输,即前端(客户端)不对其进行解析。数据库服务解析查询,创建执行计划,执行执行计划并通过建立的连接返回结果集给客户端。

以上是关于50.2. How Connections Are Established的主要内容,如果未能解决你的问题,请参考以下文章

nginx [alert] 12339#0: 1024 worker_connections are not enough

把一个英语句子中的单词次序颠倒后输出。例如输入“how are you”,输出“you are how”;

把一个英语句子中的单词次序颠倒后输出。例如输入“how are you”,输出“you are how”;

把一个英语句子中的单词次序颠倒后输出。例如输入“how are you”,输出“you are how”;

ORA-12528: TNS:listener: all appropriate instances are blocking new connections

nginx [alert] 12339#0: 1024 worker_connections are not enough