базы в sl.gz (делал через pg_dump).
разворачиваю сейчас этот бэкап на свежую инсталляцию постгресса, в процессе вижу ошибки типа
ERROR: could not create unique index "oc_mimetypes_pkey"
DETAIL: Key (id)=(5) is duplicated.
после восстановления приложение, использующее базу, не работает, сыплет ошибками (гуглил эти ошибки, причина - неполное восстановление БД).
скажите, это как-то можно побороть?
у вас в исходной таблице дублей нет? mimetypes у вас вряд ли много (да и ид 5 намекает). Посмотрите глазами данные в таблице (дубли по индексу 5). Либо отключите поиск по индексу и seq scan' ом можно глянуть, что там в таблице
> у вас в исходной таблице дублей нет? вполне могут быть, это некстклауд, на форуме вроде встречал, что что-то где-то может дублироваться
все страннее и страннее. Если я правильно понял ситуацию, то у вас 1) есть unique индекс на таблице 2) дамп этого дела не встает из-за нарушения уникальности индекса, что может быть вызвано дублями в исходной таблице (тогда у вас там битый индекс). Это я и предлагаю проверить. Т.е. у вас что-то не очень приятное и штатное. Сначала это надо поправить, потом сделать новый дамп и жить дальше
новый дамп делать неоткуда. достался только этот бэкап. попробую открыть, посмотреть его. спасибо!
а это поведение не может быть связано с тем, что бэкап в архивированном виде? вытащил сейчас из .gz в .sql, запускаю - вроде не пишет такой ошибки
Ты пытаешься восстановить в существую базу, в которой уже есть эти значения Разверни у себя постгрю (в докере или в вмке или локально), далее тупо создай базу из template0 и попробуй восстановить в неё с verbose ключом, и лови вывод
А таблица не из расширения часом? Гипотетически может быть ситуация с кривым расширением, которое создаёт справочную таблицу и уникальным индексом, а потом в нее же попытка залить данные из дампа. Стоит руками глянуть восстановленную бд - что там на момент ошибки по данным, и в дамп - что там льется.
Скинь вывод с исходной базы - Select id from oc_mimetypes_pkey where id='5' ;
Нет, совершенно новая база. Только что создал.
Обсуждают сегодня