Справочник системных ошибок и решений

Windows Server, Active Directory, 1С:Предприятие, СУБД, Linux, Cisco, MikroTik, Asterisk.

⚠️ Важная информация Все материалы, инструкции, команды и скрипты на сайте предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, программного обеспечения, баз данных, сетевого оборудования и других компонентов инфраструктуры. Перед выполнением действий создайте резервную копию и по возможности протестируйте изменения в безопасной среде. Пользователь самостоятельно оценивает риски и несет ответственность за результат. При отсутствии необходимых знаний обратитесь к квалифицированному ИТ-специалисту.

1C-LIBPQ-ODBC-ERR 1С:Предприятие и СУБД

1С: Ошибка подключения к серверу СУБД из среды Linux (libpq / ODBC)

Обновлено: 21.08.2026 · Официальная документация ↗

Механизм взаимодействия сервера 1С с СУБД в Linux

Серверный процесс 1С (rphost) в среде Linux взаимодействует с базами данных PostgreSQL (Postgres Pro Enterprise 1C) через динамическую клиентскую библиотеку libpq.so, а с СУБД MS SQL Server / Oracle / IBM DB2 — через подсистему unixODBC (libodbc.so). При попытке создания базы данных в консоли кластера (rac / Web-администрирование) или подключении пользователей возникает ошибка:

«Ошибка при выполнении операции с информационной базой: Ошибка подключения к серверу СУБД: FATAL: Ident authentication failed / libpq.so: cannot open shared object file / could not connect to server: Connection refused»

Бизнес-риски

Полный простой информационных систем предприятия, невозможность запуска регламентных заданий, срыв закрытия месяца и обмена с ЕГАИС/Честный Знак.

Сравнение архитектур подключения

ПараметрPostgreSQL (libpq)MSSQL Server под Linux (unixODBC)
ИнтерфейсНативная библиотека libpq.so.5Драйвер msodbcsql17 / msodbcsql18 + unixODBC
Типовой протоколUnix Domain Socket (/tmp/.s.PGSQL.5432) или TCP 5432TCP/IP порт 1433
Файл конфигурации доступаpg_hba.conf на стороне СУБД/etc/odbcinst.ini и /etc/odbc.ini

Пошаговое восстановление подключения 1С к СУБД на Linux

Сценарий 1: Устранение отсутствия клиентской библиотеки libpq.so.5

Если на сервере 1С не установлен клиент PostgreSQL или платформа не может найти разделяемый объект:

# Установка клиентских библиотек PostgreSQL
sudo apt install -y libpq5 postgresql-client  # Ubuntu/Debian/Astra
sudo dnf install -y libpq postgresql         # RED OS/CentOS

# Проверка наличия библиотеки и создание симлинка при необходимости:
sudo ln -sf /usr/lib/x86_64-linux-gnu/libpq.so.5 /opt/1cv8/x86_64/8.3.24.1667/libpq.so
sudo ldconfig

Сценарий 2: Настройка метода аутентификации в pg_hba.conf (PostgreSQL)

Ошибка «FATAL: password authentication failed for user postgres / ident authentication failed» возникает при неверно настроенном правиле авторизации в pg_hba.conf:

# Откройте pg_hba.conf (путь зависит от версии Postgres Pro 1C):
sudo nano /var/lib/pgpro/1c-15/data/pg_hba.conf

# Замените методы ident/peer на md5 или scram-sha-256 для подключений 1С:
# TYPE  DATABASE        USER            ADDRESS                 METHOD
local   all             all                                     md5
host    all             all             127.0.0.1/32            md5
host    all             all             10.0.0.0/8              md5

# Перечитайте конфигурацию СУБД без остановки службы:
sudo su - postgres -c "psql -c 'SELECT pg_reload_conf();'"

Сценарий 3: Настройка unixODBC и драйвера MS SQL Server на Linux

Если сервер 1С на Linux работает с удаленной базой Microsoft SQL Server:

# Установка Microsoft ODBC Driver 17 for SQL Server
curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
curl https://packages.microsoft.com/config/ubuntu/22.04/prod.list | sudo tee /etc/apt/sources.list.d/msprod.list
sudo apt update && sudo apt install -y msodbcsql17 unixodbc-dev

# Проверка соединения из консоли Linux утилитой sqlcmd:
sqlcmd -S mssql.corp.local -U sa -P 'MyStrongPassword123!' -Q "SELECT @@VERSION;"

Типовые ошибки администраторов

  • Указание имени хоста СУБД как 'localhost' вместо IP: В Linux при указании localhost драйвер 1С пытается подключиться через локальный сокет /tmp/.s.PGSQL.5432, которого может не быть, если PostgreSQL слушает 127.0.0.1:5432. Указывайте явно IP 127.0.0.1 или реальный DNS-хост.
  • Блокировка трафика межсетевым экраном ufw / firewalld: Порт 5432 (PostgreSQL) или 1433 (MSSQL) закрыт на входящие подключения.
Сложности с оптимизацией связки 1С:Предприятие + PostgreSQL на Linux?
Эксперты ITSTM выполнят профессиональный аудит конфигурации СУБД, настроят shared_buffers, work_mem, max_connections и исключат деградацию производительности.
💡 Практика специалистов: Если 1С и PostgreSQL установлены на одном сервере Linux, подключайтесь через локальный сокет, но обязательно проверьте совпадение директории сокета в postgresql.conf (параметр unix_socket_directories = '/tmp, /var/run/postgresql'). Это дает до 15% прироста производительности относительно TCP-стека 127.0.0.1.

Частые вопросы (FAQ)

Почему 1С требует специальную сборку PostgreSQL от 1С / Postgres Pro 1C?

Стандартный (ванильный) PostgreSQL не содержит патчей 1С для работы с вложенными транзакциями (Savepoints), оптимизатора группировок, поддержки строк неограниченной длины и сортировок locale ICU, что приводит к фатальным ошибкам СУБД.

Как проверить доступность порта PostgreSQL с сервера 1С?

Выполните команду nc -zv db-server.corp.local 5432 или pg_isready -h db-server.corp.local -p 5432. Статус 'accepting connections' подтверждает готовность СУБД.

Что делать, если возникает ошибка 'SCRAM-SHA-256 authentication is not supported'?

Обновите клиентскую библиотеку libpq на сервере 1С. Устаревшие версии libpq (до версии 10) не поддерживают современный метод хэширования паролей SCRAM-SHA-256.

Как исправить ошибку 'could not connect to server: No such file or directory'?

Это означает, что клиент ищет Unix-сокет в /tmp, а СУБД создает его в /var/run/postgresql. Укажите в параметрах подключения 1С хост 127.0.0.1 вместо пустого поля или создайте симлинк сокета.

Полезные материалы
Рекомендуем