Я использую Убунуту. Я просто хочу создать дамп postgre. Итак, я использую следующую команду:
sudo -u wap PGPASSWORD="postgres" pg_dump -h localhost -U postgres -d n26n -n public -FC -f /tmp/dump_file --verbose
Как и ожидалось, это создает дамп. Однако, поскольку я запускаю его в подробном режиме, я хочу, чтобы выходные данные регистрировались в файле. Я пробовал следующее:
sudo -u wap PGPASSWORD="postgres" pg_dump -h localhost -U postgres -d n26n -n public -FC -f /tmp/dump_file --verbose >> logfile
Файл журнала кажется пустым.
Как указать конец команды?
Без образца вывода, который вы получаете, я могу только строить предположения, но ваша команда содержит -f (--file)
куда идет ваш вывод дампа: /home/me/dump_file
.
-f file
Отправить вывод в указанный файл. Этот параметр можно опустить для файловых форматов вывода, и в этом случае используется стандартный вывод. Однако он должен быть указан для формата вывода каталога, где он указывает целевой каталог вместо файла. В этом случае каталог создается
pg_dump
и не должно существовать раньше.
Любой другой вывод будет из stderr
потому что вы поставили --verbose
и поэтому вы должны перенаправить этот вывод, используя 2> logfile1
.
--verbose
Задает подробный режим. Это вызовет
pg_dump
для вывода подробных комментариев к объекту и времени запуска / остановки в файл дампа, а также сообщений о ходе выполнения до стандартной ошибки.
Пример:
sudo -u wap PGPASSWORD="postgres" \
pg_dump -h localhost -U postgres \
-d n26n -n public -Fc -f /tmp/dump_file --verbose 2> logfile1