Положить вывод из Postgres \ я ввода в файл? - PullRequest
3 голосов
/ 15 октября 2010

Быстрый вопрос (надеюсь!): Если я использую \ i для подачи входного файла в psql, могу ли я получить выходные данные запросов, которые будут сохранены в файл? Если так, то как? Спасибо !!

Ответы [ 3 ]

6 голосов
/ 15 октября 2010

Использование \o, как рекомендовано другими, является хорошим решением. Просто для забавы, однако, другой способ сделать это - передать входной файл в psql из командной строки, а не использовать команду \i. Затем вы можете перенаправить вывод в другой файл. Например:

psql < input.sql > output.txt

У этого есть несколько интересных побочных эффектов. Например, если у вас включена синхронизация (\timing on), то использование \o будет , а не приведет к тому, что результаты синхронизации будут переданы в выходной файл, а перенаправление будет. То же самое с \echo заявлениями.

5 голосов
/ 15 октября 2010

Конечно, можно:

dbname=> \o /home/outputfile.csv
dbname=> select * from table;
dbname=> \q

Вывод будет передан в файл.

5 голосов
/ 15 октября 2010

На основании документации , \o предназначен для направления вывода в файл.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...