Ответ 1
Вопрос, похоже, подразумевает, что pg_restore
выполняет эти SQL-команды, и вы не захотите их видеть на выходе. Но вывод их - это то, что он должен делать.
pg_restore
имеет два режима работы: с или без подключения к базе данных. Когда он вызывается без базы данных (опция -d
), как показано в вопросе:
$pg_restore --cluster 8.4/mycluster mycluster.dump
тогда его единственная цель - вывести набор команд SQL в виде обычного текста, который должен быть отправлен в интерпретатор SQL для восстановления базы данных. Эти SQL-команды образуют когерентный набор без какого-либо понятия многословия, и они не выполняются самим pg_restore
. Обычно они перенаправляются в файл для последующего выполнения или отправляются в psql
для немедленного выполнения.