Ошибка СУБД: ERROR: relation … does not exist

Администрирование - Системное

Вы обновляете конфигурацию в базе данных и «неожиданно» получаете «Ошибка СУБД: ERROR: relation…does not exist».

Откуда ноги

Причина данной ошибки в том, что таблицы, либо их отдельные поля, описанные в конфигурации 1с, не соответствуют таблицам в базе данных SQL. Например в новой, обновленной конфигурации 1с существует регистр, а среди таблиц SQL его нет.

 Что делать?

Нужно привести таблицы(поля) SQL в соответствие с описанием конфигурации.

Т.е. все таблицы(поля), описанные в конфигурации, должны присутствовать в SQL.

  Лечение

Необходимо, воспользовавшись утилитами, сравнить таблицы SQL с 1с. Описание ошибки сразу выводит на ту таблицу, которую нужно искать.

Далее нужно добавить(исправить) таблицы SQL с тем, чтобы они соответствовали конфигурации 1с.

В приложенном файле показаны примеры исправления. 

Размышления

1.Поиск в интернете показал, что наиболее страдают этой ошибкой базы, размещенные на Postgre.

Здесь описано, что эта проблема существует и решена в версиях начиная с 8.3.

Сталкивался трижды с этой проблемой. Во всех случаях это был Postgre 8.4. 

2.Есть мнение, что одним из поводов для появления ошибки, является динамическое обновление конфигурации.

3. Данная ошибка не возникает, если в новой конфигурации, относительно старой, не изменяли реквизиты, таблицы. Т.е. при изменении только программного кода, форм  конфигурации, такая ошибка не должна  проявляться, т.к. не изменяется структура таблиц SQL. 

На дорожку

При исправлении ошибки, сами работы с таблицами SQL, хотя и не являются сложными, но все же требуют определенной подготовки.

Поэтому - пару рекомендаций, чтобы не пришлось решать описанную проблему:

- Не хочу обижать Postgre, но если база данных небольшая, может использовать MSSQL? Бесплатная версия Express позволяет обслуживать базу размером до 10Гб.

- По возможности избегайте делать динамическое обновление. Хотя фирма 1с периодически сообщает, что ей удалось «победить» эту проблему, но «Пуганая ворона…».

Ну и конечно, прежде чем начать работать с базой данных «по живому», сделайте ее бэкап.

Благодарности:

Для анализа конфигурации использовалась обработка Структура хранения таблиц базы данных

Статьи и решения для платформы 8.х

Сравнение товарных остатков между двумя базами данных

Учет доставок в Управление торговлей 10.3 (УПП - опционально)

Контроль отправки чеков ККМ в ОФД

Сравнение взаиморасчетов с контрагентами УТ с БП 

Настройка обмена в 1С:Предприятие 8 после смены баз данных

Учета документов, сданных в бухгалтерию для Управление торговли 10.3

Клиент-банк ВТБ 24. "Неожиданный" ОКТМО

Загрузка отборов в Сегмент номенклатуры

Новогодние истории: Праздничный учет 

Решения для платформы 7.7

Быстрая Книга учета доходов и расходов для комплексной 7.7

Реестр сертификатов для 7.7

Прайс-лист для 7.7. А побыстрее можно?

Комфортные наборы пользователя

Оборудование

Обновление прошивки на фискальном регистраторе Штрих-М

Скачать файлы

Наименование Файл Версия Размер
Ошибка СУБД: ERROR: relation…does not exist
.doc 601,50Kb
06.06.17
36
.doc 601,50Kb 36 Скачать

См. также

Комментарии
1. DERL (DERL) 09.01.13 09:39 Сейчас в теме
Такой проблемы ТТТ еще не было, но спасибо, будем знать на будущее...
2. Сергей Кудашкин (sikuda) 508 09.01.13 10:04 Сейчас в теме
Класный слоник.
Еще раз повторю связка 1С и Postgresql технически плохо проработана. Это в основном коммерческие причины.
Когда 1С доработает связку с Oracle, может и Postgresql что нибудь достанется...
3. aspirator 23 (aspirator23) 348 09.01.13 10:36 Сейчас в теме
(2) Об этом многие говорят. Однако много баз развернуто на Postgre. Потому что бесплатно?
4. Андрей Ро (AndrewVVS) 15.11.15 20:26 Сейчас в теме
сегодя словил такую ошибку при обновлении типовой ЗУП с 2.5.96.1 на 2.5.96.2. у нас PostgreSQL 9.0.3-3.1C. При выгрузке бекапа в файловую версию - обновляется без ошибок. "Тестирование и исправление" - не помогло. Помогла выгрузка в dt и обратная загрузка dt!!!!
5. Андрей Ефимов (Efimoff) 108 01.02.18 08:26 Сейчас в теме
Закину свои пять копеек.

При восстановлении из бэкапа получил такое сообщение при выгрузке базы в конфигураторе самой 1С. Тестирование падало при Реструктуризации. Удаление configcas и configcassave в самом postgre тоже не помогло.
Помогло.
Сохранить конфигурацию в файл и Загрузить конфигурацию из этого файла. После реструктуризации и сохранении самой 1С всё встало на свои места.

Платформа 8.3.11.2899
6. Сергей Букин (zipa88) 06.05.18 21:16 Сейчас в теме
Подскажите ,загрузка конфигурации УНФ - 1.6.14.81, проходит нормально.. но при запуске базы вылазит:
Ошибка СУБД:
ERROR:  column "fld10303rref" does not exist
LINE 2: COALESCE(Fld10303RRef,Q_001_F_000RRef),
                 ^




PostgreSQL 9.6.8
Платформа - 8.3.12.1412
Прикрепленные файлы:
7. aspirator 23 (aspirator23) 348 07.05.18 05:42 Сейчас в теме
(6) Нет поля. В описании к этой публикации есть примеры как работать с базами SQL. Но будьте аккуратнее - опыты делайте на тестовой базе.
10. Иван (user633910_yagee12) 22.05.18 16:17 Сейчас в теме
(6) Что интересно, у нас тоже PostgreSQL 9.6.8 и платформа - 8.3.12.1412, и с ЗУП 3.1.6 (и 3.1.5) такая же беда.

Загружаем чистую конфу и при загрузке в режиме предприятия ошибка:
Ошибка СУБД:
ERROR:  column "fld16396rref" does not exist
LINE 2: COALESCE(Fld16396RRef,Q_001_F_000RRef),


Система Debian 64-bit, 1C 32-bit.
Похоже, придется лезть в базу postgresql
11. Иван (user633910_yagee12) 22.05.18 16:35 Сейчас в теме
(6) и, кстати, на Windows Server 2008 и Postgresql 9.4.5 такая же ерунда.
8. Сергей Букин (zipa88) 07.05.18 12:42 Сейчас в теме
Забыл добавить, что это новая сборка на CentOS release 6.9 (Final)...

И конфигурация заливается чистая...
Пробовал сохранить в формат .dt и загрузить обратно..
Так же пробыв загружать конфигурацию в .cf
Результат такой же остаётся...
Я так подозреваю может PostgreSQL надо конфиги поправить... Или куда копать?
Пустая база создается и запускается и редактируется через конфигуратор....
9. aspirator 23 (aspirator23) 348 07.05.18 13:06 Сейчас в теме
(8) Можно для начала поправить таблицу в Postrge.
12. Сергей Букин (zipa88) 23.05.18 00:47 Сейчас в теме
Кстати у меня получилось так:
Сначала развернул файловую версию, потом сохранил в формат .dt, создал пустую БД и залил через конфигуратор..
Оставьте свое сообщение