Ответ 1
Вам нужно добавить имя действительной базы данных для первоначального подключения или просто выгрузите содержимое в STDOUT:
pg_restore --create --exit-on-error --verbose --dbname=postgres <backup_file>
У меня есть база данных Postgres 8.4 на сервере Linux, которую я сбросил, используя следующую команду:
pg_dump --format=c --exclude-table=log --file=/path/to/output my_db
Затем я создаю файл на локальный компьютер под управлением Windows 7 и попытаюсь восстановить файл в моем локальном экземпляре Postgres 8.4, используя следующую команду:
pg_restore --create --exit-on-error --verbose c:\path\to\file
Команда restore генерирует много результатов, заявляя, что она создала мою базу данных, подключилась к ней, а затем создала все остальные таблицы, как ожидалось. Однако, когда я просматриваю базы данных на моем локальном компьютере через pgAdmin, восстановленная база данных вообще не существует.
В попытке устранения неполадок я попробовал следующую команду:
pg_restore --create --exit-on-error --verbose --host=blahblah --username=no_one c:\path\to\file
Когда я запускаю эту команду, даже если имя хоста и имени пользователя является полной бессмыслицей, я все равно получаю тот же вывод из команды без каких-либо ошибок.
Кто-нибудь сталкивался с этим раньше или знал, что может это сделать?
Вам нужно добавить имя действительной базы данных для первоначального подключения или просто выгрузите содержимое в STDOUT:
pg_restore --create --exit-on-error --verbose --dbname=postgres <backup_file>
pg_restore --create --exit-on-error --verbose --username=postgres -h localhost --dbname=my_db_name <backup_file>
Это все еще сбивает с толку, я пытался выполнить эту вещь, что --dbname должен быть БД, которую я хочу создать.
pg_restore --create --exit-on-error --verbose --dbname=jiradb jiradb.tar
НЕПРАВИЛЬНО!!
Это должно быть буквально --dbname postgres, затем --create создаст реальный БД из имени в файле. В моем случае я восстановил из резервной копии с помощью
pg_restore --create --exit-on-error --verbose --dbname=postgres jiradb.tar