Does changing `wal_keep_segments` require a restart?
For checking the variable's context, you can execute the following query:

SELECT name, context FROM pg_settings WHERE name = '&lt;variable name';


In the case of wal_keep_segments, the context is sighup which means that only requires a server reload. You can use pg_ctl reload from the shell prompt or select pg_reload_conf() from psql or database client.

In the latest version, there are 7 types of context. internal context means that only can be modified at compilation time, postmaster means that a service restart is needed, the others are more session/backend specific.