Восстановление базы postgresql из бэкапа выполняется при помощи утилиты psql из SQL дампа.
Всегда используются SQL дампы. Подробно вопрос про принципы копирования SQL баз рассматривали в материале про бэкапы Postgres
Восстановление базы postgresql из бэкапа на примерах
Как и другие операции с postgresql восстановление базы выполняется системным пользователем postgres.
Суперпользователь может переключиться на него выполнив su postgres
su postgres
Пример:
Чтобы восстановить базу из дампа — загрузить ее в Postgres, используется такая команда:
psql -d test < /full/path/dump.sql
Ключом -d передается имя базы данных, после знака < нужно указать полный путь к SQL дампу.
SQL дамп нужно загрузить на сервер если он хранится на внешнем сервере для бэкапов (так должно быть для обеспечения сохранности данных в случае глобальных проблем с сервером с базой).
Опционально передаётся ключ -U username в случае если для базы выданы права определенному пользователю. В любом случае можно работать подключившись как postgres. Это суперпользователь для СУБД, он может производить любые операции с любыми базами данных на сервере.
Также для восстановления можно использовать утилиту pg_restore, но с её помощью не всегда удаётся выполнить восстановление из SQL дампа. Чтобы не было ошибок дамп должен быть созда в определенном формате.
psql универсальнее, используем этот инструмент
На скриншоте восстановление из бэкапа системной базы postgres:
Если создавался полный бэкап всех баз данных - синтаксис команды для восстановления будет такой :
psql -f /full/path/backupfile.sql
Ошибки при импорте по умолчанию игнорируются. Чтобы загрузка останавливалась при ошибке можно добавить ключ --set ON_ERROR_STOP=on
Читайте также про подключение к Postgres из консоли сервера.
В статье есть, среди прочего, примеры команд, которыми можно просмотреть список существующих в postgres баз данных.