Ошибка СУБД 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 и произвести дальнейшие манипуляции с базой.

 

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

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

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

 

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

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

См. также

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

В очередной раз столкнулся с тем, что очередные обновления тонкого клиента 1С для Mac OS, загруженные с сайта обновления ПО 1С, не устанавливаются через стандартный инсталлятор и дают ошибку. Но можно все установить вручную без сторонних приложений. Описываю процесс ручной установки тонкого клиента для платформы 8.3.27.1559 на Маке с OS Sequoia 15.5.

02.06.2025    827    user1914479    11    

3

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

В финальной статье по докладу «Дамп – не приговор, а повод задуматься», с которым выступили на осенней конференции INFOSTART TECH EVENT 2024, рассказываем, чем может быть полезна информация, полученная из дампа.

27.05.2025    1414    it-expertise    0    

12

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

Клиент-серверная архитектура 1С Предприятия 8.3 подразумевает работу в связке с так называемой системой управления базами данных (СУБД). Одной из самых распространённых и популярных до сих пор остается MS SQL Server.

19.05.2025    1307    Kostin1978    4    

4

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

Во второй статье по докладу «Дамп – не приговор, а повод задуматься», с которым выступили на конференции INFOSTART TECH EVENT 2024, рассмотрим, какую информацию содержат файлы дампа, чем она полезна и как ее анализировать.

14.04.2025    1357    it-expertise    7    

16

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

Где лежат данные идентификаторов, как прочитать, как поменять...

10.04.2025    1188    atdonya    0    

6

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

Опубликовали первую статью по итогам доклада «Дамп – не приговор, а повод задуматься», с которым выступали на конференции INFOSTART TECH EVENT 2024.

25.03.2025    973    it-expertise    7    

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


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