Установка postgres 1c windows server

PostgreSQL — это объектно-реляционная СУБД, которая обладает широкой функциональностью и высокой производительностью. Открытый исходный код и бесплатный доступ делает ее подходящим решением для работы с 1С.

Перед установкой советуем ознакомиться с системными требованиями к конфигурации сервера.

Если не хотите настраивать серверы самостоятельно, воспользуйтесь готовыми серверами Selectel для 1C. Мы возьмем на себя настройку, оптимизацию производительности, резервное копирование и обслуживание инфраструктуры, чтобы вы могли полностью сосредоточиться на бизнес-задачах.

Установка на Windows

Рассмотрим клиент-серверный вариант работы 1С на Windows. Для этого установим серверы с платформой:

  • Windows Server 2022 с 1С:Предприятием 8.3,
  • Windows Server 2022 с СУБД PostgreSQL.

Подготовка сервера для 1С

После установки Windows Server настроим ОС, чтобы обеспечить корректную работу с дополнительным ПО.

Включаем сетевое обнаружение

Если вы устанавливаете 1С и PostgreSQL на разные серверы, то необходимо включить сетевое обнаружение. Для этого переходим в ПараметрыСеть и ИнтернетEthernetИзменение расширенных параметров общего доступа и нажимаем Включить сетевое обнаружение, затем активируем флаг Включить автоматическую настройку на сетевых устройствах.

Открываем порты

Для подключения пользователей с других устройств используются порты 1540, 1541 и 1560-1591. Чтобы их открыть, переходим в Брандмауэр Защитника WindowsДополнительные параметрыПравила для входящих подключений и нажимаем Создать правило. Добавляем туда параметры. 

  • Тип правила: для порта.
  • Протоколы и порты: протокол TCP / порт 1540.
  • Действия: разрешить подключения.
  • Профиль: доменный, частный и публичный.
  • Имя: любое.

Аналогично создаем правила брандмауэра для оставшихся портов.

Установка сервера 1С

На этом шаге необходимо учесть несколько важных моментов, о которых расскажем ниже. В остальном процесс инсталляции ничем не отличается от установки обычного приложения на ОС Windows.

При установке сервера 1С всплывает окно с перечнем компонентов, они могут отличаться в зависимости от дистрибутива. В нашем примере выберем обязательные и необязательные компоненты. 

Обязательные компоненты 1С: 

  • 1С:Предприятие 8;
  • сервер 1С:Предприятие 8;
  • администрирование сервера 1С:Предприятия.

Необязательные компоненты 1С:

  • 1С:Предприятие — тонкий клиент;
  • 1С:Предприятие — тонкий клиент, файловый вариант;
  • модули расширенного веб-сервиса.

Устанавливаем флаг в поле Установить сервер 1С:Предприятия 8 как сервис Windows, выбираем Создать пользователя USR1CV8 и указываем новый пароль.

При возникновении предупреждения «Ошибка при запуске службы “Агент сервера 1С:Предприятие”…» вручную запускаем указанную службу из консоли управления службами и нажимаем Пропустить в окне ошибки.

После установки переходим в директорию ../1cv8/version_1C/bin, где version_1C — версия устанавливаемого дистрибутива 1С. Запускаем файл RegMSC.bat, чтобы зарегистрировать утилиту администрирования серверов.

Подготовка сервера для PostgreSQL

Отключаем IPv6

Советуем отключить работу протокола IPv6, чтобы избежать возможных ошибок. Если, конечно, вы не используете его в своей инфраструктуре.

В Windows Server 2022 переходим в ПараметрыСеть и ИнтернетEthernetНастройка параметров адаптераСетьСвойства и снимаем флаг с параметра IP версии 6 (TCP/IPv6).

Включаем сетевое обнаружение

При установке 1С и PostgreSQL на разные серверы включаем сетевое обнаружение так же, как на первом сервере. Для этого переходим в ПараметрыСеть и ИнтернетEthernet → Изменение расширенных параметров общего доступа, нажимаем Включить сетевое обнаружение и активируем флаг Включить автоматическую настройку на сетевых устройствах.

Включаем службу «Вторичный вход в систему»

Служба помогает запускать программы от имени другого пользователя. Переходим в Службы, находим Вторичный вход в систему и нажимаем Запустить.

Установка и настройка PostgreSQL

Устанавливаем PostgreSQL

Скачиваем и запускаем дистрибутив PostgreSQL для 1C. Установка производится так же, как и обычная программа на ОС Windows, поэтому опишем лишь основные моменты.

  1. На этапе Компоненты устанавливаемой программы выбираем все доступные параметры.

  1. В параметрах сервера меняем Локаль на ru-RU, задаем имя суперпользователя и его пароль.
Локаль — это набор данных, указывающий на формат даты и времени, отображение валют, используемый язык и другие региональные данные.

Суперпользователь — это имя пользователя внутри СУБД, а не сервиса. Из соображений безопасности пароль не должен быть таким же, как у сервиса PostgreSQL.

  1. Далее выбираем Провести оптимизацию параметров. Программа автоматически рассчитает объем ресурсов, который будет выделяться для работы сервера PostgreSQL.

Устанавливаем pgAdmin 4

Для удобной работы с базой данных можно установить графическую консоль pgAdmin 4. 

Чтобы изменить язык интерфейса на русский, переходим в настройки, нажав на верхней панели File → Preferences. В разделе MiscellaneousUser language выбираем Russian в раскрывающемся меню. 

Подключаем обслуживание базы данных

PostgreSQL содержит две утилиты для создания резервных копий данных — pg_dump и pg-dumpall.

  • Команда pg_dump сохраняет набор SQL-команд в файл, который создает полную копию скопированной базы.
  • Команда pg_dumpall сохраняет резервную копию всех БД и данных уровня кластера — например, роли, определения табличных пространств и другие.

Использовать эти утилиты можно в планировщике событий и pgAdmin 4. Первый вариант позволяет автоматизировать процесс создания резервных копий БД. Второй вариант не поддерживает встроенный планировщик событий, поэтому резервные копии каждый раз нужно создавать вручную.

В PostgreSQL есть четыре операции, которые помогают управлять и оптимизировать обслуживание базы данных.

  • VACUUM — для освобождения пространства от удаленных записей. После удаления строк из таблицы место не освобождается немедленно. Вместо этого оно помечается как доступное для повторного использования, но не возвращается в пользование ОС. Команда VACUUM чистит это пространство, делая его доступным.
  • ANALYZE — для сбора статистики о данных в таблице. Полученная информация помогает оптимизатору принимать более эффективные решения при выполнении запросов.
  • REINDEX — для перестроения индексов в базе данных, которые ускоряют поиск и сортировку данных. Периодическое выполнение предотвращает потерю производительности идексов при их использовании.
  • CLUSTER — для физической пересортировки данных в таблице на основе индекса. Он улучшает производительность запросов, которые часто используют определенные индексы.

Создание информационной базы 1С на PostgreSQL

Чтобы создать базу данных в PostgreSQL, переходим в оснастку Администрирование серверов 1С:Предприятия. На левой панели находим Информационные базы и создаем новую базу с необходимыми параметрами.

  • Имя — имя информационной базы на сервере 1С.
  • Сервер баз данных — имя или IP-адрес SQL-сервера, где будет располагаться база данных.
  • Тип СУБД — в нашем случае, PostgreSQL.
  • База данных — имя базы данных, создаваемой на SQL-сервере.
  • Пользователь и пароль БД — имя и пароль пользователя, задаваемые при установке PostgreSQL (имя по умолчанию — postgres).
  • Создавать базу данных в случае ее отсутствия — создание БД на сервере PostgreSQL, если до этого такой базы не существовало.

С помощью pgAdmin 4 можно проверить, что база данных находится на сервере PostgreSQL.

Терминальный сервер

Терминальный сервер 1С — это сервер, который предоставляет удаленный доступ к 1С:Предприятию. Ему не нужны мощные клиентские устройства —  вся работа будет выполняться на сервере.

Для подключения терминального сервера 1С в Windows Server, выполним несколько шагов.

  1. В Диспетчере серверов нажимаем Добавить роли и компоненты.
  2. Выбираем тип установки сервера: Установка ролей и компонентов.
  3. В качестве роли указываем Службу удаленных рабочих столов.
  4. На вкладке Службы ролей выбираем Лицензирование удаленных рабочих столов и Узел сеанса удаленных рабочих столов.
  5. Настраиваем пользовательский доступ к серверу в разделе диспетчера серверов СредстваУправление компьютеромЛокальные пользователиПользователи.
  6. Всех созданных пользователей добавляем в группу Пользователи удаленного рабочего стола.
  7. В разделе диспетчера серверов СредстваЛокальная политика безопасностиЛокальные политикиНазначение прав пользователяРазрешить вход в систему через службу удаленных рабочих столов добавляем пользователей или их группы.

Теперь пользователи могут подключаться к терминальному серверу и удаленно работать с программой 1С:Предприятие. 

Установка на Linux

Рассмотрим клиент-серверный вариант работы 1С на Linux. Для этого подготовим сервер для установки 1С:Предприятие 8.3 и СУБД PostgreSQL с ОС Debian 12. С подробной инструкцией по установке и настройке ОС Debian можно ознакомиться здесь.

Подготовка сервера

Подключаем репозиторий

Перед началом установки 1С и ее компонентов подключаем репозиторий, в котором лежат необходимые файлы. В файл /etc/apt/sources.list добавляем следующую строку: 

    deb http://ftp.ru.debian.org/debian sid main contrib non-free

После изменения файла sources.list обновляем информацию о состоянии пакетов командой:

    # sudo apt-get update

Устанавливаем дополнительные пакеты

Перед установкой 1С устанавливаем дополнительные пакеты:

    # apt-get install imagemagick unixodbc ttf-mscorefonts-installer
  • imagemagick — набор программ для чтения и редактирования графических файлов;
  • unixodbc — диспетчер драйверов для ODBC;
  • ttf-mscorefonts-installer — набор шрифтов Microsoft.

Устанавливаем локаль

Для корректной установки сервера 1С на Linux следует использовать российскую локаль. Чтобы проверить актуальную локаль в системе, воспользуемся командой:

    # locale

Если ваша ОС использует не ru_RU.UTF-8, ее необходимо сгенерировать и выставить как локаль по умолчанию.

Список локалей, доступных для установки, перечислен в файле /etc/locale.gen. В нем необходимо раскомментировать строку ru_RU.UTF-8. После этого для генерации русской локали вводим в терминале команду:

    # sudo locale-gen ru_RU.UTF-8

Устанавливаем русскую локаль как Локаль по умолчанию:

    # sudo update-locale LANG=ru_RU.UTF-8

Перезагружаем сервер для применения изменений.

Подготавливаем дистрибутив

Для установки сервера 1С:Предприятие на Debian подготовим установочный файл. Он находится в скачанном архиве с deb-пакетами и имеет расширение .tar.gz.

Если файл находится на каком-либо устройстве под управлением Windows, для переноса архива на сервер Debian можно использовать утилиту SCP.

В командной строке Windows вводим команду:

    > scp file_path root@ip_address_debian:/destination_path
  • file_path – путь к файлу в ОС Windows;
  • ip_address_debian – IP-адрес сервера, на который будет передан файл;
  • destination_path – путь к директории, в которую будет скопирован файл в ОС Debian.

Установка сервера 1С на Linux

Приступим к установке непосредственно 1С. Переходим в директорию со скопированным архивом и распаковываем его командой:

    # tar -zxvf deb64_version_1C.tar.gz

version_1C — это версия 1С, устанавливаемая на ваш сервер.

Далее устанавливаем все пакеты, которые находились в данном архиве. Для этого вводим команду:

    # dpkg -i 1c*.deb

После успешной инсталляции сервера 1С устанавливаем его автозагрузку, а также запускаем сам сервер 1С:

    # systemctl enable srv1cv83
# systemctl start srv1cv83

Если во время запуска 1С возникает ошибка «srv1cv83.service not found», создаем символьную ссылку в директории /etc/init.d на файл srv1cv83:

    # ln -s /opt/1cv8/x86_64/version_1C/srv1cv83 /etc/init.d/srv1cv83

Обычно файл srv1cv83 находится в /opt/1cv8/x86_64/version_1C. Если вы не обнаружили его в указанной директории, можно воспользоваться командой find /opt -name srv1cv83 для поиска.

В новых версиях 1С используются файлы для systemd, их названия заканчиваются на @.service, например:

    /opt/1cv8/x86_64/version_1C/srv1cv8-8.3@.service

После этого вводим повторную команду автозагрузки и запуска 1С. Чтобы проверить статус команды, введите # systemctl status srv1cv83. В поле Active должен быть указан статус Active (running). Также с помощью # netstat -tulnp | grep «rphost\|ragent\|rmngr» можно проверить, запущены ли все необходимые службы.

Установка PostgreSQL

Мы будем использовать сборку от компании PostgreSQL Pro. На момент написания статьи актуальная версия PostgreSQL — 16.0, но во время установки можно выбрать любую. 

Вводим следующие команды в терминал Debian для загрузки репозитория PostgreSQL:

    # wget https://repo.postgrespro.ru/1c-16/keys/pgpro-repo-add.sh

# sh pgpro-repo-add.sh

Устанавливаем базу данных:

    # apt-get install postgrespro-1c-16

После установки выполняем команду для добавления PostgreSQL в автозагрузку:

    # systemctl enable postgrespro-1c-16

Проверить корректность установки можно с помощью команды # systemctl status postgrespro-1c-16. В поле Active должен быть указан статус Active (running).

Настройка PostgreSQL для работы с 1С

Пароль пользователя postgres

После установки PostgreSQL создадим пароль для внутреннего пользователя СУБД — postgres. Для этого подключаемся к PostgreSQL:

    # sudo -u postgres psql

Задаем пользователю postgres пароль:

    # ALTER USER postgres WITH PASSWORD 'postgres';
Используйте более сложный пароль, «postgres» указан в качестве примера.

Прослушивание адресов

Если сервер 1С установлен на том же хосте, что и PostgreSQL (как в нашем случае), то для СУБД следует установить прослушивание только локального порта localhost.

Для этого переходим к редактированию файла /var/lib/pgpro/1c-16/data/postgresql.conf, находим строку listen_addresses = ‘localhost’ и раскомментируем ее.

Если к серверу 1С будут подключаться пользователи с других устройств, параметру listen_address следует присвоить значение * (прослушивание всех адресов) или указать конкретные IP-адреса через пробел .

В данном случае также необходимо открыть порт 5432 для TCP-подключения, а в файле pg_hba.conf настроить аутентификацию клиентов. Подробнее об этом можно почитать в документации.

После внесенных изменений перезапускаем PostgreSQL:

    # systemctl restart postgrespro-1c-16

Создание базы 1С

Для создания базы 1С дополнительно требуется устройство с ОС Windows. Во время установки клиента выбираем компонент Администрирование сервера 1С:Предприятие.

После установки переходим в директорию ../1cv8/version_1C/bin и запускаем файл RegMSC.bat. Так мы зарегистрируем утилиту администрирования серверов.

Чтобы создать базу данных в PostgreSQL, переходим в оснастку Администрирование серверов 1С:Предприятия. В левой панели находим Информационные базы и создаем новую с необходимыми параметрами.

  • Имя — имя информационной базы на сервере 1С.
  • Сервер баз данных — имя или IP-адрес SQL-сервера, где будет располагаться база данных.
  • Тип СУБД — в нашем случае, PostgreSQL.
  • База данных — имя базы данных, создаваемой на SQL-сервере.
  • Пользователь и пароль БД — имя и пароль пользователя, задаваемые при установке PostgreSQL (имя по умолчанию — postgres).
  • Создавать базу данных в случае ее отсутствия — создание базы данных на сервере PostgreSQL, если ранее такой базы не существовало.

Если при создании базы данных получено предупреждение «Ошибка соединения с рабочим процессом», то на сервере, где установлена PostgreSQL, необходимо разрешить TCP-подключение по портам 1540, 1541 и 1560. Если же возникла ошибка «Этот хост неизвестен», то необходимо проверить в настройках DNS или в файле hosts, записано ли в нем имя сервера и IP-адрес.

После создания информационной базы ее можно добавить в клиентское приложение 1С. Для этого нужно указать имя базы и ее расположение на сервере 1С:Предприятия.

Настройка резервного копирования

Резервное копирование баз данных в системе 1С обеспечивает надежность и безопасность информации. Позволяет быстро восстановить работу системы в случае возникновения нештатных ситуаций.

В PostgreSQL есть встроенные утилиты для работы с резервными копиями. Один из основных инструментов и синтаксис команды представлены ниже:

    # pg_dump <параметры> <имя базы> > <файл для сохранения копии> 

Настройку резервного копирования с использованием различных утилит PostgreSQL подробно описали в предыдущей статье.

Установка HASP Licence Manager

HASP License Manager — это ПО для управления лицензиями на программные продукты, которые используют аппаратные ключи защиты. Он поддерживает централизованный контроль за лицензиями и их распределением в сетевых средах.
Убедимся, что сервер поддерживает установленный аппаратный ключ:

    # lsusb

В выводе этой команды появляется запись об Aladdin Knowledge Systems HASP. Если все корректно определяется, то можно начинать установку HASP LM.

Открываем терминал на сервере и загружаем необходимый пакет из репозитория:

    # wget http://download.etersoft.ru/pub/Etersoft/HASP/stable/Debian/11/haspd_8.43-eter2debian_i386.deb

Обновляем информацию и инсталлируем необходимые зависимости. Затем устанавливаем пакеты HASP:

    # apt updat
# apt install make libc6-i386
# dpkg -i hasp*.deb

Если в 64-битной версии Debian (amd64) при попытке введения команды dpkg -i hasp*.deb вы получаете ошибку:

    dpkg: ошибка при обработке архива haspd_8.43-eter2debian_i386.deb (--install): архитектура пакета (i386) не соответствует архитектуре системы (amd64)

Следует запустить ту же команду с параметром --force-architecture:

    # dpkg --force-architecture -i hasp*.deb

После установки запускаем службу, добавляем ее в автозагрузку командами и проверяем статус:

    # systemctl start haspd
# systemctl enable haspd
# systemctl status haspd

Для контроля выданных лицензий можно использовать утилиту Aladdin Monitor.

Миграция базы из старой 1С

Чтобы мигрировать базу 1С в новую, нужно открыть ее в конфигураторе на старом клиенте и нажать АдминистрированиеВыгрузить информационную базу. Далее указываем путь для сохранения файла и выгружаем текущую базу.

Чтобы загрузить базу на новый сервер 1С, открываем конфигуратор информационной базы, нажимаем АдминистрированиеЗагрузить информационную базу и выбираем файл базы, выгруженный из старой 1С.

Веб-публикация 1С с помощью Apache

Сервер 1С поддерживает веб-публикацию баз, чтобы пользователи могли подключать к ним напрямую из браузера. Подключим функцию с помощью веб-сервера Apache. 

Для начала установим сам веб-сервер. В терминале Debian вводим:

    # apt-get install apache2

Как и ранее, включаем службу в автозагрузку и запускаем ее:

    # systemctl enable apache2
# systemctl start apache2

Если на вашем сервере активирован брандмауэр, следует добавить в него правило:

    # iptables -I INPUT -p tcp --dport 80 -j ACCEPT
# netfilter-persistent save

Если в поисковой строке браузера ввести http://ip_address, где ip_address — это адрес сервера 1С, отобразится страница Apache.

Чтобы опубликовать базу, необходимо запустить на выполнение скрипт webinst, который добавляется автоматически при установке Apache. Для проверки будем публиковать тестовую базу в директорию /var/www/html.

Создаем каталог, в который будем публиковать базу. Переходим в папку с установленной платформой 1С и запускаем скрипт:

    # mkdir /var/www/html/test
# cd /opt/1cv8/x86_64/version_1C/
# ./webinst -apache24 -wsdir test -dir /var/www/html/test -connstr "Srvr=ip_address;Ref=test;" -confPath /etc/apache2/apache2.conf

  • apache24 — версия установленного Apache;
  • /var/www/html/test — путь до каталога на сервере, в котором будет опубликована база;
  • ip_address — адрес сервера 1С;
  • Ref=test — имя базы в СУБД;
  • /etc/apache2/apache2.conf — путь до конфигурационного файла Apache.

Если в поисковой строке браузера ввести http://ip_address/test, где ip_address — это адрес сервера 1С, а test — название базы, отобразится страница с указанной базой 1С.

Обслуживание БД 1С на сервере с PostgreSQL

Обслуживание баз данных 1С с использованием PostgreSQL включает в себя различные задачи, в том числе чистку баз и перестройку индексов.

Чистка базы данных (VACUUM)

VACUUM в PostgreSQL управляет пространством и оптимизирует производительность базы данных. Опишем его основные задачи.

  • Удаление из памяти устаревших версий кортежей. PostgreSQL использует механизм многоверсионности для поддержки одновременного доступа к данным. VACUUM удаляет версии кортежей, которые больше не нужны для поддержки транзакций.
  • Освобождение пространства после удаления данных. После выполнения операции DELETE или UPDATE место, ранее занятое данными, остается выделенным для 1С. VACUUM освобождает это место.
  • Обновление статистики. VACUUM также обновляет статистику, которая используется оптимизатором запросов для выбора оптимальных планов выполнения.

Перестройка индексов (REINDEX)

REINDEX в PostgreSQL используется для перестройки индексов. Он полезен, если индекс становится поврежденным или если вы хотите оптимизировать его производительность.

Выполнение этих задач может занять время. При этом доступ к базе данных будет органичен или замедлен. Рекомендация: следует выполнять эти операции в периоды низкой активности базы данных.

Настройка обновления для сервера 1С

Чтобы установить обновление, скачиваем новый дистрибутив. При этом прекращаем работу предыдущего сервиса 1С: 

    # systemctl stop srv1cv83

Создаем каталог в удобном для нас месте, чтобы распаковать скачанный архив:

    # mkdir update_for_1c
# tar -zxf deb64_version_1C.tar.gz -C …/update_for_1c/

Устанавливаем новую версию пакетов:

    # dpkg -i …/update_for_1c/1c_version_1C.deb

Удаляем старую символьную ссылку. Для этого находим все файлы srv1cv83:

    # find /opt -name srv1cv8*
# rm -f /etc/init.d/srv1cv83

После — создаем новую. Она будет вести на обновленную версию файла: 

    # ln -s /opt/1cv8/x86_64/8.3.version_1C/srv1cv83 /etc/init.d/srv1cv83

Перезапускаем Daemon и запускаем сервис 1С:

    # systemctl daemon-reload
# systemctl start srv1cv83

Заключение

В инструкции подробно рассмотрели процесс установки 1С на серверы с операционными системами Windows и Linux. Важно помнить, что корректная установка и настройка обеспечивают стабильную работу инфраструктуры. При выполнении всех представленных шагов вы создадите основу для успешной эксплуатации и управления данными в вашей информационной системе.

shared_buffers = 16GB # 50% of RAM

Задаёт объём памяти, который будет использовать сервер баз данных для буферов в разделяемой памяти. Согласно рекомендации команды Postgres pro, рекомендуемое значение: 25% от ОЗУ сервера SQL, но на домашнем ПК данный параметр можно увеличить как минимум вдвое.

temp_buffers = 820MB

Задает максимальный объем памяти, выделяемой для временных буферов в каждом сеансе. Эти, существующие только в рамках сеанса буферы, используются исключительно для работы с временными таблицами. То есть это верхний лимит размера временных таблиц в каждой сессии (рекомендуемый размер 1/20 RAM).

work_mem = 256MB

Задает базовый максимальный объём памяти, который будет использоваться во внутренних операциях при обработке запросов (например, для сортировки или хеш-таблиц), прежде чем будут задействованы временные файлы на диске. Считается так: ОЗУ делим на 32..64.

maintenance_work_mem = 256MB

Задает максимальный объем памяти для операций обслуживания БД, в частности VACUUM, CREATE INDEX и ALTER TABLE ADD FOREIGN KEY.

max_parallel_workers_per_gather = 0

Количество воркеров, которые запускаются на узел. Это основополагающая настройка, если вы ее выставите в ноль, параллелизм не будет отрабатывать, будет работать один процесс, один оператор. Когда оптимизатор запросов принимает решение, что для запроса нужно применять параллелизм, он смотрит на этот параметр и определяет, сколько ему нужно воркеров, чтобы выполнить этот оператор запроса.

max_parallel_maintenance_workers = 2 # Количество CPU/4, минимум 2, максимум 6

Задаёт максимальное число рабочих процессов, которые могут запускаться одной служебной командой.

max_wal_size = 16GB и min_wal_size = 4GB

Минимальный и максимальный размер файлов журнала предзаписи.

effective_cache_size = 16000MB # 50% of RAM

Этот параметр влияет на планировщик запросов, а не ограничивает дисковый кэш. Чем выше, тем больше вероятность, что будет применяться сканирование по индексу. Чем ниже, тем более вероятно, что будет выбрано последовательное сканирование. На боевом сервере рекомендован размер …..MB # 75%, но на домашнем ПК в ходе тестирования, оптимальным оказался результат …..MB # 50%. Оценка размера кэша файловой системы. Считается так: ОЗУ минус shared_buffers.

random_page_cost = 1.4

Задает приблизительную стоимость чтения одной произвольной страницы с диска. Значение по умолчанию равно 4.0. С хранилищем, у которого стоимость произвольного чтения ненамного выше последовательного, как, например, у твердотельных накопителей, лучше выбрать меньшее значение random_page_cost. Параметр наиболее эффективен, при условии что база полностью помещается в ОЗУ. Сервер SQL не знает какая у нас дисковая подсистема и какое время Seek Time, потому данный параметр необходимо задать вручную в среде Linux. В Windows параметр проставляется автоматически:

  • 4.0 – для HDD;
  • 1.5-2.0 – для RAID из HDD;
  • 1.1 – 1.5 – для SSD;
  • 0.1 – 1.0 – для NVMe.

effective_io_concurrency = 200

Задаёт допустимое число параллельных операций ввода/вывода, которое говорит PostgreSQL о том, сколько операций ввода/вывода могут быть выполнены одновременно. Чем больше это число, тем больше операций ввода/вывода будет пытаться выполнить параллельно PostgreSQL в отдельном сеансе. Диски SSD и другие виды хранилища в памяти часто могут обрабатывать множество параллельных запросов, так что оптимальным числом может быть несколько сотен.

Пошаговое руководство по установке и первичной настройке сервера 1С:Предприятия 8.3 версии 8.3.19.1229 в ОС Microsoft Windows Server 2019 Standard с использованием СУБД PostgreSQL-11.7-5-1C и системы защиты HASP (USB-ключа).

Подготовка

Запускаем службу Вторичный вход в систему и в свойствах выбираем Запускать автоматически

# services.msc

На машинах, где будет установлено 1С-Предприятие, открываем в блокноте с правами администратора сервера файл C:\Windows\System32\drivers\etc\hosts и допишем в нём:

192.168.1.15	SRV15
  • 192.168.1.15 — IP-адрес сервера
  • SRV15 — имя хоста сервера

Скачиваем с официального ресурса 1С https://releases.1c.ru/ платформу 1c-enterprise-8.3 full (текущую версию) и СУБД postgresql-11.7-5.1C-x64 (или текущую версию).

Установка и настройка СУБД postgresql-11.7-5.1C

Запускаем дистрибутив postgresql-11.7-5.1C(x64) для установки

устанавливаем как сервис и при необходимости меняем пути

инициализируем кластер и устанавливаем пароль для пользователя postgres

Запускаем службу: Пуск — PostgreSQL 11.7-5.1C(x64) — Start Service

Распаковываем архив и в нём запускаем setup.exe

Для установки сервера выбрать компоненты

  • Сервер 1С:Предприятия 8
  • Администрирование сервера 1С:Предприятия
  • Сервер хранилища конфигураций 1С:Предприятия
  • Дополнительные функции администрирования
  • Контроль целостности
  • Интерфейсы на различных языках: Английский и Русский

Выбираем язык интерфейса — Русский

Устанавливаем сервер как сервис и создадим пользователя USR1CV8 и пароль к нему

Устанавливаем драйвер аппаратных ключей защиты

и завершаем установку.

Настройка сервера 1С:Предприятие 8.3

После установки запускаем сервер: Пуск — 1С Предприятие 8 (x86-64) — Запуск сервера x86-64

Регистрирует утилиту администрирования серверов: Пуск — 1С Предприятие 8 (x86-64) — Регистрация утилиты администрирования серверов x86-64

Запускаем консоль администратора: Пуск — 1С Предприятие 8 (x86-64) — Администрирование серверов 1С Предприятия x86-64

на пункте Central 1C:Enterprise 8.3 servers жмём правой кнопкой мыши — Создать — Центральный сервер 1С:Предприятия 8.3

Вводим имя сервера и, если необходимо, описание

Теперь сервер отображается в консоли

Создадим информационную базу

Пропишем имя ИБ, описание, адрес сервера БД: localhost (если сервер развёрнут на той же машине, что и СУБД), имя БД, пользователя postgres и пароль, а также отметим чек-бокс Создать базу данных в случае её отсутствия

и информационная база появилась в оснастке консоли

Теперь вставляем USB-ключ HASP и на всякий случай перезагрузим машину.

Установка и настройка клиента 1С:Предприятие 8.3

Распаковываем архив и в нём запускаем setup.exe

Будут отмечены компоненты:

  • 1С:Предприятие 8
  • Интерфейсы на различных языках — Английский и Русский

Этого вполне достаточно.

Будет создан ярлык 1С Предприятие. Запускаем его и сразу будет предложено добавить информационную базу

Соглашаемся.

Выбираем существующую информационную базу

Выберем тип расположения — На сервере 1С:Предприятия.

Заполним: Кластер серверов: SRV15, Имя информационной базы: db_1c (то же, что и было добавлено в консоли администрирования)

В Версию 1С:Предприятия впишем 8.3, в Разрядность64 (x86_64)

и информационная база появится в списке

Заключение

Если при установке и настройке вышеперечисленных пунктов не возникало никаких сообщений об ошибках, значит настройка прошла корректно. Но нельзя забывать о лицензии — это USB-ключ аппаратной защиты HASP. При работе в 1С-Предприятии его наличие обязательно.

Подготовлен сервер с ОС Windows Server 2016. Нужно развернуть на нём СУБД PostgreSQL для работы с базами 1С:Предприятие.

В рабочей зоне не рекомендуется использовать PostgreSQL на Windows, так как производительность СУБД в таком случае будет ниже, чем при использовании PostgreSQL на Linux.

Скачиваем дистрибутив PostgreSQL с сайта 1С. Я скачал версию 15.5:

Перед установкой этой СУБД в службах Windows нужно запустить службу «Вторичный вход в систему» (Secondary Logon):

Если этого не сделать, то при установке PostgreSQL всё равно появится соответствующее уведомление — «The ‘Secondary Logon’ service is not running.»:

Запускаем файл установки. PostgreSQL ставим, как службу. Задаём каталог для размещения баз данных:

Указываем пароль для встроенной учётной записи postgres:

На этом установка СУБД закончена.

Основная настройка PostgreSQL осуществляется в двух файлах:

1. C:\Program Files\PostgreSQL\15.5-10.1C\data\postgresql.conf

2. C:\Program Files\PostgreSQL\15.5-10.1C\data\pg_hba.conf

Здесь показаны настройки для возможности подключения к серверу СУБД с других устройств. В частности, за это отвечает параметр listen_adresses (в файле postgresql.conf), который задаёт адреса TCP/IP, по которым сервер будет принимать подключения клиентских приложений. Значение этого параметра равное ‘*’ (звёздочка), обозначает все имеющиеся IP-интерфейсы. А строка в файле pg_hba.conf

host all all 192.168.238.0/24 md5

разрешает подключение к СУБД с устройств указанной подсети.

Более подробно про настройки в этих файлах написано в инструкции «Установка PostgreSQL для 1С:Предприятие на ОС Ubuntu» и статье «Подготовка к тесту 1С:Эксплуатация информационных систем. 4 — Администрирование серверов с СУБД PostgreSQL» (ссылки внизу страницы).

После внесённых изменений перезапускаем службу PostgreSQL Database Server:

Для администрирования PostgreSQL есть утилита pgAdmin.

При первом запуске после установки pgAdmin попросит установить мастер-пароль, который потом нужно будет вводить при каждом запуске этой утилиты:

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

После подключения к серверу можно будет создать нового пользователя для будущих подключений от сервера 1С:Предприятие:

Задаём ему имя, пароль и права:

Теперь на сервере 1С можно создавать информационную базу с указанием этого настроенного сервера баз данных:

При этом могут возникнуть следующие ошибки:

— «Сервер баз данных не обнаружен. Connection to server at …, port 5432 failed: timeout expired»

Если сервер 1С и сервер с PostgreSQL, это разные хосты, то между ними должен быть открыт TCP-порт 5432 (если номер порта не менялся) и для входящих, и для исходящих подключений.

— «Сервер баз данных не обнаружен. Connection to server at …, port 5432 failed: FATAL: no pg_hba.conf for host …»

При данной ошибке нужно в файле pg_hba.conf настроить подключение к PostgreSQL со сторонних устройств.

— «У пользователя недостаточно прав на исполнение операции над базой данных»

При данной ошибке нужно либо повысить уровень прав, используемому пользователю, либо задать другого пользователя (например, postgres).

Актуальность использования СУБД PostgreSQL для 1С особенно набирает обороты в последнее время, поскольку не требуется приобретать лицензии MS SQL.

Рассмотрим архитектурное решение, когда СУБД вынесена на отдельную машину, а сервер 1С находится на Windows Server.

Данное архитектурное решение было выбрано по причине того, что обмен между БД настроен через COM-компонент. Если сервер 1С переносить на Linux, то требуется также перенастраивать обмен, который в нашем решении не требуется.

В первую очередь требуется выбрать дистрибутив, на котором будем устанавливать СУБД. Мы выбрали Debian 11.

Минимальные системные требования для установки Postgres Pro, создания кластера баз данных и запуска сервера:

  • Процессор с частотой 1 ГГц.
  • 1 ГБ ОЗУ.
  • 1 ГБ свободного дискового пространства.

Для вспомогательных компонентов или данных потребуется дополнительное дисковое пространство.

Для того чтобы Postgres Pro работал с сервером 1С требуется установить locale ru_RU.UTF-8. Вводим команду:

# dpkg-reconfigure locales

Выбираем пробелом ru_RU.UTF-8 UTF-8 и нажимаем “Enter”. Перезагружаем сервер.

Установка Postgres Pro для работы с 1С

Для работы с 1С существует несколько редакций PostgreSQL, наиболее известные это от компании Postgres Pro и так же от самой 1С.

У нас будет установка Postgres Pro.

  • Заходим на сайт 1c.postgres.ru.
  • Отвечаем на 3 вопроса и в конце заполняем свой e-mail, куда вышлют инструкцию по установки.
  • Вводим команды:
# wget https://repo.postgrespro.ru/pg1c-14/keys/pgpro-repo-add.sh
# apt-get install postgrespro-1c-14
# systemctl status postgrespro-1c-14.service

Проверяем статус Postgres Pro, он должен быть установлен и запущен.

Окно nginx

Рисунок 1 — Успешно запущенная Postgres Pro

Настройка PostgreSQL для работы с 1С

После успешной установки, мы должны настроить СУБД для работы 1С. В первую очередь задаем пароль для внутреннего пользователя Postgres, чтобы подключаться к БД с 1С сервера.

# sudo -u postgres psql -U postgres -c "alter user postgres with password 'postgrespwd';"
ALTER ROLE

Чтобы немного увеличить быстродействие и сократить износ ресурса диска, мы перенесем хранение временной статистики на оперативную память.

По умолчанию, под статистику выделяется 25 мегабайт дискового пространства. Мы выделим 256 мегабайт памяти, чтобы был запас.

Создаем директорию, куда будем добавлять виртуальный диск:

# mkdir /var/lib/pgsql_tmp
 # chown postgres:postgres  /var/lib/pgsql_tmp/

Добавляем в /etc/fstab в конец строчку:

tmpfs /var/lib/pgsql_tmp tmpfs     size=256M,uid=postgres,gid=postgres 0 0

Монтируем диск в систему:

# mount /var/lib/pgsql_tmp

Идем в конфиг БД /var/lib/pgpro/1c-14/data/postgresql.conf и меняем параметр:

stats_temp_directory = '/var/lib/pgsql_tmp'

После успешной настройки перезагружаем службу:

# systemctl restart postgrespro-1c-14.service

Подключение информационной базы 1С к серверу PostgreSQL

Заходим на сервер, где расположена консоль администрирования сервера 1С.

Правой кнопкой мыши нажать на “Информационные базы (Далее ИБ)” > “Создать” > “ИБ”. Заполняем поля:

  • Имя – Test (Как будет называться ИБ).
  • Сервер баз данных: 192.168.74.128 (Адрес нашего сервера postgresql).
  • Тип СУБД: PostgreSQL.
  • База данных: Test (как будет называться БД в СУБД).
  • Пользователь сервера БД: postgres.
  • Пароль пользователя БД: postgrespwd.
  • Если базы нет, то еще поставить “Создать базу данных с случае ее отсутствия”.

Подключаем ИБ для запуска 1С:Предприятия. Заходим в 1С:Предприятие, нажимаем “Добавить”. Ставим “Добавление в список существующей ИБ”. Указываем наименование ИБ. Ставим “На сервере 1С:Предприятия”.

  • Кластер серверов: localhost (Адрес где находится сервер 1С).
  • Имя ИБ: Test (Имя которое мы задавали в оснастке).

Мы добавили ИБ для запуска, можно заходить в конфигуратор и загружать имеющую конфигурацию.

Мы провели успешно установку сервера PostgreSQL на Debian 11.

Понравилась статья? Поделить с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Windows live id sign in helper windowslivelogin dll
  • Hdr video player windows
  • Microsoft security essentials windows server 2003
  • Windows 10 нет выбора пользователя при входе в систему
  • Неправильный путь приложения c windows system32 audiodg exe