Использование PostgreSQL на Windows🔗
PostgreSQL на ОС Windows устанавливается вместе с компонентами Macroscop в автоматическом режиме.
Примечание
Актуальную версию Macroscop можно скачать на сайте macroscop.com со страницы Поддержка / Дистрибутивы.
Примечание
В процессе установки будет автоматически создан пользователь СУБД с именем postgres и паролем masterkey.
В зависимости от версии Macroscop версии PostgreSQL и процессы автоматической установки PostgreSQL различаются:
В Macroscop 4.6 и выше устанавливается PostgreSQL 16 (для всех внутренних баз данных).
В Macroscop 4.0-4.5 устанавливается PostgreSQL 12 (для всех внутренних баз данных).
В Macroscop 3.4–3.6 устанавливается PostgreSQL 11 (для хранения событий модуля Поиск объектов).
Проверка наличия PostgreSQL на компьютере🔗
В процессе автоматической установки проверяется наличие на сервере Macroscop установленной PostgreSQL необходимой версии: если такая версия не установлена, то в процессе установки Macroscop будет предложено установить PostgreSQL требуемой версии.
Установка и обновление PostgreSQL для Macroscop версии 3.4–3.6🔗
В Macroscop версий 3.4–3.6 для хранения событий модуля Поиск объектов требуется СУБД PostgreSQL версии 11. Для всех остальных событий и модулей используется СУБД Firebird.
Ниже описана установка PostgreSQL в автоматическом режиме, выполняемая в процессе установки на сервер компонентов Macroscop:
Установите на компьютер Macroscop Сервер или Macroscop Standalone. Если Macroscop Сервер или Macroscop Standalone уже установлен, перейдите к следующему шагу.
Остановите работу серверного приложения Macroscop. Для Macroscop Сервер это можно сделать с помощью утилиты Macroscop Статус Инфо или в оснастке управления службами Windows. Для Macroscop Standalone это осуществляется через контекстное меню значка приложения в панели задач.
Запустите пакет Macroscop Нейросети Standard версии, соответствующей установленному экземпляру Macroscop.
В списке модулей аналитики выберите модуль Поиск объектов и нажмите Далее.
Если PostgreSQL не установлен или имеет версию ниже требуемой, откроется окно с предложением установить требуемую версию PostgreSQL. Подтвердите установку; при необходимости, укажите путь установки. Нажмите Далее.
Далее следуйте указаниям Мастера установки.
Возобновите работу Macroscop.
Установка и обновление PostgreSQL для Macroscop версии 4.0 и выше🔗
В Macroscop версий 4.0-4.4 для всех внутренних баз данных требуется СУБД PostgreSQL версии 12.
С версии 4.6 в качестве базы данных для приложения Macroscop Сервер используется PostgreSQL 16.
Предупреждение
При обновлении сервера Macroscop до версии 4.6 все данные из PostgreSQL 12 переносятся в PostgreSQL 16 автоматически.
Предупреждение
Для успешного обновления убедитесь, что на диске доступно как минимум вдвое больше свободного места, чем текущий размер базы данных PostgreSQL 12. Узнать доступное место на диске можно с помощью утилиты psql, выполнив команду:
\l+
Предупреждение
В Macroscop версии 4.6 и выше при обновлении через Централизованное обновление серверов установка PostgreSQL выполняется только при её отсутствии на серверах.
Ниже описана установка PostgreSQL в автоматическом режиме, выполняемая в процессе установки на сервер компонентов Macroscop:
Установите на компьютер Macroscop Сервер или Macroscop Standalone. Если Macroscop Сервер или Macroscop Standalone уже установлен, перейдите к следующему шагу.
Если PostgreSQL не установлен, то откроется окно с предложением установить требуемую версию PostgreSQL. Подтвердите установку; при необходимости, укажите путь установки. Нажмите Далее.
Далее следуйте указаниям Мастера установки.
Предупреждение
Если перед обновлением до PostgreSQL 16 вручную менялись параметры (пароль, порт, pg_hba.conf и т.д.), то по завершении обновления потребуется заново настроить эти параметры.
Настройка базы данных для записи событий🔗
Ввиду того, что данное нововведение не предоставляет для пользователей новых возможностей с точки зрения использования Macroscop, использование СУБД PostgreSQL не требует дополнительных настроек, отличных от уже существующих настроек записи событий в базу. Для того чтобы начать запись в БД системы:
Откройте приложение Macroscop Конфигуратор и перейдите на страницу Серверы.
Выберите сервер в списке.
В правой части окна перейдите на вкладку Информация и нажмите кнопку Настроить.
Выберите в открывшемся окне вкладку Архив и задайте для одного из доступных в системе дисков состояние Архив + БД или просто Только БД.
Сохраните настройки.
Предупреждение
Дополнительная настройка PostgreSQL может потребоваться, если в системе используются удалённые базы данных для модулей Распознавание лиц или Распознавание автомобильных номеров. Подробности описаны в секции "Базы данных модулей аналитики".
Предупреждение
Для работы Macroscop и PostgreSQL по умолчанию используется порт 5432. Данный порт не должен использоваться другими приложениями, иначе запись журнала событий и базы данных осуществляться не будет.
Смена пароля для пользователя по умолчанию🔗
В случаях, когда использование стандартного пароля пользователя СУБД не соответствует требованиям безопасности, допустимо изменить пароль для соединения между Macroscop и PostgreSQL на собственный.
Предупреждение
Указанные ниже действия должны выполняться непосредственно на сервере, для которого вносятся изменения.
Остановите работу серверного приложения Macroscop. Для Macroscop Сервер это можно сделать с помощью утилиты Macroscop Статус Инфо или в оснастке управления службами Windows. Для Macroscop Standalone это осуществляется через контекстное меню значка приложения в панели задач.
Запустите утилиту psql от имени пользователя СУБД. Для этого запустите командную строку, перейдите в директорию с утилитой (По умолчанию: C:\Program Files\PostgreSQL\bin) и выполните команду:
psql -U postgres
Введите текущий пароль для подтверждения входа (По умолчанию: masterkey).
Измените пароль командой
ALTER ROLE postgres WITH PASSWORD 'newPassword';
где newPassword — это новый пароль для пользователя postgres.
Откройте в любом текстовом редакторе конфигурационный файл ArchiveSystem.xml, размещённый в директории C:\ProgramData\MacroscopServerConfig.
Найдите в этом файле секцию PostgreSqlConfig и внесите данные пользователя в строки User и Password.
Ниже приведён пример таких настроек:
<PostgreSqlConfig> <Ip>127.0.0.1</Ip> <Port>5432</Port> <User>postgres</User> <Password>newPassword</Password> </PostgreSqlConfig>
Для того, чтобы система могла автоматически создавать резервные копии файлов БД, убедитесь, что данные выбранного пользователя внесены в файл паролей самой СУБД. Для этого перейдите в директорию C:\Users\[User]\AppData\Roaming\postgresql, откройте в любом текстовом редакторе файл pgpass.conf и проверьте, что под использованными именем пользователя и паролем разрешён доступ к базам данных Macroscop.
Возобновите работу Macroscop.
Базы данных модулей аналитики (Windows)🔗
Если в системе используются модули Распознавание лиц или Распознавание автомобильных номеров, изменение пользователя СУБД окажет влияние в том числе и на их базы.
Если используется Локальная база данных, Macroscop будет использовать для доступа к базе имя и пароль, указанные в файле ArchiveSystem.xml.
Если используется Удаленная база данных, изменение учётных данных PostgreSQL на хранящем базу данных сервере потребует внесения новых имени и пароля в настройки всех камер, использующих эту базу.
Примечание
Пример:
Сервер 1 содержит базу лиц.
Сервер 2 имеет ряд камер, использующих базу лиц с Сервера 1.
Изменение пользователя СУБД на Сервере 2 не окажет влияния на доступ к базе лиц на Сервере 1.
Изменение пользователя СУБД на Сервере 1 потребует внесения новых данных в настройки всех камер на Сервере 2, использующих базу лиц.
Предупреждение
PostgreSQL не разрешает удалённый доступ к базам по умолчанию, в связи с чем его необходимо включить вручную при использовании удалённых баз данных.
Указанные ниже действия выполняются на сервере, хранящем базу данных модуля.
Откройте директорию с конфигурационными файлами PostgreSQL.
Путь по умолчанию:
C:\ProgramData\postgredb16\
В текстовом редакторе откройте файл postgresql.conf и добавьте в него строку вида:
listen_addresses = '*'
Указанный пример разрешает получать запросы через все доступные сетевые адаптеры сервера. При необходимости ограничить список адаптеров, разрешённых для приёма запросов к базам данных, замените символ /* на точный адрес сетевого адаптера.
Примечание
Подробную информацию о настройке можно получить в документации к PostgreSQL 16 (см. Connections and Authentication).
В текстовом редакторе откройте файл pg_hba.conf и добавьте в него строку вида:
host all all 192.168.0.0/24 md5
Указанный пример разрешает удалённое подключение ко всем базам, хранящимся на сервере, для всех пользователей, обращающихся с адресов диапазона 192.168.0.XXX. В случае, если в сети системы применяется иная адресация, необходимо указать соответствующий диапазон адресов. Допускается внесение нескольких строк с разными диапазонами адресов.
Примечание
Подробную информацию о настройке можно получить в документации к PostgreSQL 16 (см. The pg_hba.conf File).
Перезапустите службу postgresql-x64-16 с помощью командной строки или стандартной оснастки Службы.
Удаление PostgreSQL🔗
Несмотря на то, что PostgreSQL устанавливается вместе с компонентами Macroscop, удаление системы видеонаблюдения не влечёт за собой автоматическое удаление СУБД.
Удалить PostgreSQL с компьютера можно с помощью стандартных инструментов Windows, предназначенных для этой цели. Например, с помощью оснастки Установка и удаление программ из Панели управления или Приложения и возможности из окна Параметры.
Предупреждение
Удаление PostgreSQL не влечёт за собой автоматическое удаление её настроек. При повторной установке СУБД на тот же компьютер PostgreSQL задействует настройки из прежних конфигурационных файлов.
Откат🔗
При откате сервера Macroscop Сервер на версию ниже 4.6 обратный перенос базы данных на PostgreSQL 12 не осуществляется, поскольку PostgreSQL 12 и PostgreSQL 16 не синхронизируются между собой.
После отката данные сервера Macroscop Сервер будут писаться в PostgreSQL 16, при этом будут действовать следующие ограничения:
Механизм автоматического восстановления кластера PostgreSQL после удаления папки MacroscopArchive на архивном диске будет недоступен.
Создание и восстановление резервных копий будет недоступно.
В логах будут регистрироваться ошибки, связанные с включённым параметром wal_compression. Ошибка связана с тем, что сервер Macroscop Сервер не распознаёт новый формат ответа PostgreSQL 16 на запрос о состоянии параметров.
Чтобы откатиться до PostgreSQL 12, нужно:
Остановить службу PostgreSQL 16 и отключить автозапуск.
Запустить службу PostgreSQL 12 и включить автозапуск.