Не удается восстановить файл резервной копии дампа для Postgres с помощью pg_restore

Я создал файл резервной копии дампа для своего Postgres 9.3.4, используя это:

pg_dump table_name -U myusername -h localhost -O > backup.dump

Теперь я пытаюсь сделать резервную копию старой базы данных, используя:

pg_restore -U myusername -n public -d table_name  backup.dump

Но я продолжаю получать эту ошибку:

pg_restore: [archiver] input file appears to be a text format dump. Please use psql.

Обратите внимание, что этот файл не является простым файлом sql, поскольку я сгенерировал его с помощью pg_dump.

Я использовал следующую команду:

psql perchwell -U myusername -f backup.dump -v ON_ERROR_STOP=1

и начать получать следующую ошибку:

SET
SET
SET
SET
SET
SET
psql:backup.dump:16: ERROR:  schema "propertydir" already exists

person Eki Eqbal    schedule 14.04.2015    source источник


Ответы (2)


Выходной формат pg_dump по умолчанию — это обычный текстовый sql-скрипт. Так что используйте psql для импорта или перевыгрузки с флагом -Fc.

person Eelke    schedule 14.04.2015
comment
Спасибо, Элке, я использую psql -U myusername -d db_name -1 -f backup.dump и постоянно получаю: неверная команда \N. Я делаю что-то не так? - person Eki Eqbal; 14.04.2015
comment
используйте pg_dump, а не psql - person marceljg; 14.04.2015
comment
@EkiEqbal Пожалуйста, отредактируйте свой вопрос, чтобы показать полный вывод. Запустите psql также с -v ON_ERROR_STOP=1. - person Craig Ringer; 15.04.2015
comment
Вы получаете, что схема уже существует, потому что база данных не является чистой. Сначала создайте новую базу данных и импортируйте в нее. - person Eelke; 16.04.2015
comment
marceljg Он пытается импортировать его, а не pg_dump. - person Amalgovinus; 31.01.2017

Ваша ошибка: pg_restore: входной файл [archiver] выглядит как дамп текстового формата. Пожалуйста, используйте psql

Ошибка указывает на использование команды psql для импорта базы данных.

cat your-dump-pg-file.dump | psql -d your-database

Таким образом, вы можете легко восстановить файл

Кроме того, если вы установите набор символов UTF-8, импорт также улучшится.

person Tejas Tank    schedule 30.03.2017