Есть вопросы?
Закажите звонок специалиста!
Есть вопросы?
Закажите звонок специалиста!
Рассмотрим установку PostgreSQL+1С на Ubuntu — актуальная на 2023 год сборка.
В данной инструкции задействована ВМ с ОС Ubuntu Server 22.04 LTS. Рекомендованные минимальные характеристики для данных сервисов следующие: 6 ядер ЦП, 60 ГБ системный диск SSD и как минимум 12 ГБ ОЗУ. Однако, ресурсы следует рассчитывать из дальнейшего сценария использования и количества пользователей, работающих в базах.
Если установлена английская версия Ubuntu, то требуется переконфигурировать локали с помощью команды:
$ sudo dpkg-reconfigure locales
И выбрать ru_RU.UTF-8 UTF-8 (по умолчанию число номер 392), а затем перезагрузить сервер.
Далее приведена последовательность действий, необходимых для успешной установки PSQL:
$ sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list' $ wget -qO- https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo tee /etc/apt/trusted.gpg.d/pgdg.asc &>/dev/null
$ sudo apt update && sudo apt upgrade
$ tar -xvf postgresql_15.1_4.1C_amd64_deb.tar.bz2 $ cd postgresql_15.1_4.1C_amd64_deb && sudo apt install ./* -y
$ sudo nano /etc/postgresql/15/main/postgresql.conf
Раскомментируем эту строчку и присваиваем ей следующее значение:
listen_address = ‘*’
autovacuum = on autovacuum_max_workers = x # (где x — половина от количества ядер ЦП на сервере СУБД) autovacuum_vacuum_cost_delay = x # (x — пропорционально количеству количеству воркеров, т.е. если кол-во воркеров, например, 6 – увеличиваем значение по умолчанию в два раза) autovacuum_vacuum_scale_factor = 10 autovacuum_analyze_scale_factor = 0.5
Создаём отдельную директорию (например, /var/lib/postgesqldb ) и монтируем раздел нашего SSD-диска (в нашем случае — это /dev/sda2).
Отключаем службу psql:
$ sudo systemctl stop postgresql $ sudo mkdir -p /var/lib/postgesqldb && sudo chown postgres:postgres /var/lib/postgresqldb && sudo mount /dev/sda2 /var/lib/postgresqldb
Находим строчку data_directory и заменяем значение на '/var/lib/postgesqldb'. После чего инициализируем там кластер PSQL:
$ sudo -u postgres /
И заодно добавим в fstab директорию для хранения баз, чтобы она не размонтировалась при следующем перезапуске. Для этого нужно зайти в blkid и найти UUID раздела.
$ blkid
Заходим в /etc/fstab:
$ sudo nano /etc/fstab
И добавляем следующую строчку:
UUID=xxxx-xxxx-xxxxxx-xxx /var/lib/postgresqldb auto rw,user,auto 0 0
(Где иксы заменяем на UUID раздела, который нашли в blkid).
$ sudo nano /etc/postgresql/15/main/pg_hba.conf
Добавляем строчку:
host all all 192.168.89.0/24 md5
При необходимости открыть доступ к базе извне, вместо all all указываем базу данных и пользователя соответственно, а подсеть заменяем на 0.0.0.0/0.
$ sudo systemctl restart postgresql.service && sudo systemctl status postgresql.service
Если всё настроено правильно, то будет следующий вывод:
$ sudo -u postgres psql -U postgres -c "alter user postgres with password 'postgrespwd';"
Вместо postgrespwd можем указать свой пароль.
sudo ./setup-full-8.3.21.1393-x86_64.run
$ sudo cat /etc/passwd
$ sudo useradd usr1cv8 -mp ‘password’
$ sudo nano /etc/systemd/system/1CServer.service [Unit] Description=1C Server agent After=network.target [Service] Restart=Always User=usr1cv8 ExecStart=/opt/1cv8/x86_64/8.3.21.1393/ragent [Install] WantedBy=multi-user.target
$ sudo systemctl daemon-reload $ sudo systemctl start 1CServer && sudo systemctl status 1CServer
Если всё настроено корректно, получим примерно такой вывод:
Убедившись, что всё работает, устанавливаем службу:
$ sudo systemctl enable 1CServer
Создать базу 1С можно и в терминале Linux через команду, однако, для удобства, мы воспользуемся оснасткой администрирования сервера 1С, установленной на соседнюю машину на ОС Windows Server.
Мы добавили ИБ для запуска, можно заходить в конфигуратор и загружать имеющую конфигурацию. Итак, структура готова к работе в 1С.
Нужна помощь? Администрирование linux-серверов и PostgreSQL мы осуществляем в рамках услуги администрирование серверов.