Использование \o
, как рекомендовано другими, является хорошим решением. Просто для забавы, однако, другой способ сделать это - передать входной файл в psql
из командной строки, а не использовать команду \i
. Затем вы можете перенаправить вывод в другой файл. Например:
psql < input.sql > output.txt
У этого есть несколько интересных побочных эффектов. Например, если у вас включена синхронизация (\timing on
), то использование \o
будет , а не приведет к тому, что результаты синхронизации будут переданы в выходной файл, а перенаправление будет. То же самое с \echo
заявлениями.