Основы архитектуры PostgreSQL

На жаргоне баз данных PostgreSQL использует модель клиент/сервер. Сессия PostgreSQL состоит из следующих взаимодействующих процессов (программ):

  • Серверный процесс, который управляет файлами базы данных, принимает подключения к базе данных от клиентских приложений и выполняет действия с базой данных от имени клиентов. Программа сервера базы данных называется postgres.
  • Клиентское (интерфейсное) приложение пользователя, которое хочет выполнять операции с базой данных. Клиентские приложения могут быть очень разнообразными по своей природе: клиент может быть текстовым инструментом, графическим приложением, веб-сервером, который обращается к базе данных для отображения веб-страниц, или специализированным инструментом обслуживания базы данных. Некоторые клиентские приложения поставляются с дистрибутивом PostgreSQL; большинство из них разрабатываются пользователями.

Как типично для клиент-серверных приложений, клиент и сервер могут находиться на разных хостах. В этом случае они общаются через сетевое соединение TCP/IP. Вы должны помнить об этом, потому что файлы, к которым можно получить доступ на клиентском компьютере, могут быть недоступны (или могут быть доступны только с использованием другого имени файла) на сервере базы данных.

Сервер PostgreSQL может обрабатывать несколько одновременных подключений от клиентов. Для этого он запускает (“forks”) новый процесс для каждого соединения. С этого момента клиент и новый серверный процесс обмениваются данными без вмешательства исходного процесса postgres. Таким образом, процесс сервера-супервизора всегда работает, ожидая клиентских подключений, в то время как клиентские и связанные серверные процессы приходят и уходят.


Читайте также:

Комментарии

Популярные сообщения из этого блога

Язык поисковых запросов в Graylog

Хэш-таблица: разрешение коллизий

Нормальные формы, пример нормализации в базе данных