postgres 参数生效

来源:互联网 发布:富阳司法拍卖淘宝网 编辑:程序博客网 时间:2024/04/29 13:37

postgres 的参数分为四类
1. internal
编译时确定,不能修改,如 block_size
2. 系统级
修改配置文件,需要重启才能生效如 max_connections
3. 全局级
会话中设置,所有会话都会立即生效
4. 会话级
会话中设置,只在当前会话生效


  1. internal 级的参数是不能修改的
  2. 全局级只能修改配置文件,重启系统
  3. 系统级使用 ALTERT SYSTEM 设置后会修改配置文件,此时向主进程发送 sighup 信号,主进程在 reaper 中将 sighup 再发送给各个子进程,在各个子进程的信号处理函数中将 got_SIGHUP = true,
    同时在其主流程中有如下判断:
        if (got_SIGHUP)        {            got_SIGHUP = false;            ProcessConfigFile(PGC_SIGHUP);            ...        }

经过 ProcessConfigFile, 各个进程重新 load configure 文件,使参数生效

会话级参数,在set 之后,直接修改其进程的参数值就立即生效了。

0 0