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

如何无需登录目标库,通过视图查看PostgreSQL指定库的work_mem配置值?

无需登录目标数据库查看PostgreSQL数据库级work_mem设置

你可以通过pg_db_role_setting系统视图来查询指定数据库的自定义参数配置,无需登录到目标库。这个视图存储了数据库和角色级别的参数覆盖设置。

方法1:直接使用函数查询

PostgreSQL提供了pg_get_database_setting()函数,可以直接获取指定数据库的某个参数值,用法如下:

SELECT pg_get_database_setting('test', 'work_mem');

执行这条语句后会直接返回test数据库的work_mem设置值(比如128MB)。

方法2:通过系统视图关联查询

如果需要查看该数据库的所有自定义参数,或者更灵活地过滤,可以关联pg_database和pg_db_role_setting视图:

SELECT
    d.datname,
    unnest(rs.setting) AS config_item
FROM
    pg_db_role_setting rs
JOIN
    pg_database d ON rs.setdatabase = d.oid
WHERE
    d.datname = 'test'
    AND unnest(rs.setting) LIKE 'work_mem=%';

这条语句会列出test数据库中所有和work_mem相关的配置项(通常只有你设置的那一条)。

注意事项

  • 执行查询的用户需要具备足够的权限,比如拥有pg_read_all_settings角色,或者被授予了查询这些系统视图的权限。
  • 如果该数据库没有自定义的work_mem设置,上述查询会返回空结果,此时参数使用系统级的默认值。

内容的提问来源于stack exchange,提问作者Rajat Sanwal

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 19:32:09