修改postgresql.conf和SIGHUP中的参数

我在我的生产环境中修改postgresql.conf中的参数maintenance_work_mem 。 我想知道如果我发送一个SIGHUP到postgres进程它将重新加载该variables,如果这样的环境是安全的。

从手册:

SIGHUP信号将重新加载服务器configuration文件。 也可以将SIGHUP发送到单个服务器进程,但这通常是不明智的。

所以它应该工作。 一般来说,你可以使用服务初始化的reload命令来触发重载(可能使用或不使用SIGHUP作为机制)。 如果服务不支持这个,initscript应该报告一个错误,所以这是相当安全的尝试。

您也可以使用SQL语句重新加载configuration:

 SELECT pg_reload_conf(); 

您需要超级用户权限。