Re: Upgrading rant.
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Oliver Elphick <olly@lfix.co.uk>
Cc: Bruce Momjian <pgman@candle.pha.pa.us>, Hannu Krosing <hannu@tm.ee>, mlw <pgsql@mohawksoft.com>, Lamar Owen <lamar.owen@wgcr.org>, pgsql-hackers@postgresql.org
Date: 2003-01-04T15:53:41Z
Lists: pgsql-hackers
Oliver Elphick <olly@lfix.co.uk> writes: > On Sat, 2003-01-04 at 02:17, Tom Lane wrote: >> There isn't any simple way to lock *everyone* out of the DB and still >> allow pg_upgrade to connect via the postmaster, and even if there were, >> the DBA could too easily forget to do it. > I tackled this issue in the Debian upgrade scripts. > I close the running postmaster and open a new postmaster using a > different port, so that normal connection attempts will fail because > there is no postmaster running on the normal port. That's a good kluge, but still a kluge: it doesn't completely guarantee that no one else connects while pg_upgrade is trying to do its thing. I am also concerned about the consequences of automatic background activities. Even the periodic auto-CHECKPOINT done by current code is not obviously safe to run behind pg_upgrade's back (it does make WAL entries). And the auto-VACUUM that we are currently thinking of is even less obviously safe. I think that someday, running pg_upgrade standalone will become *necessary*, not just a good safety feature. regards, tom lane