Почему pg_restore успешно возвращается, но не восстанавливает мою базу данных?
-
29-10-2019 - |
Вопрос
У меня есть база данных Postgres 8.4 на сервере Linux, которую я сбросил с помощью следующей команды:
родовое словоЗатем я загружаю созданный файл по ftp на свой локальный компьютер с Windows 7 и пытаюсь восстановить файл в моем локальном экземпляре Postgres 8.4, используя следующую команду:
родовое словоКоманда восстановления генерирует множество выходных данных, в которых утверждается, что она создала мою базу данных, подключилась к ней, а затем, как и ожидалось, создала все остальные таблицы.Однако, когда я просматриваю базы данных на своем локальном компьютере через pgAdmin, восстановленная база данных вообще не существует.
В попытке устранить неполадки я попробовал следующую команду:
родовое словоКогда я запускаю эту команду, даже несмотря на то, что указанные хост и имя пользователя - полная чушь, я все равно получаю точно такой же вывод команды без каких-либо ошибок.
Кто-нибудь сталкивался с этим раньше или знает, что могло вызвать это?
Решение
Вы должны добавить имя действующей базы данных для первоначального подключения, иначе она просто сбросит содержимое в STDOUT:
родовое словоДругие советы
Это все еще сбивает с толку, я попытался выполнить то, что --dbname должно быть той базой данных, которую я хочу создать.
родовое словоНЕПРАВИЛЬНО !!
Буквально это должно быть --dbname postgres, затем --create создаст настоящую базу данных из имени в файле.В моем случае я восстановил из резервной копии tar с помощью
родовое слово