current_setting()
是一个系统函数,返回配置参数 和某些其他值的当前值。
current_setting()
在 PostgreSQL 7.3 中添加。
用法
current_setting ( setting_name text [, missing_ok boolean ] ) → text
类似于 SHOW
命令,current_setting()
返回 配置参数(以及某些其他参数)的当前值。但是,与 SHOW
相比,current_setting()
是一个普通的函数,可以与其他 SQL 元素结合使用。此外,它可以显示自定义变量,并且可以选择在指定的配置参数不存在时执行而不返回错误。
与 SHOW
一样,current_setting()
还可以通过伪参数 is_superuser
显示当前用户是否为超级用户。
系统目录视图 pg_settings
也可以用于检索有关配置参数当前值的信息。
更改历史记录
- PostgreSQL 9.6
- 添加了选项
missing_ok
(提交 10fb48d6)
- 添加了选项
- PostgreSQL 7.3
- 添加(提交 7ef56347)
示例
检索正常的 配置参数
postgres=# SELECT current_setting('port'); current_setting ----------------- 5432 (1 row)
尝试检索不存在的配置参数
postgres=# SELECT current_setting('foo'); ERROR: unrecognized configuration parameter "foo"
安全地尝试检索可能不存在的配置参数(PostgreSQL 9.6 及更高版本)
postgres=# SELECT current_setting('foo', true); current_setting ----------------- (1 row)
显示当前用户是否为超级用户
postgres=# SELECT current_setting('is_superuser'); current_setting ----------------- on (1 row)
参考文献
- PostgreSQL 文档: 配置设置函数