SET
是一个用于更改运行时 系统参数 的实用程序命令。
SET
添加于 PostgreSQL 6.1。
用法
在其基本形式中,SET
用于使用以下语法在会话或该会话内的交易上下文中修改运行时 系统参数
SETparameter
[ TO | = ]value
请注意,函数 set_config()
提供了与 SET
等效的功能。
SET
还为一部分参数提供了特定的语法调用,部分原因是出于 SQL 兼容性的考虑;这些是
SET NAMES
SET SCHEMA
SET SEED
SET TIME ZONE
还有一些不相关的 SET ... 命令;这些将在单独的条目中讨论
更改历史记录
正在开发中
- PostgreSQL 15
- 当使用扩展 (提交 75d22069) 预留的前缀设置不存在的设置时,将发出
WARNING
。
- 当使用扩展 (提交 75d22069) 预留的前缀设置不存在的设置时,将发出
- PostgreSQL 9.4
- 当在事务块之外执行
SET LOCAL ...
时,将发出WARNING
(而不是ERROR
)(提交 a6542a4b)。
- 当在事务块之外执行
- PostgreSQL 7.3
- 添加了
SET [ SESSION | LOCAL ]
语法(提交 f0811a74)。
- 添加了
- PostgreSQL 6.4
- 添加了
SET NAMES
语法(提交 bf00bbb0)。
- 添加了
- PostgreSQL 6.1
- 添加(初始提交 a51df14a)。
示例
SET
的基本用法示例
postgres=# SET application_name TO 'foo'; SET postgres=# SHOW application_name; application_name ------------------ foo (1 row)
可以使用 =
字符代替 TO
postgres=# SET application_name = 'bar'; SET postgres=# SHOW application_name; application_name ------------------ bar (1 row)
使用 DEFAULT
将参数重置为其原始值
postgres=# SET application_name TO DEFAULT; -- equivalent to "RESET application_name" SET postgres=# SHOW application_name; application_name ------------------ psql (1 row)
参考文献
- PostgreSQL 文档: SET