有时候在使用
psql
时,我会有点困惑何时使用 set
vs. \set
vs. \pset
。我认为:
set
用于连接到数据库的会话变量。例如:SET ROLE dba
;\set
用于此 psql 会话的本地变量。例如:\set time 'select current_timestamp'
\pset
用于此 psql 会话的 psql 设置。例如:'\pset border 2'
但是,我从未找到过令人满意的解释。请问我的假设是正确的吗?
我正在使用 PostgreSQL 9.4
set
是一个 SQL 命令,可以在任何 SQL 客户端中使用。\set
和\pset
只能在psql
中使用。 - user330315\set
没有被命名为\varset
或其他类似的名称。 - Craig Ringer