使用 SELECT 语句查询自定义 postgresql 参数

Posted

技术标签:

【中文标题】使用 SELECT 语句查询自定义 postgresql 参数【英文标题】:Querying a custom postgresql parameter with SELECT statement 【发布时间】:2012-12-20 04:50:16 【问题描述】:

在另一个 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';

不返回任何行。是否有其他表/视图可以使用 SELECT 语句查询我的自定义参数?

【问题讨论】:

【参考方案1】:

使用函数current_setting()

SELECT current_setting('abc.my_var');

http://www.postgresql.org/docs/current/static/functions-admin.html#FUNCTIONS-ADMIN-SET

【讨论】:

以上是关于使用 SELECT 语句查询自定义 postgresql 参数的主要内容,如果未能解决你的问题,请参考以下文章

在 SELECT 语句中使用自定义函数时,为啥我的 SQL 查询的输出显示不正确?

在子查询的FROM中使用Postgres窗口语句

优化 Postgres 中的 case/decode 查询

mysql查询语句中自定义变量(转)

尽管函数定义中有 RETURN 语句,但 Postgres 查询没有结果数据的目的地

使用 OR 语句时 Postgres SQL 很慢