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

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" и как его восстановить?

4b9b3361

Ответ 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.