1.2. Fundamentos da arquitetura

Antes de prosseguir, é necessário conhecer a arquitetura de sistema básica do PostgreSQL. Compreender como as partes do PostgreSQL interagem torna este capítulo mais claro.

No jargão de banco de dados, o PostgreSQL utiliza o modelo cliente-servidor. Uma sessão do PostgreSQL consiste nos seguintes processos (programas) cooperando entre si:

Como é típico na arquitetura cliente-servidor, o cliente e o servidor podem estar em hospedeiros diferentes. Neste caso, se comunicam através de uma conexão de rede TCP/IP. Deve-se ter isto em mente, porque arquivos que podem ser acessados na máquina cliente podem ser inacessíveis para a máquina servidora (ou somente podem ser acessados usando um nome de arquivo diferente).

O servidor PostgreSQL pode tratar várias conexões simultâneas de clientes. Para esta finalidade é iniciado um novo processo (fork [2] ) para cada conexão. Deste ponto em diante, o cliente e o novo processo servidor se comunicam sem intervenção do processo postgres original. Por isso, o processo servidor mestre está sempre executando aguardando por novas conexões dos clientes, enquanto os clientes e seus processos servidor associados surgem e desaparecem (obviamente tudo isso é invisível para o usuário, sendo mencionado somente para ficar completo).

Notas

[1]

Também pode ser utilizada a ferramenta de administração do PostgreSQL baseada na Web phpPgAdmin. (N. do T.)

[2]

fork — Para criar um novo processo, o processo copia a si próprio através da chamada de sistema fork. O fork cria uma cópia do processo original que é em grande parte idêntica à ancestral. O novo processo possui um PID (identificador de processo) próprio, e suas próprias informações de contabilização. O fork possui a propriedade única de retornar dois valores diferentes. Do ponto de vista do filho retorna zero. Por outro lado, para o pai é retornado o PID do filho recém criado. Uma vez que fora isso os dois processos são idênticos, ambos precisam examinar o valor retornado para descobrir o papel a ser desempenhado. Linux Administration Handbook — Evi Nemeth e outros — Prentice Hall PTR. (N. do T.)

SourceForge.net Logo CSS válido!