Re: pg_upgrade bug found!

Bruce Momjian <bruce@momjian.us>

From: Bruce Momjian <bruce@momjian.us>
To: Bruce Momjian <bruce@momjian.us>
Cc: Noah Misch <noah@leadboat.com>, RhodiumToad on IRC <andrew@tao11.riddles.org.uk>, Robert Haas <robertmhaas@gmail.com>, Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>, Alvaro Herrera <alvherre@commandprompt.com>, Jeff Davis <pgsql@j-davis.com>, PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2011-04-08T17:35:33Z
Lists: pgsql-hackers
Bruce Momjian wrote:
> New version;  I made some other small adjustments:
> 
> 	-- This script fixes data in pre-PG 9.0.4 and pre-8.4.8
> 	-- servers that was upgraded by pg_upgrade and pg_migrator.
> 	-- Run the script using psql for every database in the cluster
> 	-- except 'template0', e.g.:
> 	--     psql -U postgres -a -f pg_upgrade_fix.sql dbname
> 	-- This must be run from a writable directory.
> 	-- It will not lock any tables but will generate I/O.
> 	--
> 	CREATE TEMPORARY TABLE pg_upgrade_fix AS
> 		SELECT 'VACUUM FREEZE pg_toast.' || c.relname || ';'
> 		FROM 	pg_class c, pg_namespace n 
> 		WHERE 	c.relnamespace = n.oid AND 
> 			n.nspname = 'pg_toast' AND
> 			c.relkind = 't'
> 		ORDER by c.oid;
> 	\copy pg_upgrade_fix TO 'pg_upgrade_tmp.sql';
> 	\i pg_upgrade_tmp.sql

OK, now that I have committed the fixes to git, I think it is time to
consider how we are going to handle this fix for people who have already
used pg_upgrade, or are using it in currently released versions.

I am thinking an announce list email with this query would be enough,
and state that we are planning a minor release with this fix in the
next few weeks.  I can provide details on the cause and behavior of the
bug.

-- 
  Bruce Momjian  <bruce@momjian.us>        http://momjian.us
  EnterpriseDB                             http://enterprisedb.com

  + It's impossible for everything to be true. +