Администрирование · 12 мин
Как установить PostgreSQL для 1С
Пошаговая установка PostgreSQL для 1С на Windows и Linux: выбор сборки, настройка параметров, создание базы, типичные ошибки и проверка результата.
PostgreSQL — одна из самых популярных СУБД для работы 1С:Предприятия в клиент-серверном режиме. Она бесплатна, поддерживается фирмой «1С» и при правильной настройке стабильно держит нагрузку небольших и средних компаний. Однако «ванильный» PostgreSQL с официального сайта postgresql.org для 1С не подходит: платформа требует специальную сборку с пропатченным кодом.
В этой статье разберём полный цикл: от выбора сборки и установки на Windows и Linux до настройки параметров, создания базы и проверки работоспособности. Отдельно остановимся на типичных ошибках, из-за которых 1С отказывается видеть сервер СУБД или работает нестабильно.
Почему для 1С нужна специальная сборка PostgreSQL
Платформа 1С:Предприятия обращается к PostgreSQL с использованием особенностей, которых нет в стандартной поставке. Речь идёт о патчах, влияющих на обработку запросов, работу с типами данных и производительность характерных для 1С операций. Если установить PostgreSQL с официального сайта проекта, сервер 1С при попытке создать базу выдаст ошибку несовместимости версии СУБД.
Фирма «1С» публикует адаптированные сборки PostgreSQL на портале releases.1c.ru в разделе «Технологические дистрибутивы». Для доступа потребуется действующий договор ИТС или партнёрская учётная запись. Сборки выпускаются под Windows и основные дистрибутивы Linux, версии регулярно обновляются.
Альтернатива — сборки от Postgres Professional (Postgres Pro Standard/Certified), которые также сертифицированы для работы с 1С. Они платные, но включают техническую поддержку и дополнительные механизмы оптимизации. Для небольших внедрений обычно достаточно бесплатной сборки с портала 1С.
Сравнение вариантов PostgreSQL для 1С
Бесплатна, официально поддерживается платформой. Ограничение: обновления выходят с задержкой, поддержки нет.
Сертифицирован, включает поддержку и оптимизации. Ограничение: платная лицензия.
Не подходит: платформа 1С откажется создавать базу из-за отсутствия нужных патчей.
Требования к серверу и подготовка к установке
Перед установкой убедитесь, что сервер соответствует минимальным требованиям. Для комфортной работы базы объёмом в несколько гигабайт желательно не менее 8–16 ГБ оперативной памяти, SSD-диски и выделенный сервер (физический или виртуальный) без конкурирующих ресурсоёмких приложений. Точные требования зависят от числа пользователей и размера базы, поэтому ориентируйтесь на фактическую нагрузку.
Проверьте совместимость версий: каждая версия платформы 1С поддерживает определённый диапазон версий PostgreSQL. Эта информация публикуется в системных требованиях к платформе на портале 1С. Установка слишком новой или слишком старой версии СУБД — частая причина отказа в создании базы.
Заранее определите, где будут располагаться сервер 1С:Предприятия и PostgreSQL. Для небольших компаний допустимо размещение на одной машине, при росте нагрузки СУБД выносят на отдельный сервер. Также проверьте, что порт 5432 (стандартный для PostgreSQL) не занят другими приложениями и открыт в межсетевом экране, если сервер СУБД будет на отдельной машине.
Установка PostgreSQL для 1С на Windows
Скачайте дистрибутив сборки PostgreSQL для Windows с портала releases.1c.ru. Архив обычно содержит установочный пакет, адаптированный под нужды платформы. Запустите установщик от имени администратора.
В процессе установки укажите каталог установки и каталог данных. Каталог данных лучше размещать на быстром диске с достаточным запасом свободного места — именно там будут лежать файлы баз. Задайте пароль суперпользователя postgres и сохраните его в надёжном месте: без него невозможно администрировать СУБД.
После завершения установки служба PostgreSQL регистрируется в Windows и запускается автоматически. Проверьте её состояние через оснастку «Службы» (services.msc) — служба должна находиться в состоянии «Выполняется».
- 1Скачайте сборку PostgreSQL с releases.1c.ru
- 2Запустите установщик от имени администратора
- 3Укажите каталоги установки и данных, задайте пароль postgres
- 4Дождитесь завершения и проверьте службу в services.msc
- 5Проверьте подключение через psql или pgAdmin
Установка PostgreSQL для 1С на Linux
На Linux сборка с портала 1С распространяется в виде пакетов для популярных дистрибутивов (rpm и deb). Порядок действий зависит от пакетного менеджера. Ниже приведён типовой сценарий для систем на базе Debian/Ubuntu.
# Установка пакетов (имена файлов зависят от версии сборки)
sudo dpkg -i postgresql-<em>-1c_</em>.deb
# Инициализация кластера с русской локалью
sudo pg-setup initdb --locale=ru_RU.UTF-8
# Запуск и автозагрузка службы
sudo systemctl enable --now postgresqlКлючевой момент — инициализация кластера с правильной локалью. Для 1С требуется русская локаль (например, ru_RU.UTF-8). Если инициализировать кластер с локалью по умолчанию (C или POSIX), сортировка строк в 1С будет работать некорректно, а в ряде случаев платформа откажется создавать базу.
После установки задайте пароль пользователя postgres и убедитесь, что служба запущена. Конфигурационные файлы в Linux обычно находятся в каталоге /var/lib/pgsql/data или /etc/postgresql в зависимости от дистрибутива и сборки.
# Задать пароль суперпользователя
sudo -u postgres psql -c "ALTER USER postgres PASSWORD 'StrongPassword';"
# Проверить статус службы
sudo systemctl status postgresqlНастройка postgresql.conf под нагрузку 1С
Параметры по умолчанию рассчитаны на минимальное потребление ресурсов и не подходят для продуктивной работы 1С. Основной файл настроек — postgresql.conf в каталоге данных. После правки любого параметра требуется перезапуск службы PostgreSQL.
Ключевые параметры, которые принято корректировать: shared_buffers (буферный кэш, обычно 20–30% от объёма ОЗУ), work_mem (память на операции сортировки и соединений), effective_cache_size (оценка доступного кэша для планировщика, обычно 50–70% ОЗУ), maintenance_work_mem (память для обслуживающих операций) и max_connections (число подключений — учитывайте, что сервер 1С открывает пул соединений на каждую базу).
Точные значения зависят от объёма памяти сервера и характера нагрузки, универсальной формулы нет. Начните с умеренных значений, затем наблюдайте за метриками: использование памяти, число обращений к диску, длительность запросов. Чрезмерное завышение параметров памяти так же вредно, как и занижение — система начнёт уходить в swap, и производительность резко упадёт.
Создание информационной базы 1С на PostgreSQL
Когда СУБД установлена и настроена, базу создают штатными средствами 1С. Откройте окно запуска 1С, нажмите «Добавить» → «Создание новой информационной базы» и выберите вариант «На сервере 1С:Предприятия». Укажите имя сервера 1С, имя базы данных, пользователя СУБД (postgres) и его пароль.
Важные флаги при создании: «Создать базу данных в случае её отсутствия» — платформа сама создаст базу в PostgreSQL с корректными параметрами. Также обратите внимание на параметр «Смещение дат» — для PostgreSQL он должен быть 2000 (значение по умолчанию).
Альтернативный путь — создание базы через консоль администрирования сервера 1С (или утилиту rac на Linux): пункт «Информационные базы» → «Создать». Там же задаются параметры блокировок и разрешённость выдачи лицензий. Создание базы средствами сервера 1С предпочтительнее ручного создания в psql, потому что платформа сама выставляет нужные настройки базы.
Проверка результата и диагностика проблем
После создания базы откройте её в режиме 1С:Предприятие и выполните несколько типовых операций: проведение документа, построение отчёта, поиск по справочнику. Ошибок быть не должно, время отклика — приемлемым для вашей инфраструктуры.
Если при создании базы возникает ошибка «несовместимая версия СУБД» — установлен неподходящий дистрибутив PostgreSQL (скорее всего, не сборка для 1С). Ошибка аутентификации указывает на неверный пароль или ограничения в pg_hba.conf. Ошибка про локаль означает, что кластер инициализирован не с той локалью — потребуется переинициализация.
Для диагностики на стороне СУБД полезны журналы PostgreSQL (каталог log в каталоге данных) и представление pg_stat_activity, показывающее активные соединения и запросы. На стороне 1С — технологический журнал сервера.
Как проверить результат
Служба запущена и переживает перезагрузку сервера
Служба остановлена или падает при старте — смотрите логи
База создаётся без ошибок, открывается в конфигураторе
Ошибки версии СУБД, локали или аутентификации
Списки сортируются по русскому алфавиту корректно
Русские буквы идут после латиницы или вперемешку — неверная локаль
Типовые операции выполняются без заметных задержек
Медленные запросы при низкой загрузке — проверяйте postgresql.conf
Как выбрать действие
Обслуживание: бэкапы и регламентные операции
Установка — только начало. Для надёжной работы настройте регулярное резервное копирование. Штатный инструмент — утилита pg_dump, создающая логическую копию базы. Копию следует хранить на отдельном носителе или сервере и периодически проверять восстановление на тестовой базе: бэкап, который нельзя восстановить, бесполезен.
PostgreSQL требует периодической очистки (vacuum) и обновления статистики (analyze) — в свежих версиях этим занимается фоновый процесс autovacuum, но при высокой нагрузке его параметры стоит скорректировать. Также полезно планировать полную переиндексацию и анализ в нерабочее время для больших баз.
Не выключайте autovacuum «для ускорения» — без регулярной очистки таблицы разрастаются, и производительность со временем деградирует сильнее, чем от фоновой работы очистки.
Что важно запомнить
Используйте только сборку PostgreSQL с портала 1С, инициализируйте кластер с русской локалью, настройте параметры памяти под сервер, создавайте базу средствами платформы и сразу настройте резервное копирование.
Частые вопросы
Можно ли использовать PostgreSQL с официального сайта postgresql.org?
Нет. Стандартный дистрибутив не содержит патчей, необходимых платформе 1С, и при создании базы вы получите ошибку несовместимости. Нужна сборка с портала releases.1c.ru или сертифицированный Postgres Pro.
Что лучше для 1С: PostgreSQL или MS SQL Server?
Обе СУБД официально поддерживаются. PostgreSQL бесплатен и чаще выбирается для небольших и средних внедрений. MS SQL Server платный, но некоторые организации предпочитают его из-за имеющейся экспертизы и инфраструктуры. По функциональности для 1С принципиальной разницы нет.
Можно ли разместить сервер 1С и PostgreSQL на одной машине?
Да, для небольшого числа пользователей это рабочий вариант. Следите, чтобы суммарного объёма ОЗУ хватало обоим процессам: серверу 1С (rphost) и PostgreSQL. При росте нагрузки СУБД выносят на отдельный сервер.
Какую локаль выбрать при инициализации кластера?
ru_RU.UTF-8 (или аналогичную русскую локаль с UTF-8). Локаль C или POSIX приведёт к неправильной сортировке русских строк и возможным ошибкам при создании базы. Изменить локаль существующего кластера нельзя — только переинициализация с переносом данных.
Как обновить PostgreSQL для 1С на новую версию?
Обновление в пределах одной мажорной версии обычно выполняется установкой новых пакетов поверх. Переход между мажорными версиями требует выгрузки баз через pg_dump и загрузки в новый кластер. Перед обновлением проверьте, что новая версия поддерживается вашей версией платформы 1С, и сделайте полную резервную копию.
Нужна ли отдельная лицензия 1С для работы с PostgreSQL?
Нет, лицензии 1С не зависят от выбранной СУБД. Клиент-серверный режим требует лицензии на сервер 1С:Предприятия и клиентские лицензии, но сам PostgreSQL в сборке от 1С распространяется бесплатно.