You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取PostgreSQL中所有自定义配置选项的列表?

如何获取PostgreSQL中所有自定义配置选项的列表?

嗨,我来帮你搞定这个问题!PostgreSQL确实没有专门的命令直接列出所有自定义配置选项,但我们可以通过查询系统视图pg_settings来实现需求——这是PostgreSQL存储所有配置参数的核心地方。

你提到的这类自定义选项(比如x.x这种带点命名空间的),在PostgreSQL里有个规则:只要参数名称包含至少一个.,就属于用户可自定义的非内置参数范畴,不会和系统原生参数冲突。你可以用下面的查询筛选出所有这类自定义参数:

SELECT name, setting, context, source
FROM pg_settings
WHERE name LIKE '%.%'
-- 可选:过滤掉PostgreSQL官方维护的命名空间参数,比如pg_开头的
AND NOT name LIKE 'pg\_%' ESCAPE '\';

如果你的需求更具体,只想找出当前会话中你手动通过SET命令修改过的自定义参数,那可以加上对source字段的过滤——用户手动设置的参数,其来源会被标记为user:

SELECT name, setting, context
FROM pg_settings
WHERE source = 'user'
AND name LIKE '%.%';

举个实际例子,如果你之前执行过SET x.x = 12;和SET app.debug = 'on';,上面的查询就会返回这两个参数以及它们的当前值,还能看到参数的生效范围(context字段)。

另外补充个小知识点:pg_settings里的context字段会告诉你参数的生效层级(比如session是会话级、user是用户级、postmaster是全局级),source字段能帮你区分参数是来自系统默认、配置文件还是用户手动设置,排查配置问题时特别好用。

备注:内容来源于stack exchange,提问作者kraken

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.15 14:14:49