Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PostgreSQL 9.5-更改为max_连接对从属服务器不可见_Postgresql_Postgresql 9.5 - Fatal编程技术网

PostgreSQL 9.5-更改为max_连接对从属服务器不可见

PostgreSQL 9.5-更改为max_连接对从属服务器不可见,postgresql,postgresql-9.5,Postgresql,Postgresql 9.5,我在主服务器上添加了一个pgbouncer进程,因此我想将连接数从1500个减少到100个左右,以释放主服务器上的资源,但当我在主服务器和从服务器上都更改它时,从服务器看不到新设置: 2020-01-29 14:59:19 dbr5 postgres[47563]: [4-1] 2020-01-29 14:59:19 EST [47563]: [4-1] user=,db=,app=,client= FATAL: hot standby is not possible because max_

我在主服务器上添加了一个pgbouncer进程,因此我想将连接数从1500个减少到100个左右,以释放主服务器上的资源,但当我在主服务器和从服务器上都更改它时,从服务器看不到新设置:

2020-01-29 14:59:19 dbr5 postgres[47563]: [4-1] 2020-01-29 14:59:19 EST [47563]: [4-1] user=,db=,app=,client= FATAL:  hot standby is not possible because max_connections = 100 is a lower setting than on the master server (its value was 1500)
这是在更改主控形状之后:

master=# show max_connections;
 max_connections
-----------------
 100
(1 row)

有什么线索表明从属服务器没有采用新设置吗?

全局设置的配置参数永远不会被复制。它们可以设置

  • postgresql.conf

  • 使用
    ALTER系统

  • 启动服务器进程时使用命令行选项

最后一个选项显然无法复制,前两个选项使用的配置文件也没有复制

这是一个特性:在某些情况下,您可能希望配置参数有所不同(尽管这通常不值得推荐)


您必须更改备用服务器上的参数。

从属服务器需要知道主服务器的
max\u connections
设置才能执行此检查,因此主服务器通过WAL条目通知从属服务器更改

但是,如果从属设备当前的
max_connections
设置与主设备上上次已知的设置不兼容,则从属设备不会读取任何WA条目


您应该首先重新配置主设备,给相应的WAL条目一个复制的机会,然后重新配置从设备。

在从设备上输入
hot\u standby=off
,用新的较低的连接号重新启动主设备,然后,在确认从机已收到更改后,通过查看日志中的
致命:数据库系统正在启动
日志条目,然后将其切换回
打开
工作。系统现在有了新的连接下限。

在从机上输入
hot\u standby=off
,重新启动主机,然后将其切换回工作状态。谢谢