pg_upgrade from PG-14.5 to PG-15.1 failing due to non-existing function
Dimos Stamatakis <dimos.stamatakis@servicenow.com>
From: Dimos Stamatakis <dimos.stamatakis@servicenow.com>
To: "pgsql-hackers@lists.postgresql.org" <pgsql-hackers@lists.postgresql.org>
Date: 2023-01-25T18:38:55Z
Lists: pgsql-hackers
Hi hackers,
I attempted to perform an upgrade from PG-14.5 to PG-15.1 with pg_upgrade and unfortunately it errors out because of a function that does not exist anymore in PG-15.1.
The function is ‘pg_catalog.close_lb’ and it exists in 14.5 but not in 15.1.
In our scenario we changed the permissions of this function in PG14.5 (via an automated tool) and then pg_upgrade tries to change the permissions in PG15.1 as well.
Steps to reproduce:
1. Run initdb for 14.5
2. Run initdb for 15.1
3. Run psql client on 14.5
* postgres=# REVOKE ALL ON FUNCTION close_lb(line, box) FROM $USER;
4. Run pg_upgrade from 14.5 to 15.1
This will error out because pg_upgrade will attempt to REVOKE the persmissions on close_lb on 15.1.
Is there a way to specify which functions/objects to exclude in pg_upgrade?
Thanks in advance!
Dimos
(ServiceNow)