Архитектура СУБД POSTGRES95
Архитектура СУБД POSTGRES95
Архитектура СУБД POSTGRES95 основана
на модели "клиент-сервер".
Сессия с СУБД состоит из следующих
взаимодействующих процессов:
- postmaster - управляющий
процесс-демон, который
руководит взаимодействием
между внешними и внутренними
процессами; он выделяет
совместно используемый буффер
динамической памяти и
выполняет другие
инициализации во время
запуска.
- postgres - внутренний серверный
процесс базы данных,
исполняющий запросы клиента.
Postmaster всегда запускает новый
postgres-процесс для каждого
клиентского приложения. Этот
серверный процесс выполняется
на машине сервера.
- внешняя прикладная программа,
которая может находиться на
другом компьюторе (например,
рабочей станции). Она
соединяется с postgres через postmaster.
Один раз запущенный
процесс-демон postmaster управляет
установленным набором баз данных
на серевере. Внешняя прикладная
программа, желающая получить
доступ к одной из этих баз данных,
вызывает библиотеку функций
прикладного программного
интерфейса LIBPQ (рис.4). С помощью этих
функций запрос по сети передается
postmaster'у, который порождает
серверный процесс и соединяет
внешнюю программу с сервером. С
этого момента клиентские и
серверные процессы
взаимодействуют без помощи postmaster'a.
Таким образом, postmaster постоянно
работает, ожидая запросов, в то
время, как происходят и завершаются
соединения с внешними
приложениями. Прикладной
программный интерфейс LIBPQ
позволяет одной клиентской
программе совершать во время одной
сессии множественные соединения с
сервером БД. Но тем не менее,
внешняя программа - это
однопотоковый процесс.
Многопоточность процессов
библиотекой LIBPQ не поддерживается.
Другой особенностью архитектуры
СУБД POSTGRES95 является то, что postmaster и
postgres серверные процессы всегда
выполняются на одной и той же
машине - сервере базы данных, тогда
как внешние программы могут
находиться на любых машинах сети.
Рис. 4. Схема взаимодействия
процессов POSTGRES95
Таким образом, СУБД POSTGRES95
позволяет осуществлять доступ
клиентским прикладным программам к
своим базам данных не только в
локальном, но и удаленном режиме. Но
система безопасности СУБД не
предоставляет эту возможность всем
пользователям. Для разрешения
удаленного соединения с базами
данных необходимо установить режим
аутентификации для данного
пользователя. По умолчанию в файле
конфигурации этот режим отключен, и
доступ разрешен только программам,
расположенным в директории на
машине сервера БД. Для установления
аутентификации необходимо в файле
pq_hba указать имена машин, с которых
возможен удаленный доступ
прикладным программам, и
соответствующие базы данных, к
которым разрешается удаленный
доступ:
# <name> <address> <mask>
all 127.0.0.1 0.0.0.0
all 194.85.135.66 0.0.0.0
После этого необходимо
произвести заново компиляцию
системы.
[Назад] [Содержание] [Вперед]
|