On 15.08.2007 21:30, Medi Montaseri wrote:
I am looking for some suggestions to optimize the following problem/solution. Given two nodes A and B (two computers) in a active-passive mode where A is running PG engine, and B is simply standing by, and a common storage (twin tailed) ( or from pg_ctl point of view -D /common/data ), I am looking for a faster solution during the takeover where A has crashed and B is to start PG engine and run with it. My current solution is to start PG engine which should take little time to study the configuration files and /common/data and fork a few childrens. But I am still interested in optimizing this start-up cost. For example, would I gain anything by starting PG engine on both A and B, but on B I point it to /common/dummy and during the takeover, I somehow tell it to now read from /common/data, for example have two postmaster.conf or PGDATA and then use pg_ctl reload.
Starting up PostgreSQL should be very fast, given no recovery to be done and decent hardware.
PostgreSQL does not fork a lot unless it is accepting new connections and if reading a config file is slow on your system, something else is broken.
In a active/passive setup your should be able to switch over in under 3 seconds. If there was a lot of load on the failed node the recovery times on the new active node increase. The only thing you can do about that is getting faster disks..
-- Regards, Hannes Dorbath ---------------------------(end of broadcast)--------------------------- TIP 2: Don't 'kill -9' the postmaster