Команда psql \o
уже была описана jhwist.
Альтернативный подход - использовать команду COPY TO
для прямой записи в файл на сервере.Преимущество этого в том, что он выводится в удобном для анализа формате по вашему выбору, а не в табличном формате psql.Также очень легко импортировать в другую таблицу / базу данных, используя COPY FROM
.
Внимание!Это требует привилегий суперпользователя и записывает в файл на сервере .
Пример: COPY (SELECT foo, bar FROM baz) TO '/tmp/query.csv' (format csv, delimiter ';')
Создает файл CSV с помощью ';'в качестве разделителя полей.
Как всегда, подробности см. в документации