我在生产中有一个9.5Version9.5PostgreSQL数据库,它的流量是恒定的。我需要在pg_hba.conf文件中更改一个值。我已经在测试服务器上确认,这可以通过重新加载postgresql服务来实现。
我在其他帖子和网站上读到,调用pg_ctl reload不会导致postgresql中的实时连接中断。例如https://dba.stackexchange.com/questions/41517/is-it-safe-to-call-pg-ctl-reload-while-doing-heavy-writes
但是,我正在试图找到具体的文档,即调用pg_ctl reload或service postgresql-9.5 reload不会中断或影响对数据库的任何打开事务或正在进行的查询。
发布于 2017-01-06 06:09:52
这里是对的,从马嘴里
重新加载模式只是向postgres进程发送一个SIGHUP信号,导致它重新读取其配置文件(postgresql.conf、pg_hba.conf等)。这允许更改不需要完全重新启动才能生效的配置文件选项。
包括Apache、NGINX等在内的许多其他服务器都使用此信号重新读取配置文件,而不删除打开的连接。
如果您不相信,请在打开psql客户端或pgadmin或whaterver之后尝试这样做。
START TRANSACTION;
/* open the console and do /etc/init.d/postgrsql reload or equivalent for your system */
INSERT INTO my_table(id,name) value(1,'1');
COMMIT;如果客户端已断开连接,将通知您。
https://stackoverflow.com/questions/41499918
复制相似问题