| Импортозамещение > Инсталляция > Настройка окружения и установка СУБД PostgreSQL [●] | « пред. | след. » | 
Прежде чем переходить к установке СУБД PostgeSQL и созданию базы Platex® необходимо установить ряд зависимостей и провести соответствующие настройки. В данном подразделе рассматривается настройка окружения в операционной системе REDOS. Доступ к FTP с необходимыми для настройки скриптами/архивами и.т.п. выдается после приобретения заказчиком системы.
Перед установкой СУБД PostgreSQL необходимо установить ряд зависимостей и вспомогательных для дальнейшей работы библиотек и утилит (vim, unzip, wget, mc и др.). Для этого необходимо в консоли необходимо выполнить следующие команды:
| [root] yum install mc wget lftp nc elfutils-libelf-devel vim unzip gcc readline-devel zlib zlib-devel libaio | 
Далее необходимо создать нужные каталоги и нужных пользователей:
| 
[root] install -d -o root -g root /usr/local/PLATEX/{scripts,lib} /usr/local/PLATEX/converters/{bin,etc}
[root] install -d -o postgres -g postgres /var/log/platex /usr/local/PLATEX/{backup/,}postgres/{data}  /usr/local/PLATEX/converters/{data,cdr,spool,tmp,var/cache,var/pid}
 | 
Для пользователя postgres будет удобно сразу настроить переменные окружения:
| [postgres] export PGDATA=/usr/local/PLATEX/postgres/data [postgres] export PATH=/usr/local/pgsql/bin:$PATH [postgres] export LD_LIBRARY_PATH=/usr/local/pgsql/lib:/lib64:/usr/lib64:/lib:/usr/lib | 
На данном шаге необходимо установить необходимые для корректной работы системы perl-модули. Для этого потребуется установить следующие зависимости:
| [root] yum install perl-Digest-SHA perl-podlators perl-Encode perl-Socket perl-Carp perl-Time-Local perl-Pod-Simple perl perl-Net-Daemon perl-PlRPC perl-ExtUtils-MakeMaker perl-DBI perl-HTTP-Tiny perl-Pod-Perldoc perl-Text-ParseWords perl-Pod-Usage perl-macros perl-Time-HiRes perl-Storable perl-Filter perl-constant perl-threads-shared perl-File-Path perl-PathTools perl-Getopt-Long perl-Data-Dumper perl-Test-Harness perl-Compress-Raw-Bzip2 perl-Thread-Queue perl-Digest-SHA1 perl-Digest-MD5 perl-Digest-HMAC perl-IO-Compress perl-ExtUtils-Install perl-ExtUtils-ParseXS perl-Digest perl-Sys-Syslog perl-parent perl-Pod-Escapes perl-libs perl-threads perl-Exporter perl-File-Temp perl-Scalar-List-Utils perl-ExtUtils-Manifest perl-Compress-Raw-Zlib perl-devel | 
Далее потребуется распаковать полученный с FTP-папки архив perl-modules.zip и запустить скрипт install.sh, после чего проверить в директории /usr/local/PLATEX/scripts скриптов с расширением .pm.
Следующим шагом перед установкой СУБД будет распаковка внешних скриптов, необходимых для работы АСР (архив scripts.zip). После распаковки архива необходимо перенести все скрипты в каталог /usr/local/PLATEX/scripts.
Последним шагом будет установка СУБД PostgreSQL и необходимых расширений для дальнейшей работы системы. В данном примере СУБД PostgreSQL предлагается собираться из исходников рекомендуемой версии, полученных с FTP-папки в архиве db.zip. От пользователя root необходимо выполнить установку компонент СУБД и его расширений:
| [root] tar xzf postgresql-14.1.tar.gz [root] cd postgresql-14.1/ [root] ./configure [root] make [root] make install [root] cd contrib/pgcrypto/ [root] make [root] make install [root] yum search pgagent [root] yum install pgagent_14.x86_64 [root] systemctl enable pgagent_12 [root] systemctl start pgagent_12 
 | 
Далее от пользователя postgres необходимо создать каталоги для табличных пространств и запустить СУБД:
| 
[postgres] cd /usr/local/PLATEX/postgres/data/
[postgres] initdb -k
[postgres] mkdir ts_{default,core_dic,core_log,user_data,gar,temp,calls,mviews,user_files}
[postgres] pg_ctl -w -l /var/log/platex/pg_logfile -D /usr/local/PLATEX/postgres/data start
 | 
Отредактировать файл pg_hba.conf
В данном файле необходимо настроить хосты/подсети, с которых разрешено подключаться к СУБД. В случае, если СУБД принимает подключения по какому-либо интерфейсу кроме localhost, то рекомендуется ограничить перечень только теми хостами, которые требуются для работы компонент АСР (интеграций). Например, если с АСР взаимодействует сервер 1С, то в данном файле можно разрешить подключение с этого сервера.
| # Пример - разрешаем подключение к базе platex пользователю c1_loader с хоста 192.168.250.111 echo "host platex c1_loader 192.168.250.111 md5" >> pg_hba.conf | 
Разрешить подключения на порт 5432 для доверенных хостов (в примере подсеть 10.122.0.0/24)
| iptables -A INPUT -s 10.122.0.0/24 -p tcp --dports 5432 -j ACCEPT | 
Конфигурация pgagent
От пользователя postgres:
| echo localhost:5432:*:pgagent:platex >> ~/.pgpass chmod 600 ~/.pgpass chown postgres:postgres ~/.pgpass | 
От пользователя root:
| mkdir /var/log/pgagent chown -R postgres:postgres /var/log/pgagent chmod g+w /var/log/pgagent | 
Создать файл /etc/pgagent.conf со следующим содержимым:
| DBNAME=platex DBUSER=pgagent DBHOST=localhost DBPORT=5432 LOGFILE=/var/log/pgagent/pgagent.log | 
В случае наличия ошибок при установке расширения в базе:
| cd /usr/share/postgresql/14/extension/pgagent cp pgagent* /usr/local/pgsql/share/extension/ /usr/bin/pgagent -f -l 2 host=localhost port=5432 user=pgagent dbname=platex | 
Для автозапуска создать файл /usr/lib/systemd/system/pgagent.service
| 
[Unit]
Description=PgAgent for PostgreSQL
After=syslog.target
After=network.target
[Service]
Type=forking
User=postgres
Group=postgres
# Location of the configuration file
EnvironmentFile=/etc/pgagent.conf
# Where to send early-startup messages from the server (before the logging
# options of pgagent.conf take effect)
# This is normally controlled by the global default set by systemd
# StandardOutput=syslog
# Disable OOM kill on the postmaster
OOMScoreAdjust=-1000
ExecStart=/usr/bin/pgagent -s ${LOGFILE}  -l ${LOGLEVEL} host=${DBHOST} dbname=${DBNAME} user=${DBUSER} port=${DBPORT}
KillMode=mixed
KillSignal=SIGINT
Restart=on-failure
# Give a reasonable amount of time for the server to start up/shut down
TimeoutSec=300
[Install]
WantedBy=multi-user.target
 | 
Включить сервис:
| systemctl daemon-reload systemctl disable pgagent systemctl enable pgagent systemctl start pgagent | 
После выполнения вышеуказанных шагов можно приступать к созданию базы Platex®. Более подробную информацию об установке СУБД и расширений можно найти в соответствующей официальной документации от производителя.