Improve check for TOAST checks in pre-8.4 pg_upgrade servers - Mailing list pgsql-hackers

From Bruce Momjian
Subject Improve check for TOAST checks in pre-8.4 pg_upgrade servers
Date
Msg-id 201103061136.p26Ba9629185@momjian.us
Whole thread Raw
List pgsql-hackers
I have improved the check and comments for pg_upgrade when testing for
pre-8.4 toast files in the attached applied patch.

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

  + It's impossible for everything to be true. +
diff --git a/contrib/pg_upgrade/info.c b/contrib/pg_upgrade/info.c
index fe060ff..9cd3441 100644
*** a/contrib/pg_upgrade/info.c
--- b/contrib/pg_upgrade/info.c
*************** gen_db_file_maps(DbInfo *old_db, DbInfo
*** 56,66 ****

          /*
           *    In pre-8.4, TOAST table names change during CLUSTER;  in >= 8.4
!          *    TOAST relation names always use the heap tables oid, hence we
           *    cannot check relation names when upgrading from pre-8.4.
           */
!         if (GET_MAJOR_VERSION(old_cluster.major_version) >= 804 &&
!             (strcmp(old_rel->nspname, new_rel->nspname) != 0 ||
               strcmp(old_rel->relname, new_rel->relname) != 0))
              pg_log(PG_FATAL, "Mismatch of relation names: database \"%s\", "
                  "old rel %s.%s, new rel %s.%s\n",
--- 56,66 ----

          /*
           *    In pre-8.4, TOAST table names change during CLUSTER;  in >= 8.4
!          *    TOAST relation names always use heap table oids, hence we
           *    cannot check relation names when upgrading from pre-8.4.
           */
!         if (strcmp(old_rel->nspname, new_rel->nspname) != 0 ||
!             (GET_MAJOR_VERSION(old_cluster.major_version) >= 804 &&
               strcmp(old_rel->relname, new_rel->relname) != 0))
              pg_log(PG_FATAL, "Mismatch of relation names: database \"%s\", "
                  "old rel %s.%s, new rel %s.%s\n",

pgsql-hackers by date:

Previous
From: Simon Riggs
Date:
Subject: Re: Sync Rep v19
Next
From: Bruce Momjian
Date:
Subject: storage format version number for external modules