我在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;
终端保存查询的突击队是什么?
首先,我在工作目录中创建一个空文本文件:
filename.txt ("remember to give permission to edit and modify")
现在,使用psql元命令,\ o我们可以安排将来的查询结果写入提供的文件名。
\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
元命令将其清除,并继续执行正常活动,而无需向指定文件写入任何其他内容。
最后执行的命令也可以在psql
的外部编辑器中打开。命令是\e
,在大多数系统上都会打开vi
中的命令缓冲区。这将创建一个临时文件,但没有什么能阻止您将另一个副本保存在/tmp
目录之外。此外,您可以使用环境变量EDITOR
控制您选择的编辑器,可以使用psql
命令设置,而无需关闭当前的\setenv
会话。
如果要查找更多有用的命令,请参阅docs for psql
。它读得非常好,实际上非常有帮助。