목차
PostgreSQL프런트엔드와 백엔드(클라이언트 및 서버) 간의 통신을 위해 메시지 기반 프로토콜을 사용합니다. 프로토콜은 다음을 통해 지원됩니다.TCP/IP또한 Unix 도메인 소켓을 통해서도 가능합니다. 포트 번호 5432는 이 프로토콜을 지원하는 서버의 관례적인 TCP 포트 번호로 IANA에 등록되어 있지만 실제로는 권한이 없는 모든 포트 번호를 사용할 수 있습니다.
이 문서는 다음에서 구현된 프로토콜 버전 3.0을 설명합니다.PostgreSQL7.4 이상. 이전 프로토콜 버전에 대한 설명은 이전 릴리스를 참조하세요.포스트그레SQL문서. 단일 서버는 여러 프로토콜 버전을 지원할 수 있습니다. 초기 시작 요청 메시지는 클라이언트가 사용하려는 프로토콜 버전을 서버에 알려줍니다. 클라이언트가 요청한 주요 버전이 서버에서 지원되지 않으면 연결이 거부됩니다(예를 들어 클라이언트가 이 글을 쓰는 시점에는 존재하지 않는 프로토콜 버전 4.0을 요청한 경우 이러한 현상이 발생합니다). 클라이언트가 요청한 마이너 버전이 서버에서 지원되지 않는 경우(예: 클라이언트는 버전 3.1을 요청하지만 서버는 3.0만 지원하는 경우) 서버는 연결을 거부하거나 지원하는 가장 높은 마이너 프로토콜 버전이 포함된 NegotiateProtocolVersion 메시지로 응답할 수 있습니다. 그런 다음 클라이언트는 지정된 프로토콜 버전을 사용하여 연결을 계속하거나 연결을 중단하도록 선택할 수 있습니다.
여러 클라이언트에 효율적으로 서비스를 제공하기 위해 서버는 새로운 클라이언트를 시작합니다“백엔드”각 클라이언트에 대한 프로세스입니다. 현재 구현에서는 들어오는 연결이 감지된 직후에 새로운 하위 프로세스가 생성됩니다. 그러나 이는 프로토콜에 투명합니다. 프로토콜의 목적에 따라 용어는“백엔드”그리고“서버”교환 가능합니다. 마찬가지로“프런트엔드”그리고“클라이언트”상호 교환 가능합니다.
문서에 올바르지 않은 내용이 있으면 일치하지 않습니다. 특정 기능에 대한 경험이 있거나 추가 설명이 필요한 경우 이용해주세요이 양식문서 문제를 보고합니다.