BUG #18376: pg_upgrade fails trying to restore privileges on retired function pg_start_backup and pg_stop_backup

Started by PG Bug reporting formabout 2 years ago2 messagesbugs
Jump to latest
#1PG Bug reporting form
noreply@postgresql.org

The following bug has been logged on the website:

Bug reference: 18376
Logged by: Marc Rechté
Email address: mrechte@gmail.com
PostgreSQL version: 16.2
Operating system: RHEL 8 (clone)
Description:

We got a pg_upgrade failure when upgrading from a PG14 to a PG16 instance:

pg_restore: de l'entrée TOC 3279 ; 0 0 ACL FUNCTION
"pg_start_backup"("label" "text", "fast" boolean, "exclusive" boolean)
postgres
pg_restore: erreur : could not execute query: ERROR: function
pg_catalog.pg_start_backup(text, boolean, boolean) does not exist
La commande était : GRANT ALL ON FUNCTION
"pg_catalog"."pg_start_backup"("label" "text", "fast" boolean, "exclusive"
boolean) TO "barman";

Those functions being dropped in PG15, one should not try to restore
privileges on them.

#2Michael Paquier
michael@paquier.xyz
In reply to: PG Bug reporting form (#1)
Re: BUG #18376: pg_upgrade fails trying to restore privileges on retired function pg_start_backup and pg_stop_backup

On Mon, Mar 04, 2024 at 09:56:35AM +0000, PG Bug reporting form wrote:

Those functions being dropped in PG15, one should not try to restore
privileges on them.

This is a known issue, and it is much larger than just ACLs on
functions, because we need to take care of much more object types.
Another area is catalog attribute renames, for example. See this
thread:
/messages/by-id/f85991ad-bbd4-ad57-fde4-e12f0661dbf0@postgrespro.ru

A patch has been proposed there, but I don't think we were much happy
about the fact to plug in this knowledge directly to pg_upgrade,
because at some extent this also impacts logical dumps taken from
older versions, and even logical replication setups.
--
Michael