Не удалось восстановить базы данных Postgresql, из-за ошибки «база данных уже существует» - PullRequest
0 голосов
/ 05 января 2019

У меня есть резервная копия pg_dumpall > test.out и test.out успешно сгенерирован, следовательно, резервное копирование завершено.

Я использовал команду psql -f test.out postgres для восстановления Но получил следующие ошибки при восстановлении резервной копии:

databases already exists
relation "products" already exists
duplicate key value violates unique constraint "products_pkey"

Я действительно хочу заменить данные в существующей базе данных резервной копией. Как это сделать?

Ответы [ 2 ]

0 голосов
/ 05 января 2019

Используете ли вы команду ниже?

 psql -h localhost -U [login role] database_name -f /home/database.backup
0 голосов
/ 05 января 2019

Проблема в том, что база данных, которую вы пытаетесь восстановить, уже существует.

Вы можете запустить команду DROP DATABASE database_name, которая удалит существующую базу данных, а затем вы сможете запустить файл test.out.

Или вы можете запустить pgdumpall --clean > test.out, а затем запустить полученный файл. Флаг очистки заставит получающиеся файлы содержать команду DROP DATABASE.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...