我在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;
通过终端保存查询的突击队是什么?
答案 0 :(得分:1)
首先,我在工作目录中创建一个空文本文件:
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
元命令来清除它,并继续进行正常活动,而无需编写其他任何内容到指定的文件。
答案 1 :(得分:0)
也可以从psql
在外部编辑器中打开最后执行的命令。该命令为\e
,在大多数系统上,它将在vi
中打开命令缓冲区。这将创建一个临时文件,但是没有任何阻止您将其他副本保存在/tmp
目录之外的情况。另外,您可以使用环境变量EDITOR
控制选择的编辑器,可以使用psql
命令关闭环境变量\setenv
来设置。
如果要查找更多有用的命令,请参见docs for psql
。它读起来非常好,实际上很有帮助。