Быстрый вопрос (надеюсь!): если я использую \i для подачи входного файла в psql, могу ли я получить результат из запросов, которые будут сохранены в файл? Если да, то как? Спасибо!!
Ввод вывода из Postgres\i в файл?
Ответ 1
На основе документации \o
предназначен для вывода вывода в файл.
Ответ 2
Использование \o
, как рекомендовано другими, является хорошим решением. Просто для удовольствия, однако, другой способ сделать это - связать входной файл с psql
из командной строки, а не с помощью команды \i
. Затем вы можете перенаправить вывод в другой файл. Например:
psql < input.sql > output.txt
У этого есть некоторые интересные побочные эффекты. Например, если у вас включена синхронизация (\timing on
), то использование \o
не приведет к передаче результатов синхронизации в выходной файл, но будет перенаправление. То же самое с операторами \echo
.
Ответ 3
Конечно, может:
dbname=> \o /home/outputfile.csv
dbname=> select * from table;
dbname=> \q
Выход будет передан в файл.