在另一个
question中,有人询问如何使用SELECT查询查询postgresql运行时参数(例如SHOW search_path;).在答案中,有人建议使用
SELECT * FROM pg_settings WHERE name = 'search_path';
这很好用,但如何在扩展中定义自定义参数呢? (参见关于Customized Options的文档).
例:
SET abc.my_var = 1; SHOW abc.my_var;
1
但
SELECT * FROM pg_settings WHERE name = 'abc.my_var';
使用函数current_setting()
SELECT current_setting('abc.my_var');
http://www.postgresql.org/docs/current/static/functions-admin.html#FUNCTIONS-ADMIN-SET