On Tue, Mar 26, 2013 at 09:43:54PM +0000, Tom Lane wrote:
> Ignore invalid indexes in pg_dump.
> Dumping invalid indexes can cause problems at restore time, for example
> if the reason the index creation failed was because it tried to enforce
> a uniqueness condition not satisfied by the table's data. Also, if the
> index creation is in fact still in progress, it seems reasonable to
> consider it to be an uncommitted DDL change, which pg_dump wouldn't be
> expected to dump anyway.
> Back-patch to all active versions, and teach them to ignore invalid
> indexes in servers back to 8.2, where the concept was introduced.
This commit affects pg_upgrade. You might remember we had to patch
pg_upgrade to prevent it from migrating clusters with invalid indexes in
This was released on February 7, 2013 in 9.2.3 and other back branches:
This git commit means that pg_upgrade can again migrate systems with
invalid indexes as pg_upgrade can just skip migrating them because
pg_dump will dump the SQL commands to create them --- previously
pg_upgrade threw an error.
Should I just patch pg_upgrade to remove the "indisvalid", skip
"indisvalid" indexes, and backpatch it? Users should be using the
version of pg_upgrade to match new pg_dump. Is there any case where
they don't match? Do I still need to check for "indisready"?
Bruce Momjian <bruce(at)momjian(dot)us> http://momjian.us
+ It's impossible for everything to be true. +
In response to
pgsql-hackers by date
|Next:||From: Bruce Momjian||Date: 2013-03-28 21:17:43|
|Subject: Re: pg_upgrade segfaults when given an invalid PGSERVICE
|Previous:||From: Tomas Vondra||Date: 2013-03-28 20:50:35|
|Subject: Re: Call for Google Summer of Code mentors, admins|
pgsql-committers by date
|Next:||From: Tom Lane||Date: 2013-03-28 21:27:28|
|Subject: Re: Ignore invalid indexes in pg_dump.|
|Previous:||From: Robert Haas||Date: 2013-03-28 19:57:58|
|Subject: Re: [COMMITTERS] pgsql: sepgsql: Support for new post-ALTER access hook.|