Ошибка СУБД Column does not exist

21.11.21

База данных - Администрирование СУБД

В данной статье на примере СУБД Postgre и конфигурации УНФ описывается метод исправления ошибки "Column does not exist". На просторах интернета натыкался на общее описание проблемы, что состав базы со стороны СУБД не соответствует той картине, что ожидает 1С. Надо приводить все в соответствие, а конкретных примеров не находил.

Изначально имеем:

Управление нашей фирмой, редакция 1.6 (1.6.25.212)

Postgre 9.4.2

pgAdmin 4.6.2

Все действия выполняются без активных сеансов с базой (кроме конфигуратора, когда он нужен)


При попытке выгрузки *.dt перед обновлением появилась ошибка, которая указывала на то,что не найдена колонка с обозначенным именем.

Уточнил у системного администратора, копии средствами СУБД делаются успешно, стандартная проверка базы ошибок не дает.

Попытка запуска ТиИ выдала такую же ошибку. Зато в нижней части конфигуратора видно было, какая таблица проверялась, когда получили ошибку с полем. (В принципе, это можно было узнать и средствами СУБД.

 
 Прилагаю пример, как это можно найти в Pg admin 4. Как альтернатива, можно также написать запрос, примера которого у меня нет под рукой)

 

Далее, используя платформенный метод ПолучитьСтруктуруХраненияБазыДанных(), узнал, на какую таблицу и поле указывает ошибка. В моем случае это был справочник "ДанныеОКорректировкеСведенийЗастрахованныхЛицСЗВ_КОРРПрисоединенныеФайлы" и поле "Редактирует". Справочник пуст, что снимает переживания о потере данных.

 

После этого полез в СУБД изучать картину. 

Слева проблемная база, справа ее копия для тестирования, развернутая до возникновения проблемы.

Попытка обычного переименования(через интерфейс pgAdmin) выдает ошибку, что поле "_fld28724]rtref" не найдено. Попытка создания правильного поля(скриптом Create) выдает ошибку, что поле "_fld28724_rtref" уже существует.

Ага! т.е. оно есть, но видим мы его иначе.

А вот скрипт 

ALTER TABLE IF EXISTS public._reference28250
    RENAME COLUMN "_fld28724_rtref" TO "_fld28724__rtref";

Работает успешно. Обновляем дерево объектов в СУБД. Теперь поле отражается, как мы задали ему новое имя. Меняем обратно на исходное.

ALTER TABLE IF EXISTS public._reference28250
    RENAME COLUMN "_fld28724__rtref" TO "_fld28724_rtref";

После этого получилось выгрузить копию *.dt и произвести дальнейшие манипуляции с базой.

 

Следует отметить, что случай этот не страшный.

Сам справочник пустой, поле итак присутствовало, но с некорректным именем. Не было необходимости создавать поле с нуля, сверившись с другой базой или скопировав из нее. Не было необходимости восстанавливать данные.

Процессу работы пользователей ошибка не мешала, копии средствами СУБД выполнялись исправно.

 

Если кто знает более практичные способы решения проблемы - буду рад ознакомиться.

СУБД Администрирование баз данных Ошибка Поле не найдено

См. также

INFOSTART TECH EVENT 2023, 11-13 октября, Санкт-Петербург

Инструментарий разработчика Мобильная разработка DevOps и автоматизация разработки Администрирование СУБД Мероприятия Россия Платные (руб)

XIII конференция по управлению и технологиям автоматизации учета на платформе 1С:Предприятие, которая пройдет в Санкт-Петербурге и соберет 1500 участников из разных регионов России и мира.

4000 руб.

09.12.2022    30068    11    0    

433

«Монитор» – простой анализ производительности

Администрирование СУБД Технологический журнал Бесплатно (free)

Для расследования проблем производительности недостаточно просто проанализировать технологический журнал. Нужен парсинг контекста событий, его сопоставление с информацией из Extended Events и логов, агрегация огромного количества информации.

21.09.2023    3245    Andreynikus    12    

69

Управляем базами на SQL, не выходя из 1С

Администрирование СУБД Бесплатно (free)

Статья о том, как организовать из 1С интерфейс для управления базой SQL – чтобы смотреть содержимое таблиц, добавлять и изменять в них данные, выполнять различные запросы. А также поделимся готовой 1С-подсистемой, где реализован пример такого управления.

31.08.2023    4465    Midzgun    11    

33

Как эффективно настроить autovacuum в Postgres для 1С

HighLoad оптимизация Администрирование СУБД Платформа 1С v8.3 Бесплатно (free)

Кто не любит убирать мусор? Думаю, практически все, а вот в Postgres это обязательный ритуал для эффективной работы. Как эффективно настроить уборку за 1С в Postgres, можно прочитать в этой статье и еще раз задуматься о бесплатности Postgres.

05.08.2023    3500    1CUnlimited    4    

43

Тонкости эксплуатации PostgreSQL

Администрирование СУБД Бесплатно (free)

Тема перехода с MS SQL на PostgreSQL становится все актуальнее. В докладе на конференции Infostart Event 2022 Saint Petersburg руководитель проектов Антон Дорошкевич рассказал, что ждёт после перехода, к чему нужно быть готовым, и какие варианты решения задач существуют на данный момент в мире PostgreSQL для его успешной эксплуатации.

19.06.2023    4390    a.doroshkevich    32    

52

Нестандартные приемы безопасной разработки и эксплуатации ПО на платформе 1С, категория "18+"

HighLoad оптимизация Рефакторинг и качество кода Администрирование СУБД Бесплатно (free)

Готовы погрузиться в недетское программирование и шКОДИТЬ по-взрослому? О том, как повысить безопасность разработки и эксплуатации ПО через изощренные способы подключения к платформе 1С, на конференции Infostart Event 2022 Saint Petersburg рассказал Юрий Лазаренко.

19.06.2023    1919    TitanLuchs    6    

20

tempdb, почему она всё время растет?

Администрирование СУБД Мониторинг Бесплатно (free)

С проблемами распухания tempdb при работе с базой данных 1С регулярно сталкиваются и админы, и разработчики. О том, как мониторить, диагностировать и решать такие проблемы, на конференции Infostart Event 2021 Moscow Premiere рассказал Александр Криулин.

14.06.2023    7321    AlexKriulin    8    

78

Первый день архитектора 1С на новой работе

Мониторинг Сервера Администрирование СУБД Бесплатно (free)

Как быстро познакомиться с системой на новой работе или если вас пригласили провести аудит контура на 1С? О том, какие инструменты использовать для быстрой проверки настроек сервера 1С, сервера MS SQL и общей оценки инфраструктуры на производительность, на конференции Infostart Event 2021 Post-Apocalypse рассказал архитектор 1С Юрий Былинкин.

01.06.2023    9148    ardn    18    

72
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Kalam 105 23.11.21 10:27 Сейчас в теме
Если кто знает более практичные способы решения проблемы - буду рад ознакомиться.


обновиться не пробовали?
говорят помогает...
4. tigcorp 3 01.12.21 16:21 Сейчас в теме
(1)Спасибо за дельный совет под статьей, которая начинается с того, что не получается произвести обновление из-за указанной ошибки.
2. aspirator23 341 26.11.21 11:22 Сейчас в теме
Да, это увы пока проблема. https://infostart.ru/public/168392/ с примерами исправления для MSSQL и Postgre. Там же есть обсуждение.
3. tigcorp 3 01.12.21 16:19 Сейчас в теме
(2)Это как раз одна из статей, которые навели меня на решение проблемы. Увы, проглядел в ней короткую строчку, что файл с примерами приложен
Оставьте свое сообщение