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

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

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

PG_ROLE_DOES_NOT_EXIST 1С:Предприятие и СУБД

Ошибка PostgreSQL: FATAL role does not exist — как создать пользователя для 1С

Обновлено: 26.08.2026 · Официальная документация ↗
  • При создании новой базы через консоль 1С появляется сообщение: FATAL: role "1C_Admin" does not exist или role "postgres" does not exist.
  • Сервер 1С не может авторизоваться в PostgreSQL для создания таблиц.
  • Служба PostgreSQL установлена с нуля, но учетные записи для 1С еще не настроены.

Что означает эта ошибка простыми словами

В терминах PostgreSQL пользователь называется Ролью (Role). Если вы в мастере создания базы 1С указали имя пользователя базы данных (например, 1C_Admin или postgres), а в самой СУБД такой логин еще не был создан, PostgreSQL отвергает подключение с ошибкой «роль не существует».

Шаг 1. Вход в консоль PostgreSQL под системной учетной записью

# В Linux переключитесь на системного пользователя postgres:
su - postgres

# Запустите командную строку SQL:
psql

Шаг 2. Создание нужного пользователя с правами суперпользователя

В терминале psql выполните следующую команду SQL (замените логин и пароль на свои):

CREATE ROLE "1C_Admin" WITH SUPERUSER LOGIN PASSWORD 'ВашНадежныйПароль';

Шаг 3. Если нужно изменить пароль уже существующего пользователя postgres

ALTER ROLE postgres WITH PASSWORD 'НовыйПароль';

Шаг 4. Проверка списка созданных ролей

\du

В таблице появится ваша роль 1C_Admin с атрибутом Superuser, Create DB. Введите \q для выхода.

💡 Практика специалистов: Никогда не используйте спецсимволы вроде кавычек и точек внутри пароля пользователя БД для 1С, так как консоль кластера 1С может некорректно экранировать их при передаче в connection string.

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

Обязательно ли давать пользователю 1С права SUPERUSER?

Для учетной записи, под которой сервер 1С создает и администрирует базы данных, права SUPERUSER обязательны, так как 1С создает внутренние расширения (например, plpgsql, mchar) и управляет сессиями.

Имеет ли значение регистр букв в имени роли?

Да! Если имя роли содержит заглавные буквы (например, 1C_Admin), в командах SQL его обязательно нужно оборачивать в двойные кавычки: CREATE ROLE "1C_Admin".

Как создать пользователя PostgreSQL в Windows без командной строки?

Откройте графическую утилиту pgAdmin, подключитесь к серверу, раскройте ветку 'Login/Group Roles', нажмите 'Create -> Login/Group Role' и укажите имя, пароль и права Superuser.

Что делать, если при попытке выполнить psql пишет 'Access denied'?

В файле pg_hba.conf временно смените метод авторизации для локальных подключений (local all postgres) с md5 на trust, создайте пользователя, после чего верните md5 обратно.

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