Разница между восстановлением базы данных с помощью pg_restore и psql заключается в том, что каждая из этих утилит предназначена для разных форматов резервных копий. beget.com dba.stackexchange.com
pgrestore используется для восстановления базы данных из файла резервной копии в одном из архивных форматов, который создан утилитой pgdump. beget.com При наличии файлов архивов pg_restore может восстанавливать данные избирательно или даже переупорядочить объекты перед восстановлением. beget.com
psql — это консольный клиент для работы с PostgreSQL. beget.com С его помощью можно произвести восстановление базы данных PostgreSQL из резервной копии в формате SQL-скрипта. beget.com Для этого достаточно передать файл резервной копии в утилиту psql при подключении к базе данных. beget.com
Таким образом, выбор между pg_restore и psql зависит от того, какой формат резервной копии используется.