...
- В СУБД PostgreSQL (например, в среде pgAdmin) создайте базу данных:
- В окне Обозреватель (Browser) нажмите правой кнопкой мыши по пункту Базы данных (Databases).
- Выберите Создать (Create) > База данных... (Database...).
- На вкладке Общие (General) укажите произвольное название базы данных в поле База данных (Database), например, LogServer, выберите из списка Владелец (Owner) сервисную учетную запись, которая будет использоваться для подключения к базе данных (например, servicepg), и нажмите Сохранить (Save).
- Предоставление привилегий сервисной учётной записи на таблицы базы данных:
- Выделите созданную базу данных в списке и перейдите в меню ЗапросникаЗапросник (Query Tool) (нажатием на кнопку
Введите текст запроса, указав в запросе имя учётной записи:
GRANT
ALL
PRIVILEGES
ON
ALL
TABLES
IN
SCHEMA
public
TO
"имя сервисной учётной записи без кавычек"
;
- В меню Запросник нажмите на кнопку Выполнить (Execute/Refresh) .
По умолчанию в 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
- В каталоге 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
>
В файле 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
>
...