Removing max_connection requirement on hot_standby

From: Chris Winslett <chris(at)compose(dot)io>
To: pgsql-hackers(at)postgresql(dot)org
Subject: Removing max_connection requirement on hot_standby
Date: 2015-09-30 01:31:25
Message-ID: CALfAUrhWwqojnzqCfg-Rxt3E2UL3KMR_DyW0oiF_S21+Xpw6Pw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

I'm orchestrating Postgres to behave as a leader-follower cluster. I've run
into issues when I am scaling down a connection count for a cluster
(scaling up is fine -- scaling down results in fatal errors). I use an
open source tool I've written to orchestrate the cluster called Governor (
http://github.com/compose/governor). It would work if I weren't running
hot_standby, but alas…I'm running with it.

I found the code which throws the fatal is actually a pre-flight test for
hot_standby written in 2009 (i.e. battle tested):

https://github.com/postgres/postgres/blob/efc16ea520679d713d98a2c7bf1453c4ff7b91ec/src/backend/access/transam/xlog.c#L5312-L5321

I've tested changing this value from a FATAL to a WARN. I've compiled and
tested my scenario and all appears to be correct:

https://github.com/compose/postgres/commit/2bdf6b36821987aadb401e1b8590ecc5b02126d8

In researching these lines of code, it appears the original FATAL code was
put in place to ensure that a hot_standby is as close as possibly
configured the same as the leader.

This change will also allow backups taken using `pg_basebackup` to work
with settings that different from the original host.

Am I missing something with this change?

Cheers,
Chris

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Robert Haas 2015-09-30 01:35:17 Re: Parallel Seq Scan
Previous Message Joshua D. Drake 2015-09-30 01:24:22 Re: No Issue Tracker - Say it Ain't So!