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