I am using binary replication for Postgres.
Is it true that the max_connections has to be the SAME for both the master and slave in postgresql.conf?
Can they be different?
postgresql
I am using binary replication for Postgres.
Is it true that the max_connections has to be the SAME for both the master and slave in postgresql.conf?
Can they be different?
Best Answer
The documentation has something to say about it [emphasis mine - ed.]:
There are a number of reasons to try to keep your hardware and configuration as close to identical as possible. So I think a strict reading of your question is no. But there are good reasons to keep it the same.
The big reasons have to do with two things: base backups and fail over. If you are taking base backups from the slave then the base backup also includes the configuration. If you later restore it on the master, then you have configuration changes taking place solely because you restored a backup. In a disaster recovery situation, the last thing you want is to be trying to track down "what changed when we restored the backup?!"
The second thing is that this applies in more or less the same way when failing over. Because failing back is still a bit of a pain, you need to be assuming your slave can handle the master's load for a bit of time while you set things up. Keeping the configuration the same is a good way to avoid unpleasant surprises there.