Всю жизнь дампил базы pg_dump, а заливал psql base < file
Но тут столкнулся со сложной базой, где в таблицах ключи указывают на другие таблицы. В итоге при восстановлении получаю кучу ошибок вида relation "name" does not exist
И что-то я пока не понимаю как такое решить...
В документации к старым версиям указаны опции для управления порядком восстановления, но в новых ничего подобного нет. Неужели дампить потаблично и восстанавливать также? Абсурд!
Как быть?
В общем, по непонятной причине не соблюдался порядок восстановления таблиц. В текущую таблицу восстанавливались ключи, ссылающиеся на еще не развернутую. Теоретически все работало, но кому понравятся горы ошибок?
Решилось раздельным восстановлением сначала схемы базы (ключ pg_restore -s), а потом только данных (pg_restore -a). Ну и разумеется --disable-triggers
Не поверите. но так и пробую сейчас! Кучи ошибок COPY failed for table "": ERROR: insert or update on table "" violates foreign key constraint "", could not execute query: ERROR: column "" of relation "" does not exist и других.
Программист и архитектор базы предлагает потабличный бэкап. А для меня это дико.