查询所有 Postgres 配置参数的当前值?

Bas*_*que 5 postgresql query configuration

您可以通过手动编辑文件或调用命令来为 Postgres设置各种配置参数。这是编写设置的两种途径,但是阅读呢?postgresql.confALTER SYSTEM

? 有没有办法查询所有当前设置?

我知道客户端身份验证配置文件中的设置pg_hba.conf可以通过读取pg_hba_file_rules来看,是这样的:table pg_hba_file_rules ;。有类似的东西postgresql.conf吗?

Bas*_*que 11

SHOW ALL

SHOW ALL命令在 3 列中显示运行时参数的当前设置。

SHOW ALL ;
Run Code Online (Sandbox Code Playgroud)

pgAdmin 4 运行 <code>SHOW ALL</code> 命令的屏幕截图

pg_settings

pg_settings视图显示SHOW ALL与 17 列和 3 列相同的项目,但包含更多详细信息。

TABLE pg_settings ;
Run Code Online (Sandbox Code Playgroud)

运行 <code>TABLE pg_settings</code> 的 pgAdmin 4 屏幕截图

pg_file_settings

要读取postgresql.conf文件本身中存储的内容,请使用视图pg_file_settings

如果刚刚写入,此文件将保存在 Postgres 服务器中可能尚未生效的值。写入后,必须以多种方式之一加载设置,包括重新启动服务器。

TABLE pg_file_settings ;
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

管理工具

您的数据库管理工具可能会显示这些设置。

例如,在pgAdmin 4 中,在导航面板中选择集群名称(Postgres 安装),单击Dashboard选项卡,然后在标题为 的列表底部面板中Server activity,单击Configuration选项卡以查看您的设置列表。

pgAdmin 4 > [集群名称] > 仪表板 > 服务器活动 > 配置的屏幕截图

写作

顺便说一句……有关使用命令编写这些设置的信息ALTER SYSTEM,请参阅对另一个问题的回答如何postgresql.conf使用 pgAdmin 4进行编辑?.