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文档: 配置设置函数