你如何查看PostgreSQL数据库的配置设置?

5
我正在运行PostgreSQL 10.2,并尝试了解有关日志记录的信息。我已经阅读到可以按照此文档为单个数据库设置配置:https://www.postgresql.org/docs/10/manage-ag-config.html。但是,当我对数据库进行配置更改后,如何检查/查看当前的设置呢?我似乎找不到相关文档。谢谢!
1个回答

14

所有的设置都通过pg_settings公开。

因此您可以查询它:

select *
from pg_settings
where name like '%log%';
如果您更改特定数据库的设置,则该值将显示在 pg_settings 中。 source 列的值“数据库”将指示配置值是在数据库级别上设置的。 值“用户”将表明它是在当前用户级别上设置的。 这的简短版本是show
show log_destination;

或者您可以使用current_setting()

例如,logfile的设置可能包含占位符,您可以通过函数pg_current_logfile()查询活动值

许多配置设置可以在线更改,但您需要通过重新加载配置来“激活”它们,使用pg_reload_conf()

请注意,一些设置仅对超级用户可见。


我认为“pg_settings”表中的记录与“postgresql.conf”文件中找到的整个PostgreSQL服务器设置有关。您知道如何查看为单个数据库设置的配置设置吗?谢谢。 - Hoonerbean
是的,这仍然显示在 pg_settings 中。source 列将指示值设置的位置。 - user330315
啊,我明白了。当我查询 pg_settings 时,它会显示该数据库的配置设置,而 source 列告诉我数据库从哪里获取这些设置。明白了,谢谢! - Hoonerbean
1
我应该先执行\c mydatabase,谢谢! - WangYudong
我在重新连接到数据库之前无法看到pg_settings中的更改,感谢@WangYudong。这是为什么呢?我们能否在不重新连接的情况下更新参数? - Deepam Goel

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接