如何通过终端在 psql 中保存查询
How to save query in psql by terminal
我在 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
元命令将其清除,然后继续正常 activity, 不向指定文件写入任何其他内容。
上次执行的命令也可以在 psql
的外部编辑器中打开。该命令是 \e
,在大多数系统上,它会在 vi
中打开命令缓冲区。这将创建一个临时文件,但不会阻止您在 /tmp
目录之外保存另一个副本。此外,您可以使用环境变量 EDITOR
控制您选择的编辑器,无需使用 \setenv
命令关闭当前 psql
会话即可进行设置。
如果您想找到更多有用的命令,请参阅 docs for psql
。它读起来非常好,实际上非常有帮助。
我在 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
元命令将其清除,然后继续正常 activity, 不向指定文件写入任何其他内容。
上次执行的命令也可以在 psql
的外部编辑器中打开。该命令是 \e
,在大多数系统上,它会在 vi
中打开命令缓冲区。这将创建一个临时文件,但不会阻止您在 /tmp
目录之外保存另一个副本。此外,您可以使用环境变量 EDITOR
控制您选择的编辑器,无需使用 \setenv
命令关闭当前 psql
会话即可进行设置。
如果您想找到更多有用的命令,请参阅 docs for psql
。它读起来非常好,实际上非常有帮助。