Re: BUG #15896: pg_upgrade from 10-or-earlier: TRAP: FailedAssertion(»!(metad->btm_version >= 3)«

Bernd Helmle <mailings@oopsware.de>

From: Bernd Helmle <mailings@oopsware.de>
To: myon@debian.org, pgsql-bugs@lists.postgresql.org
Date: 2019-07-05T12:51:01Z
Lists: pgsql-bugs
Am Freitag, den 05.07.2019, 09:59 +0000 schrieb PG Bug reporting form:
> 12beta2:
> SELECT * FROM phone ORDER BY name;
> TRAP: FailedAssertion(»!(metad->btm_version >= 3)«, Datei:
> »/build/postgresql-12-3URvLF/postgresql-12-
> 12~beta2/build/../src/backend/access/nbtree/nbtpage.c«,
> Zeile: 665)
> 2019-07-05 11:34:35.040 CEST [14325] LOG:  Serverprozess (PID 14376)
> wurde
> von Signal 6 beendet: Abgebrochen
> 2019-07-05 11:34:35.040 CEST [14325] DETAIL:  Der fehlgeschlagene
> Prozess
> führte aus: SELECT * FROM phone ORDER BY name;

Additional note from me after a short test:

It works if you upgrade to PG11 first _and_ have touched the index in a
way it has rewritten the metapage to version 3, e.g. adding new pages
to the index.

Thanks

	Bernd





Commits

  1. Fix nbtree metapage cache upgrade bug.

  2. Make heap TID a tiebreaker nbtree index column.

  3. Fix handling of non-upgraded B-tree metapages

  4. Skip full index scan during cleanup of B-tree indexes when possible