1.2. Conceitos básicos da arquitetura #

Antes de prosseguir, você deve conhecer os fundamentos da arquitetura do sistema PostgreSQL. Compreender como as partes do PostgreSQL interagem entre si torna esse capítulo um pouco 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. Nesse caso, se comunicam através de uma conexão de rede TCP/IP. Deve-se ter isso em mente, porque arquivos que podem ser acessados na máquina cliente podem não ser acessíveis pela máquina servidora (ou somente podem ser acessados usando um nome de arquivo diferente).

O servidor PostgreSQL pode lidar com várias conexões simultâneas de clientes. Para esta finalidade é iniciado um novo processo (fork) para cada conexão. Desse momento em diante, o cliente e o novo processo servidor se comunicam sem intervenção do processo postgres original. Portanto, o processo servidor supervisor está sempre executando aguardando por novas conexões dos clientes, enquanto os clientes e seus processos servidores associados aparecem e desaparecem (obviamente tudo isso é invisível para o usuário, mencionado apenas para ficar completo).