Правильный способ перенести базу данных 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.

Другие вопросы по тегам