При настройке серверной версии 1С:Предприятие многие системные администраторы сталкиваются с проблемой: после установки PostgreSQL и попытке создания информационной базы через консоль администрирования 1С возникает ошибка. Часто это происходит даже в тех случаях, когда пароль пользователя postgres верен, порт открыт, а протокол IPv6 отключен. Разберем подробно, почему так происходит и как правильно развернуть СУБД для работы с «1С:Предприятием».
Первое и самое важное правило, которое нужно усвоить: официальная («ванильная») сборка PostgreSQL, загруженная с сайта postgresql.org, не предназначена для работы с 1С:Предприятие «из коробки». Если вы установили файл вроде postgresql-13.1-1-windows-x64.exe напрямую от разработчиков СУБД, вы гарантированно получите ошибку при попытке создания базы. Проанализируем, каких именно компонентов не хватает в стандартной сборке:
\ в своих запросах, что в стандартном PostgreSQL трактуется иначе, чем ожидает платформа.Рассмотрим, где взять правильный дистрибутив. Существует два основных варианта: сборка от самой компании 1С (доступна на портале ИТС) или сборка от компании Postgres Professional (версия Postgres Pro 1C).
Просто удалить программу через «Панель управления» недостаточно. Чтобы новая установка прошла успешно, нам необходимо полностью очистить систему от следов старого кластера. Разберем этот процесс по шагам:
5432, который мог остаться «зависшим» в системе.C:\Program Files\PostgreSQL\13\data. Если вы оставите эту папку, новый инсталлятор попытается подцепить старый кластер, созданный с неверными локалями, и ошибка повторится.postgres в списке пользователей Windows. Если он остался, удалите его вручную через «Управление компьютером» -> «Локальные пользователи», иначе при новой установке возникнут проблемы с правами доступа к папке Data.Теперь приступим к установке нужной версии (например, PostgreSQL_1C_13.1_64bit). Рассмотрим ключевые моменты, на которые нужно обратить внимание в процессе инсталляции:
Выбор локали (Locale): Это критический момент. При инициализации базы данных необходимо выбрать локаль Russian_Russia.1251 или аналогичную. Если оставить значение C или Default, база данных 1С не сможет работать с кириллицей в именах объектов или данных, и создание базы завершится аварией.
Размер кластера файловой системы: Если вы устанавливаете СУБД на новый диск или раздел, при форматировании рекомендуется выбирать размер кластера 8 Кб. Это соответствует размеру страницы данных PostgreSQL и значительно повышает скорость операций ввода-вывода.
Параметры авторизации: Убедитесь, что для пользователя postgres задан простой буквенно-цифровой пароль без сложных спецсимволов вроде $ или &, так как иногда сервер 1С некорректно передает их в командной строке при первом создании базы.
Даже специализированная сборка иногда требует ручной правки конфигурации для стабильной работы. Найдем файл postgresql.conf в папке data и проанализируем следующие параметры:
# Эти настройки обязательны для корректной работы 1С
standard_conforming_strings = off
escape_string_warning = off
backslash_quote = on
max_locks_per_transaction = 250
Разберем подробнее, за что они отвечают:
standard_conforming_strings = off: Заставляет СУБД воспринимать обратный слэш как обычный символ, что критично для парсера запросов 1С.max_locks_per_transaction: В 1С создается множество временных таблиц. Если это значение оставить по умолчанию (обычно 64), вы получите ошибку "out of shared memory" при выполнении сложных отчетов или проведении документов. Установка значения 250 или выше решает эту проблему.Если после установки правильной версии база все еще не создается, посмотрим на сетевые настройки. Проанализируем файл pg_hba.conf. В нем должны быть разрешены подключения с адреса, на котором запущен сервер 1С (обычно 127.0.0.1/32 для локальной установки).
Попробуйте вместо сетевого имени сервера при создании базы в консоли 1С указать localhost или явный IP-адрес 127.0.0.1. Это поможет исключить проблемы с разрешением имен (DNS) и влияние IPv6, который иногда остается активным в системных процессах даже после отключения в свойствах сетевого адаптера.
Важное замечание по библиотекам: В некоторых случаях (особенно на старых версиях Windows Server) серверу 1С может не хватать клиентских библиотек PostgreSQL. Для решения этой проблемы рекомендуется скопировать файлы libintl.dll, libiconv.dll и другие .dll из папки bin установленного PostgreSQL в папку bin платформы 1С:Предприятие.
Подведем итог нашему разбору. Если у вас не создается база на PostgreSQL:
postgresql.conf параметр standard_conforming_strings установлен в значение off.Data и пользователя postgres, если ранее стояла «ванильная» версия.Следуя этим шагам, вы обеспечите стабильную и производительную работу связки 1С:Предприятие и PostgreSQL.