В данном разделе приведены сведения по установке системы управления базами данных PostgreSQL, необходимой для работы нативной версии Платформы НЕЙРОСС [Типы установки Платформы НЕЙРОСС].

Для работы Платформы НЕЙРОСС необходимо наличие в сети СУБД PostgreSQL версии не ниже 10. СУБД может быть развёрнута как на сервере Платформы, так и на выделенном сервере. В данном руководстве приведены инструкции по установке и настройке СУБД PostgreSQL под ОС Ubuntu 20.04 LTS 64 bit и ОС Astra Linux Special Edition. Порядок настройки СУБД PostgreSQL для работы под управлением перечисленных операционных систем идентичен за исключением используемой версии СУБД. 


 Содержание:

одготовка к установке

Перед началом установки ответьте на вопросы ниже.

Вы корректно установили ОС?

Убедитесь, что:

  1. Операционная система из списка рекомендуемых [Системные требования | Платформа НЕЙРОСС].
  2. Операционная система корректно установлена, в процессе установки задана локаль United States - en_US.UFT-8 [Почему возникает ошибка создания базы данных в процессе установки Платформы НЕЙРОСС?].
  3. У вас есть полный административный доступ к целевой операционной системе.
  4. В операционной системе включен и настроен сетевой интерфейс, для интерфейса задан минимум один фиксированный сетевой адрес.
  5. Системное время задано верно, сервер настроен на синхронизацию с выбранным NTP-сервером или сам является сервером NTP.
  6. Установлены необходимые зависимости: OpenJDK 1.8 (update 222 или выше), ГосJava (Astra Linux), ntpdate, lshw, dmidecode, traceroute.
  7. Помимо системного раздела в ОС доступен ещё минимум один раздел диска или отдельный носитель.
Вы правильно выбрали сервер СУБД?
  1. СУБД PostgreSQL будет установлена на сервере Платформы, или с сервера Платформы есть доступ к серверу СУБД PostgreSQL.
  2. С сервера Платформы НЕЙРОСС можно будет подключиться и авторизоваться в СУБД по имени пользователя / паролю.
  3. Версия СУБД PostgreSQL не ниже 10.

Установка СУБД

Для установки СУБД PostgreSQL из сети Интернет выполните в терминале:

sudo apt update
sudo apt install -y postgresql

Проверьте номер установленной версии:

pg_config --version

Если номер версии 14 или 15 выполните инструкцию из раздела [Бесконечная загрузка после первого запуска при работе с PostgreSQL 14,15. Как исправить?].

Стандартная конфигурация

Процедура первичной настройки Платформы НЕЙРОСС допускает автоматическое создание баз данных (рекомендуемый подход). В последнем случае необходимо разрешить доступ к СУБД для учётной записи с правами на создание ролей и баз данных. В СУБД PostgreSQL всегда присутствует корневая учётная запись postgres, наделённая полными административными правами. В ОС Ubuntu Server 20.04 LTS, 22.04 LTS и Astra Linux Special Edition для данной учётной записи по умолчанию не задан пароль, подключение к СУБД возможно только из терминала соответствующей операционной системы. Ниже приведена инструкция по заданию пароля для административной учётной записи postgres.

Нестандартная конфигурация

Настройка учётной записи postgres

Ниже приведена инструкция по заданию пароля для административной учётной записи postgres.

Если СУБД установлена на сервере Платформы, вы можете пропустить данный шаг. На этапе первого запуска Платформы используйте стандартный режим.


  1. Выполните команду psql от имени пользователя postgres с помощью sudo:

    sudo -u postgres psql


  2. Средствами командной строки psql выполните:

    > \password


  3. Введите пароль, нажмите Enter.

  4. В следующей строке повторите ввод пароля. Пароль задан.
  5. Выйдите из командной строки psql:

    > \q


Настройка удалённого доступа

Шаги, описанные в данном разделе, необходимо выполнить ТОЛЬКО тогда, когда СУБД PostgreSQL и Платформа НЕЙРОСС развёрнуты на различных серверах. В случае, если СУБД и Платформа установлены на одном сервере — пропустите инструкцию в данном разделе.

В данном разделе описана процедура разрешения удалённого сетевого подключения к СУБД PostgreSQL версии 10.12. Местоположение конфигурационных файлов PostgreSQL других версий может отличаться.

  1. В терминале откройте конфигурационный файл postgresql.conf для редактирования:

    $ sudo nano /etc/postgresql/10/main/postgresql.conf


  2. Найдите в конфигурационном файле параметр listen_addresses и укажите IP-адреса, с которых разрешены входящие подключения. Список должен включать все IP-адреса Платформы НЕЙРОСС. Также возможно разрешить входящие соединения с любого сетевого адреса, указав в значении параметра '*'.

    #------------------------------------------------------------------------------
    # CONNECTIONS AND AUTHENTICATION
    #------------------------------------------------------------------------------
    # - Connection Settings -
    
    listen_addresses = '*' 					# what IP address(es) to listen on;
                                            # comma-separated list of addresses;
                                            # defaults to 'localhost'; use '*' for all


  3. Сохраните изменения: нажмите Ctrl+X, введите Y (для подтверждения изменений) и нажмите Enter.
  4. В терминале откройте конфигурационный файл pg_hba.conf для редактирования:

    sudo nano /etc/postgresql/10/main/pg_hba.conf


  5. Отредактируйте существующие разрешения или добавьте новое. Для того чтобы разрешить авторизацию с любого IP-адреса под любым пользователем из подсети 10.0.0.1/13, добавьте строку вида
    host all all 10.0.0.1/13 md5,
    где 10.0.0.1/13 задаёт префикс IP-адреса, с которых разрешена авторизация (13 — это величина маски подсети, соответствует маске 255.248.0.0). Пример изменённого файла приведён ниже:

    # Database administrative login by Unix domain socket
    local   all             postgres                                peer
    # TYPE  DATABASE        USER            ADDRESS                 METHOD
    # "local" is for Unix domain socket connections only
    local   all             all                                     peer
    # IPv4 local connections:
    host    all             all             127.0.0.1/32            md5
    host    all             all             10.0.0.1/13             md5
    # IPv6 local connections:
    host    all             all             ::1/128                 md5
    # Allow replication connections from localhost, by a user with the
    # replication privilege.
    #local   replication     postgres                                peer
    #host    replication     postgres        127.0.0.1/32            md5
    #host    replication     postgres        ::1/128                 md5


  6. Сохраните изменения: нажмите Ctrl+X, введите Y (для подтверждения изменений) и нажмите Enter.
  7. Перезапустите сервис PostgreSQL из терминала:

    sudo systemctl restart postgresql.service