Подтвердить что ты не робот

PostgreSQL: восстановление базы данных из дампа - синтаксическая ошибка

Я пытаюсь восстановить базу данных PostgreSQL, выполнив SQL, созданный pg_dump, в пустой базе данных.

Я получаю эту ошибку:

ERROR:  syntax error at or near "\"
LINE 5211: \.

строки 5210 и 5211:

COPY auth_group (id, name) FROM stdin;
\.

Он отлично работает на моем Linux-сервере, где я использую эту команду:

psql -U dbname < dumpfile.sql

но в Windows я не уверен, как сделать то же самое, поэтому я пытался запустить dumpfile sql из утилиты запросов pgAdminIII.

Какой рекомендуемый способ импорта db из дампа в Windows? Или: как решить эту проблему синтаксиса?

Любая помощь очень ценится!

Martin

4b9b3361

Ответ 1

Аргумент -f filename в psql будет читаться в файле, поэтому вам не нужно его обходить. psql should быть включенным в каталог PostgreSQL bin в окнах. Например:

psql -d dbname -U username -f dumpfile.sql

Возможно, вам придется включить полный путь к исполняемому файлу psql, если он не на вашем пути, и возможно добавить ".exe" в psql, так что это "psql.exe".

Также убедитесь, что вы не уходите в номера версий, перед запуском проблем с синтаксисом (например, не экспортируйте базу данных 8.4 и не загрузите ее в базу данных 8.1). Если это так, вам может потребоваться вручную отредактировать файл дампа.

Ответ 2

попробуйте с psql -d dbname -U user -f dumpfile.sql