Восстановление новой базы данных Postgres со старым каталогом данных

Я не сделал резервную копию своего старого каталога данных, но он все еще в неприкосновенности. В моей текущей базе данных у меня такая же схема и т. д. Когда я пытаюсь восстановить базу данных (используя pgadmin III), я получаю эту ошибку:

/Applications/pgAdmin3.app/Contents/SharedSupport/pg_restore --host localhost -- port 5432 -- username "postgres" --dbname "postgres" --role "postgres" --no-password --format directory --verbose "/Library/Postgres/9.5/data" 
pg_restore: [directory archiver] could not open input file "/Library/PostgreSQL/9.5/data/toc.dat": No such file or directory

Я не уверен, где toc.dat вступил в игру, так как я не знаком с ним. Это, очевидно, останавливает восстановление, но я не знаю, как решить эту проблему.


person Johnathan Mackney    schedule 05.07.2016    source источник


Ответы (2)


при восстановлении не используйте --format в аргументах.

person Awais Rafique    schedule 03.01.2017

Использование версии 3.0 pgAdmin 4

Может быть, слишком поздно, но это работает для меня все время.

Из текущей или старой базы данных

  1. Запустите pgAdmin;
  2. Разверните Серверы и войдите в них;
  3. Разверните PostgreSQL, а затем щелкните имя базы данных, которую вы хотите экспортировать/создать резервную копию;
  4. Щелкните правой кнопкой мыши по нему для параметров и выберите Backup...;
  5. В открывшемся окне введите подходящее filename и убедитесь, что format в раскрывающемся меню установлено значение Tar;
  6. Затем нажмите «Резервное копирование» внизу;

После сохранения файла резервной копии

В новой или другой базе данных (или на другом компьютере)

Создайте новую базу данных и щелкните ее правой кнопкой мыши после создания, выберите параметр Restore... и найдите файл Backup up, созданный ранее. Возможно, вам придется выбрать

Show hidden files and folders и установите Format на All Files

Эта ошибка не должна возникать при использовании этого метода.

person MulleOne    schedule 10.09.2018