更改 `wal_keep_segments` 是否需要重新启动?

Mid*_*ire 4 postgresql postgresql-9.3

我有需要wal_keep_segments在我们的主服务器上增加。我可以即时执行此操作还是需要重新启动?

3ma*_*uek 9

要检查变量的上下文,您可以执行以下查询:

SELECT name, context FROM pg_settings WHERE name = '<variable name';
Run Code Online (Sandbox Code Playgroud)

在 的情况下wal_keep_segments,上下文是sighup这意味着只需要重新加载服务器。您可以pg_ctl reload从 shell 提示符或select pg_reload_conf()从 psql 或数据库客户端使用。

在最新版本中,有 7 种类型的上下文。internal上下文意味着只能在编译时修改,postmaster意味着需要重新启动服务,其他的更多的是会话/后端特定的。