在postgres中列出由set_config设置的变量

时间:2018-03-30 13:17:00

标签: postgresql set config

我们已将大量Oracle PL / SQL包转换为PostgreSQL PL / pgSQL。我们当时对Postgres了解不多,所以依靠互联网的帮助很多。因为PL / pgSQL缺乏更好的方法"在实现会话级变量时,我们最终使用set_config()函数将PL / SQL包全局变量转换为PostgreSQL配置变量,比我们应该的更多。它们现在遍布整个代码。

有没有办法查询set_config()函数设置的所有变量和变量?

根据他们在事务中的行为来判断,我的假设是它们存储在一些系统生成的(可能是临时的)表中。如果是这样,我想知道它的名字,以及是否可以查询它。

1 个答案:

答案 0 :(得分:0)

set_config()current_stting()函数的值存储在pg_settings系统表中。因此,您可以通过

查询所有设置
SELECT name, setting FROM pg_settings;

此表也包含更多列。使用\d pg_settings获取所有列的列表。