У меня есть база данных postgresql с примерно 85+ таблицами. Я регулярно делаю резервные копии, используя pg_dump
(через php-pgadmin) в режиме копирования, а размер файла резервной копии составляет почти 10-12 МБ. Теперь проблема, с которой я столкнулся, заключается в том, что всякий раз, когда я пытаюсь восстановить базу данных, возникает проблема ограничения внешнего ключа. Сценарий выглядит следующим образом:
Есть две таблицы: 1) пользователи
и 2) зоны
. Я сохранил идентификатор зоны в таблице users
, чтобы идентифицировать зону пользователя, и установил его как внешний ключ.
Когда я беру дамп базы данных, записи для таблицы зоны
идут только после таблицы users
. Я думаю, это связано с первой буквой имени таблицы: u
предшествует z
, и поэтому, когда я восстанавливаю базу данных, возникает проблема ограничения внешнего ключа и выполнение останавливается. Та же проблема возникает, когда я пытаюсь восстановить структуру db, в нем говорится, что таблица зон
не существует в базе данных, поскольку структура зон
идет после структуры пользователей
в файле дампа.
Есть ли какие-либо решение для этого? Возможен ли какой-либо другой метод резервного копирования?