Установка PostgreSQL и Сервер 1C на Windows 11 для домашнего использования - Программист 1С Минск. Автоматизация бизнеса.

Перейти к контенту

Установка PostgreSQL и Сервер 1C на Windows 11 для домашнего использования

Данные > Статьи и инструкции > Администрирование
АДМИНИСТРИРОВАНИЕ 1С 8 перейти в меню [СТАТЬИ И ИНСТРУКЦИИ]
PostgreSQL может быть установлен для 1С в качестве системы управления базой данных (СУБД). Это позволит использовать её как серверную часть платформы 1C:Предприятие 8.3. PostgreSQL это свободная кроссплатформенная объектно-реляционная система управления базами данных. Она обладает высокой производительностью и надёжностью, масштабируемостью, безопасностью и поддержкой различных типов данных. А также является открытым исходным кодом. Если на Вашем предприятии клиент-серверная система, то и разработку желательно вести в БД SQL. Инсталляция выгодна и в правовом контексте из-за того, что и PostgreSQL и Сервер 1C (комьюнити версия) лицензируются бесплатно.

Важно! Использовать связку
Postgre + Windows Server на рабочей базе не рекомендуется из-за особенностей файловой системы и структур базы данных. Postgres хранит каждый элемент системы в отдельном файле, он эти файлы разбивает по 1 Гб и для каждого файла есть отдельные служебные файлы. На одну базу получатся сотни тысяч файлов. На проде можно использовать только Postgres на Linux.

Альтернативой PostgreSQL для разработчика так же может стать версия Microsoft SQL Server Developer – полнофункциональная бесплатная для разработки и тестирования.
1) Установка СУБД PostgreSQL

Скачиваем PostgreSQL 16 для Windows отсюда (нужен email и ФИО):
или с сайта 1С (если есть подписка ИТС):
Запускаем от имени Администратора на Windows 11:
Принимаем условия и оставляем компоненты и пути по умолчанию:
В параметрах сервера задаём пароль Суперпользователю "postgres":
Оставляем признак "Провести оптимизацию параметров". Будет "нарезана оперативка":
Ждём конец процесса установки:
Инсталляция завершена:

2) Настройка СУБД PostgreSQL

После установки - Ваш личный SQL сервер будет работать из коробки. По желанию, для более детальной настройки можно дополнительно апгрейдить файл настроек БД - PostgreSQL.conf. Этот файл у меня находится в папке C:\Program Files\PostgreSQL 1C\16\data. Открывается текстовым редактором. В этой же папке находятся основные файлы настроек включая и pg_hba.conf, который определяет параметры аутентификации, как для локальных пользователей, так и для пользователей с других хостов. Перед тем как вносить изменения в файл postgresql.conf необходимо остановить службы postgres.



Нужно понимать, что оптимальные настройки для вашего железа можно получить только опытным путём через нагрузочное тестирование. Скачать доработанный файл PostgreSQL.conf (для RAM 32GB).
Параметры детальной настройки PostgreSQL:
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 и другие виды хранилища в памяти часто могут обрабатывать множество параллельных запросов, так что оптимальным числом может быть несколько сотен.
3) Установка Сервера 1С:Предприятие

Получаем лицензию для разработчика на комьюнити версию (>8.3.23). Получить может любой человек, который прошел регистрацию (нужен номер телефона) на developer.1c.ru (сохраните логин и пароль т.к. они понадобятся при активации лицензии). Скачать дистрибутив 1С можно будет там же в кабинете. О процессе установки платформы и регистрации подробно расписано тут (доступно после регистрации).

Или скачиваем актуальную версию Технологической платформы 1С:Предприятия (64-bit) для Windows с сайта 1С (если есть подписка ИТС):
developer.1c.ru
releases.1c.ru (с подпиской ИТС)
Стартуем setup.exe и устанавливаем обязательные компоненты - 1С:Предприятие 8 и Сервер 1С:Предприятие 8 (остальное по необходимости). Можно еще "Администрирование сервера 1С" установить, но для домашнего использования - необязательно:
Создадим нового пользователя USR1CV8 и укажем ему безопасный пароль:
Далее ставим драйвера защиты и завершаем установку:
Проверьте, запущена ли служба "Агент сервера 1С..". Чтобы открыть службы в Windows 11 из диалогового окна «Выполнить», нажмите Win + R и введите services.msc, затем нажмите Enter.



При запуске "Администрирование серверов 1С Предприятия x86-64", если сервера не видит, нужно "Регистрация утилиты администрирования серверов x86-64 (8.3.26.1318)" запустить от имени администратора.
Пример расположения: C:\Program Files\1cv8\8.3.26.1318\bin\RegMSC.cmd. Содержимое файла: regsvr32 /n /i:user radmin.dll
4) Установка консоли pgAdmin 4

Скачиваем крайний релиз pgAdmin 4. Это оболочка для администрирования и разработки баз данных PostgreSQL. pgAdmin4 позволяет выполнять задачи мониторинга, обслуживания, конфигурирования сервера PostgreSQL, а также создавать и выполнять SQL-запросы:
Запускаем от имени Администратора на Windows 11. Соглашаемся с условиями:
Пути оставляем по умолчанию. Устанавливаем:
В Windows 11 нажмите правой кнопкой мыши по кнопке "Пуск" и выбрать пункт "Выполнить". Введите команду ncpa.cpl и нажмите Enter. Нажмите правой кнопкой мыши по подключению, для которого нужно отключить IPv6 - вашему Интернет-соединению или подключению по локальной сети, выберите пункт "Свойства". Снимите отметку с компонента "IP версии 6 (TCP/IPv6)" и нажмите кнопку "Ок":
Если в Windows 11 не отключить протокол IPv6, то получите ошибку при запуске БД:
Стартуем консоль pgAdmin 4:
Логинимся под паролем суперпользователя "postgres":
Переводим на русский язык (File -> Preferences -> User language: Russian). Можем создать новую БД из консоли pgAdmin (на скриншоте).
Мне привычнее создавать БД с помощью 1С Предприятия.
5) Запуск информационной базы 1С на PostgreSQL и её сравнительный тест (Файловая VS pgSQL).

Активируем для Сервера 1С лицензию для разработчика полученную выше. Установим две базы данных 1С и проведем нагрузочный тест на своём домашнем компьютере.
Запускаем 1С. При открытии базы данных, сервер 1С запросит лицензию:
Активируем бесплатную для разработчиков комьюнити версию по своему логину и паролю с сайта developer.1c.ru. Принимаем соглашение и успешно получаем однопользовательскую лицензию на сервер 1С:
Для нагрузочного теста будем использовать выгруженную информационную базу 1С:Предприятия 8 "Тест TPC-1C" (Gilev.ru). Он бесплатен. Скачать GILV_TPC_G1C_83.dt.
Настройки БД на SQL:
Добавляем две пустые базы данных. Одну - файловую, вторую - sql:
Загружаем в обе (в режиме конфигуратора) скачанный файл выгрузки GILV_TPC_G1C_83.dt:
При запуске БД "TPC-1C-sql" в режиме 1С Предприятия - введите пароль Суперпользователю "postgres":
В режиме 1С Предприятие выполняем тест.
Результат нагрузочного тестирования файловой БД "TPC-1C-file":
Результат нагрузочного тестирования SQL БД "TPC-1C-sql":
На моём домашнем ноутбуке ASUS TUF A17, AMD Ryzen 7 4800H, 32ГБ DDR4 (Kingston FURY Impact 2x16ГБ), SSD 512 ГБ, ОС: Windows 11 Pro 23H2, прирост скорости обработки данных нагрузочный тест показал 13% (при текущих настройках PostgreSQL). Программистам 1С, по данной теме, рекомендую изучить чтение данных таблицы БД на PostgreSQL.
0
комментарии
____________________
Copyright©, «Программист 1С в г.Минске», 06.08.2024
Перепечатка текста и фотографий разрешена при наличии прямой ссылки на источник
Яндекс.Метрика
Защищенное соединение ssl
visa
mastercard
Maestro
Яндекс деньги
Назад к содержимому