Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. В СУБД PostgreSQL (например, в среде pgAdmin) создайте базу данных:
    • В окне Обозреватель (Browser) нажмите правой кнопкой мыши по пункту Базы данных (Databases). 
    • Выберите Создать (Create) > База данных... (Database...).

    • На вкладке Общие (General) укажите произвольное название базы данных в поле База данных (Database), например, LogServer, выберите из списка Владелец (Owner) сервисную учетную запись, которая будет использоваться для подключения к базе данных (например, servicepg), и нажмите Сохранить (Save).
  2. Предоставление привилегий сервисной учётной записи на таблицы базы данных:
    • Выделите созданную базу данных в списке и перейдите в меню ЗапросникаЗапросник (Query Tool) (нажатием на кнопку или комбинацией клавиш ALT+SHIFT+Q)
    • Введите текст запроса, указав в запросе имя учётной записи:

      GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO "имя сервисной учётной записи без кавычек";

    • В меню Запросник нажмите на кнопку Выполнить (Execute/Refresh) .

  3. По умолчанию в PostgreSQL разрешены только локальные подключения к базам данных, поэтому для работы между различными серверами требуется настройка удалённого подключения к БД:

    • В каталоге PostgreSQL откройте конфигурационный файл pg_hba.conf.


      Info

      Расположение файла pg_hba.conf

      Для Windows — C:\Program Files\PostgreSQL\<номер версии>\data

      Для *nix — /etc/postgresql/<номер версии>/main

    • В конце файла добавьте строку следующего типа:

      CONNECTIONTYPE DATABASE USER ADDRESS METHOD

      Где:

      • CONNECTIONTYPE -  Тип подключения. Указывается "host" - будет использоваться подключение по TCP/IP.
      • DATABASE - Имя базы данных, для которой предоставляется доступ (ALL для доступа ко всем базам данных).
      • USER - Имя пользователя, для которого будет доступно подключение (ALL для доступа всех пользователей).
      • ADDRESS - IP-адрес удалённого сервера RutokenKeyBox (0.0.0.0/0 для доступа с любых адресов).
      • METHOD - Метод аутентификации пользователя (например, md5, scram-sha-256).
        Примеры:

        host LogServer servicepg 192.200.1.0/24 md5
        host ALL servicepg 10.0.0.0/8 md5
        host ALL ALL 0.0.0.0/0 scram-sha-256

  4. В каталоге C:\inetpub\wwwroot\ls\targetConfigs отредактируйте файл cmPgSqlTarget.config в соответствии с настройками ниже:
    <ConnectionString> … </ConnectionString>:
    • Host - имя сервера PostgreSQL Server
    • Port - порт для подключения к СУБД PostgreSQL (5432 — значение по умолчанию)
    • Database - имя созданной в п.1 базы данных
    • Username - сервисная учётная запись для подключения к указанной базе данных
    • Password - пароль сервисной учётной записи

      <Settings>
        <ConnectionString>Host=SRV-POSTGRESQL;Port=5432;Database=LogServer;Username=servicepg;Password=P@ssw0rd</ConnectionString>
      </Settings>

  5. В файле C:\inetpub\wwwroot\ls\clientApps.config отредактируйте секцию <Application> для работы с файлом cmPgSqlTarget.config – добавьте новый TargetId для ReadTarget, WriteTarget:

    <Application Id="cm" SchemaId="cmSchema">
        <ReadTargetId>cmPgSqlTarget</ReadTargetId>
                  
        <WriteTargets>
            <TargetId>cmPgSqlTarget</TargetId>
        </WriteTargets>
      
        <AccessControl>
            <!-- <CertificateAccessControl CertificateThumbprint="001122...AA11" Rights="Read" /> -->
        </AccessControl>
    </Application>

    В том же файле отредактируйте секцию <Target> для работы с файлом cmPgSqlTarget.config

    <Targets>
        <Target Id="cmPgSqlTarget" Type="pgsql"/>
    </Targets>

...