Re: pg_upgrade --check fails to warn about abstime
Tristan Partin <tristan@neon.tech>
From: "Tristan Partin" <tristan@neon.tech>
To: "Alvaro Herrera" <alvherre@alvh.no-ip.org>
Cc: "Pg Hackers" <pgsql-hackers@lists.postgresql.org>
Date: 2023-09-20T18:13:03Z
Lists: pgsql-hackers
On Wed Sep 20, 2023 at 12:58 PM CDT, Alvaro Herrera wrote:
> On 2023-Sep-20, Tristan Partin wrote:
>
> > > +/*
> > > + * check_for_removed_data_type_usage
> > > + *
> > > + * similar to the above, but for types that were removed in 12.
> > > + */
> > > +static void
> > > +check_for_removed_data_type_usage(ClusterInfo *cluster, const char *datatype)
> >
> > Seems like you could make this more generic instead of hardcoding version
> > 12, and then you could use it for any future removed types as well.
>
> Yeah, I thought about that, and then closed that with "we can whack it
> around when we need it". At this point I imagine there's very few other
> datatypes we can remove from the core server, if any.
Makes complete sense to me. Patch looks good to me with one comment.
> + pg_fatal("Your installation contains the \"%s\" data type in user tables.\n"
> + "Data type \"%s\" has been removed in PostgreSQL version 12,\n"
> + "so this cluster cannot currently be upgraded. You can drop the\n"
> + "problem columns, or change them to another data type, and restart\n"
> + "the upgrade. A list of the problem columns is in the file:\n"
> + " %s", datatype, datatype, output_path);
I would wrap the second \"%s\" in commas.
> Data type, "abstime", has been...
Maybe also add a "The" to start that sentence to make it less terse. Up
to you.
--
Tristan Partin
Neon (https://neon.tech)
Commits
-
pg_upgrade: check for types removed in pg12
- fb9ddd0fafea 16.1 landed
- 8845d8597d77 15.5 landed
- 26c291a15243 14.10 landed
- d3946c4f622f 13.13 landed
- af9f6cd1ddfa 12.17 landed
- 2e3dc8c14811 17.0 landed