Postgresql- восстановление .dump файла
Я новичок в psql. Я получил от моего файла data.dump сервера. Мне нужно восстановить его в моем местном.
Я пробовал эти команды.
i) psql -U postgres dbname -f servicedb.dump
Error:
psql: warning: extra command-line argument "-f" ignored
psql: warning: extra command-line argument "servicedb.dump" ignored
ii) psql -U postgres dbname < servicedb.dump
Error:
^
ERROR: syntaxe error at or near "☺"
LINE 1: ☺☺
Что это за файл ".dump" и как его восстановить?
Ответы
Ответ 1
У меня есть файл .dump с моего сервера (Heroku). Как сказал Клаус, pg_restore - единственный способ восстановить его в локальном режиме.
То, что я написал в моем терминале, было:
pg_restore -c -d [database_name] [dumpfile_name].dump
В ссылке Klaus pg_restore есть много вариантов:)
Ответ 2
psql -f filenamed.dmp db_name
отлично работает
Ответ 3
Для Postrgres 9.2
pg_restore --verbose --clean --no-acl --no-owner -h localhost -U [user] -d [db] [filename].dump
Ответ 4
Посмотрите на команду pg_restore.
Ответ 5
pg_restore далеко не очевиден, это команда, которую я использовал для создания новой базы данных и восстановления в нее файла дампа на удаленном экземпляре Postgres, работающем в AWS. Если ваше соединение правильное, pg_restore должен немедленно попросить вас ввести пароль)
pg_restore -h mypostgresdb.eu-west-1.rds.amazonaws.com -U adminuser --verbose -C -d existingdatabase mydbdump.dm
Где находятся переключатели:
- -h - имя хоста на aws
- -U - имя пользователя, это должен быть пользователь с правами администратора для создания БД
- --verbose - выводить подробный вывод на экран
- -C - означает создание новой базы данных из файла дампа (она будет называться независимо от того, как была названа база данных)
- -d - сбивает с толку это имя базы данных, которая уже существует, в основном, pg_restore необходимо подключиться к существующей базе данных, чтобы он мог запускать необходимые сценарии для создания новой базы данных
- mydbdump.dmp это расположение файла дампа, который вы пытаетесь восстановить.
Ответ 6
psql для дампов простого текста, используйте pg_restore.