Free Web Hosting Provider - Web Hosting - E-commerce - High Speed Internet - Free Web Page
Search the Web

Frontend/Backend Protocol

Cuprins

Postgres foloseste un protocol de mesaje de baza pentru comunicarea intre frontend si backend.

Protocolul este implementat peste TCP/IP si deasemenea pe sochetii Unix.

Cele trei componente majore ale Postgresului sunt: frontend (ruleaza pe client), postmasterul si backendul (ruleaza pe server).

Postmasterul si backendul au roluri diferite dar ele pot fi implementate de acelasi executabil.

Un frontend trimite un pachet de pornire la postmaster. Acesta include numele userului si a bazei de date la care userul vrea sa se conecteze.

Postmasterul foloseste aceste informatii consultand, in plus, si fisierul pg_hba.conf determinand daca informatiile de autentificare cu frontendul corespund.

Odata ce aceste informatii de autentificare sunt validate de catre Postmaster acesta raspunde frontendului ca are permisiunea si-l paseaza backendului.

Interogarile si rezultatele schimbate intre frontend si backend sunt comunicatii de natura secventiala. Postmasterul nu mai ia parte in continuare la comunicatie.

Cand frontendul doreste sa se deconecteze, acesta trimite un pachet de inchidere a conecsiunii fara asteptarea raspunsului de la backend.

Pachetele sunt trimise sub forma de strimuri de date.

Primul bit determina ce ar trebui sa se astepte de la restul pachetului.

In sectiunea de protocol se poate vorbi de patru tipuri diferite de mesaje depinzand de stadiul conecsiunii si anume: autentificare, interogare, apelari de functii, si terminatori.

Autentificare

Frontendul trimite pachetul Startup, Postmasterul il foloseste si consulta continutul fisierului pg_hba.conf determinand metoda de autentificare a frontendului ce trebuie folosita.

Interogare

Odata ce autentificarea este facuta cu succes, caz in care postmaster raspunde cu mesajul AutentificationOk, acesta da legatura la backend.

Frontendul trimite mesaje de interogare la backend. Raspunsul trimis de backend depinde de continutul interogarii.

Apelari de functii

Frontendul trimite mesaje de apelare de functii catre backend. Raspunsul trimis de catre backend depinde de rezultatul functiei apelate.

Terminare

Frontendul trimite un mesaj terminare si inchide conecsiunea imediat.

PostgreSQL Programer’s Guide Frontend/Backend Protocol Chapter 22 by Phil Thompson

Un exemplu de aplicatie front/end este psql. Acesta da posibilitateade atiparii interactiv interogari catre postgres si de a vedea rezultatele interogarii.

Redhat 5.1 man psql