Как сохранить запрос в psql по терминалу - PullRequest
1 голос
/ 10 марта 2019

Я создал запрос в PSQL и запустил его и хотел бы сохранить его. Пример запроса:

CREATE VIEW total_revenue_per_customer AS SELECT
customers.id, customers.first_name, customers.last_name,
SUM(items.price) FROM customers                                                          
INNER JOIN purchases ON customers.id = purchases.customer_id
INNER JOIN items ON purchases.item_id = items.id
GROUP BY customers.id;

Что такое коммандос для сохранения моего запроса по терминалу?

Ответы [ 2 ]

1 голос
/ 10 марта 2019

Для начала я создаю пустой текстовый файл в моей рабочей директории:

filename.txt     ("remember to give permission to edit and modify")

Теперь, используя метакоманду psql, мы можем организовать запись результатов будущих запросов в указанное имя файла.

\o filename.txt

Показанный выше, мы можем видеть один вариант структуры простого синтаксиса:

\o filename.txt

создаю мой запрос и запускаю

CREATE VIEW total_revenue_per_customer AS SELECT
customers.id, customers.first_name, customers.last_name,
SUM(items.price) FROM customers                                                          
INNER JOIN purchases ON customers.id = purchases.customer_id
INNER JOIN items ON purchases.item_id = items.id
GROUP BY customers.id;

Сохранено в out.txt

Поскольку мета-команда \o все еще активна в буфере запросов, вы можете очистить ее, введя другую мета-команду \o и продолжить обычную активность, не записывая ничего в указанный файл. .

0 голосов
/ 15 марта 2019

Последняя выполненная команда также может быть открыта во внешнем редакторе из psql.Команда \e, которая в большинстве систем открывает буфер команд в vi.Это создаст временный файл, но ничто не помешает вам сохранить другую копию за пределами каталога /tmp.Кроме того, вы можете управлять вашим редактором по выбору с помощью переменной окружения EDITOR, которую можно установить без закрытия текущего сеанса psql с помощью команды \setenv.

См. документы для psql, если вы хотите найти больше полезных команд.Он очень хорошо читается и на самом деле очень полезен.

...