From: Jacob Champion <pchampion@vmware.com>
To: pryzby@telsasoft.com <pryzby@telsasoft.com>
To: tgl@sss.pgh.pa.us <tgl@sss.pgh.pa.us>
Cc: peter.eisentraut@enterprisedb.com <peter.eisentraut@enterprisedb.com>
Cc: pgsql-hackers@lists.postgresql.org <pgsql-hackers@lists.postgresql.org>
Cc: buschmann@nidsa.net <buschmann@nidsa.net>
Cc: andrew@dunslane.net <andrew@dunslane.net>
Cc: noah@leadboat.com <noah@leadboat.com>
Cc: tomas.vondra@2ndquadrant.com <tomas.vondra@2ndquadrant.com>
Cc: bruce@momjian.us <bruce@momjian.us>
Cc: andres@anarazel.de <andres@anarazel.de>
Subject: Re: pg_upgrade test for binary compatibility of core data types
Date: Fri, 16 Jul 2021 18:02:18 +0000
Message-ID: <a31d593da98da15fc2302a16b3f3b32e491d3e49.camel@vmware.com> (raw)
In-Reply-To: <20210430183348.GQ27406@telsasoft.com>
References: <20201216172222.GS30237@telsasoft.com>
<20201227190729.GB26311@telsasoft.com>
<be693563-def1-2f5a-89c1-f4d3cb2ae716@enterprisedb.com>
<20210112041352.GY1849@telsasoft.com>
<20210112171559.GO4320@momjian.us>
<20210112172753.GC1849@telsasoft.com>
<20210112175356.GP4320@momjian.us>
<66753439-83ae-7be5-6e41-9537a6041a39@dunslane.net>
<d9f14840-9f6e-183d-f43a-9f9b9e1b6d19@enterprisedb.com>
<1575064.1615060903@sss.pgh.pa.us>
<20210430183348.GQ27406@telsasoft.com>
On Fri, 2021-04-30 at 13:33 -0500, Justin Pryzby wrote:
> On Sat, Mar 06, 2021 at 03:01:43PM -0500, Tom Lane wrote:
> > v4-0001 mostly teaches test.sh about specific changes that have to be
> > made to historic versions of the regression database to allow them
> > to be reloaded into current servers. As already discussed, this is
> > really duplicative of knowledge that's been embedded into the buildfarm
> > client over time. It'd be better if we could refactor that so that
> > the buildfarm shares a common database of these actions with test.sh.
> > And said database ought to be in our git tree, so committers could
> > fix problems without having to get Andrew involved every time.
> > I think this could be represented as a psql script, at least in
> > versions that have psql \if (but that came in in v10, so maybe
> > we're there already).
>
> I started this. I don't know if it's compatible with the buildfarm client, but
> I think any issues maybe can be avoided by using "IF EXISTS".
Here are the differences I see on a first pass (without putting too
much thought into how significant the differences are). Buildfarm code
I'm comparing against is at [1].
- Both versions drop @#@ and array_cat_accum, but the buildfarm
additionally replaces them with a new operator and aggregate,
respectively.
- The buildfarm's dropping of table OIDs is probably more resilient,
since it loops over pg_class looking for relhasoids.
- The buildfarm handles (or drops) several contrib databases in
addition to the core regression DB.
- The psql script drops the first_el_agg_any aggregate and a `TRANSFORM
FOR integer`; I don't see any corresponding code in the buildfarm.
- Some version ranges are different between the two. For example,
abstime_/reltime_/tinterval_tbl are dropped by the buildfarm if the old
version is < 9.3, while the psql script drops them for old versions <=
10.
- The buildfarm drops the public.=> operator for much older versions of
Postgres. I assume we don't need that here.
- The buildfarm adjusts pg_proc for the location of regress.so; I see
there's a commented placeholder for this at the end of the psql script
but it's not yet implemented.
As an aside, I think the "fromv10" naming scheme for the "old version
<= 10" condition is unintuitive. If the old version is e.g. 9.6, we're
not upgrading "from 10".
--Jacob
[1] https://github.com/PGBuildFarm/client-code/blob/main/PGBuild/Modules/TestUpgradeXversion.pm
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-bugs@postgresql.org
Cc: pchampion@vmware.com, pryzby@telsasoft.com, tgl@sss.pgh.pa.us, peter.eisentraut@enterprisedb.com, pgsql-hackers@lists.postgresql.org, buschmann@nidsa.net, andrew@dunslane.net, noah@leadboat.com, tomas.vondra@2ndquadrant.com, bruce@momjian.us, andres@anarazel.de
Subject: Re: pg_upgrade test for binary compatibility of core data types
In-Reply-To: <a31d593da98da15fc2302a16b3f3b32e491d3e49.camel@vmware.com>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox