pg_dump снять дамп базы, в засимости от ключей это будет sql-файл, схатый sql-файл или бинарый архив базы. pg_restore вожет восстановить любой из этих бекапов.
через psql можно восстановить только "чистый" sql файл, по типу psql -U postgres -d db_name < backup.sql
pg_restore не работает. Говорит, что таблицы и связи уже есть. Пока что единственным способом накатить базу является удаление её и пересоздание.
Что не так?
pg_restore работает правильно, бекапы только на пустую базу и востанавливаются.
Ну или добавить ключ -с который добавит удаление/создание базы.
-c
--clean
Clean (drop) database objects before recreating them. (Unless --if-exists is used, this might generate some harmless error messages, if any objects were not present in the destination database.)