gpt4 book ai didi

postgresql - psql中set、\set和\pset的区别

转载 作者:行者123 更新时间:2023-11-29 11:14:48 25 4
gpt4 key购买 nike

在使用 psql 时,我有时会在何时使用 set\set 之间感到困惑\pset。我认为:

  • set 用于我与数据库的连接上的 session 变量。例如 SET ROLE dba;
  • \set 用于此 psql session 的局部变量。例如 \set time 'select current_timestamp'
  • \pset 用于此 psql session 的 psql 设置。例如'\pset border 2'

但是,我从来没有找到我认为对每一个都很好的解释。我的上述假设是否正确?

我正在使用 PostgreSQL 9.4

最佳答案

基本正确。重要的区别在于 SET 是 SQL 命令,而其他两个是 psql 元命令 - 由前导 \ 指示。

SET是更改运行时参数的 SQL 命令。它在服务器上执行,与 psql 本身无关。

\set是一个 psql 元命令:

Sets the psql variable name to value [...]

Note: This command is unrelated to the SQL command SET.

\pset是另一个 psql 元命令:

This command sets options affecting the output of query result tables

关于postgresql - psql中set、\set和\pset的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29593908/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com