Если вы создали дамп в формате SQL, все, что вы можете использовать, это psql
.
Если вы создали дамп custom-format ( pg_dump -Fc
) или directory-format ( pg_dump -Fd
), вы можете и должны его использовать pg_restore
.
Пользовательские дампы и дампы в формате каталога имеют много преимуществ по сравнению с дампами простых SQL-скриптов, и я использую их исключительно. Вы можете выборочно восстанавливать только некоторые таблицы / схемы, выбирать, включать ли только схему, только данные, или и то, и другое во время восстановления и т. Д. Множество опций, которые вы должны указать приpg_dump
одновременно с дампами в формате SQL, могут быть выбраны при восстановлении. время, если вы используете дамп пользовательского формата и pg_restore
.
Если бы не было обратной совместимости, я уверен, что по умолчанию для pg_dump
будет -Fc
(пользовательский) формат.
Нельзя преобразовать дамп в формате SQL в пользовательский или каталог-формат, не восстановив его в базе данных PostgreSQL, а затем сбросив восстановленную БД.