Импортозамещение > Инсталляция > Настройка окружения и установка СУБД 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®. Более подробную информацию об установке СУБД и расширений можно найти в соответствующей официальной документации от производителя.