В зависимости от того, как вы создали файл дампа, вам нужно рассмотреть два инструмента.
Первым источником информации должна быть справочная страница, pg_dump(1)
поскольку именно она создает сам дамп. Это говорит:
Дампы могут быть выведены в формате сценария или файла архива. Дампы сценариев - это текстовые файлы, содержащие команды SQL, необходимые для восстановления базы данных до состояния, в котором она находилась на момент сохранения. Чтобы восстановить из такого скрипта, передайте его в psql (1). Файлы сценариев могут использоваться для восстановления базы данных даже на других машинах и других архитектурах; с некоторыми изменениями даже на других продуктах баз данных SQL.
Альтернативные форматы архивных файлов должны использоваться с pg_restore (1) для перестройки базы данных. Они позволяют pg_restore быть избирательным в отношении того, что восстанавливается, или даже изменять порядок элементов перед восстановлением. Форматы архивных файлов предназначены для переноса между архитектурами.
Так что зависит от того, как он был сброшен. Вы, вероятно, можете выяснить это с помощью превосходной file(1)
команды - если в ней упоминается текст ASCII и / или SQL, его следует восстановить с помощью, в psql
противном случае вам, вероятно, следует использоватьpg_restore
Восстановление довольно просто:
psql -U username -d dbname < filename.sql
-- For Postgres versions 9.0 or earlier
psql -U username -d dbname -1 -f filename.sql
или
pg_restore -U username -d dbname -1 filename.dump
Проверьте их соответствующие man-страницы - есть довольно много вариантов, которые влияют на то, как работает восстановление. Возможно, вам придется очистить ваши «живые» базы данных или воссоздать их из template0 (как указано в комментарии) перед восстановлением, в зависимости от того, как были созданы дампы.