Правильный способ перенести базу данных postgres?
У меня есть версия dev и рабочая версия, запущенная в django.
Недавно я начал заполнять его большим количеством данных и обнаружил, что django loaddata пытается загрузить все в память, прежде чем добавить его в базу данных, и мои файлы будут слишком большими для этого.
Как правильно перенести мои данные с моей машины разработчика на мое производство?
Я сделал...
pg_dump -U user -W db ./filename.sql
а затем на производственном сервере я сделал...
psql dbname < filename.sql
Кажется, это сработало, все данные есть, но возникли некоторые ошибки, такие как
relation xxx already exists
constrain xxx for relation xxx already exists
и их было довольно много, но, как я уже сказал, все, кажется, там. Это правильный способ сделать это?
Редактировать: у меня на рабочей машине есть база данных с информацией, и я не хочу обрезать таблицы перед импортом.
1 ответ
Это скрипт, который я использую:
pg_dump -d DATABASE_NAME -U postgres --format plain --inserts > /FILE.sql
Изменить: Как вы сказали в комментариях, что вы не хотите обрезать таблицы перед импортом, вы не можете выполнить этот тип импорта в вашу производственную базу данных. Я предлагаю очистить вашу производственную базу данных перед импортом дампа базы данных dev.