Центр Диагностики & База Системных Ошибок

Решения для Windows Server, Active Directory, 1С, СУБД, Linux, Cisco, MikroTik и IP-телефонии.

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

Ошибка PostgreSQL 3F000: invalid_schema_name — настройка схем

Обновлено: 26.08.2026  ·  Официальная база знаний
  • Ошибка ERROR: schema "" does not exist (SQLSTATE 3F000).
  • Сбои при создании базы данных 1С:Предприятие в консоли кластера: «Ошибка создания информационной базы: схема не найдена».
  • Запросы падают при попытке явного обращения к таблицам через префикс несуществующей схемы (например, custom_schema.table1).

1. Просмотр существующих схем в базе данных

SELECT schema_name, schema_owner 
FROM information_schema.schemata 
ORDER BY schema_name;

2. Создание отсутствующей схемы и назначение прав

CREATE SCHEMA IF NOT EXISTS "custom_schema" AUTHORIZATION usr1cv8;
GRANT ALL ON SCHEMA "custom_schema" TO usr1cv8;

3. Проверка и настройка пути поиска по умолчанию (search_path)

Если запросы 1С не находят стандартную схему, проверьте переменную search_path:

SHOW search_path;

-- Установка для текущей сессии:
SET search_path TO public, "$user";

-- Установка пути поиска на уровне всей базы данных 1С:
ALTER DATABASE ib_production SET search_path TO public;

4. Восстановление прав на схему public

Начиная с PostgreSQL 15, права на запись в схему public по умолчанию отозваны у всех пользователей. Верните права владельцу базы 1С:

GRANT ALL ON SCHEMA public TO usr1cv8;
GRANT ALL ON ALL TABLES IN SCHEMA public TO usr1cv8;
GRANT ALL ON ALL SEQUENCES IN SCHEMA public TO usr1cv8;
Практический опыт инженера: Всегда проверяйте search_path у сервисной учетной записи 1С. Если search_path пуст или не содержит public, платформа не сможет обнаружить таблицы конфигурации и выдаст ошибку 3F000 или 42P01.

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

Почему при создании новой базы 1С на PostgreSQL 15/16 возникает ошибка схемы?

В PostgreSQL 15+ изменена модель безопасности: непривилегированные пользователи больше не имеют права CREATE в схеме public. Необходимо явно выполнить GRANT ALL ON SCHEMA public TO <пользователь_1С>.

Чувствительны ли имена схем в PostgreSQL к регистру символов?

Да. Без кавычек имена схем автоматически приводятся к нижнему регистру. Схема MySchema и "MySchema" — это две разные схемы.

Что означает $user в параметре search_path?

Оно указывает ядру в первую очередь искать объекты в схеме с именем, совпадающим с именем текущего авторизованного пользователя.

Как удалить схему со всеми содержащимися таблицами?

Используйте команду каскадного удаления: DROP SCHEMA schema_name CASCADE; (внимание: удалит все объекты внутри схемы).