Re: Error pg_upgrade version 11 to 15

Andrew Dunstan <andrew@dunslane.net>

From: Andrew Dunstan <andrew@dunslane.net>
To: Tom Lane <tgl@sss.pgh.pa.us>, "IVAN HUMANES CABANAS (Fujitsu)" <ivan.humanescabanas@fujitsu.com>
Cc: "pgsql-bugs@postgresql.org" <pgsql-bugs@postgresql.org>
Date: 2025-08-18T19:16:46Z
Lists: pgsql-bugs
On 2025-08-18 Mo 12:10 PM, Tom Lane wrote:
> "IVAN HUMANES CABANAS (Fujitsu)"<ivan.humanescabanas@fujitsu.com> writes:
>> command: "/usr/pgsql-15/bin/pg_restore" --host /var/lib/pgsql/15/data --port 50432 --username postgres --clean --create --exit-on-error --verbose --dbname postgres "/var/lib/pgsql/15/data/pg_upgrade_output.d/20250818T162430.400/dump/pg_upgrade_dump_18344416.custom" >> "/var/lib/pgsql/15/data/pg_upgrade_output.d/20250818T162430.400/log/pg_upgrade_dump_18344416.log" 2>&1
>> pg_restore: connecting to database for restore
>> pg_restore: dropping DATABASE PROPERTIES template1
>> pg_restore: dropping DATABASE template1
>> pg_restore: while PROCESSING TOC:
>> pg_restore: from TOC entry 3677; 1262 18344416 DATABASE template1 postgres
>> pg_restore: error: could not execute query: ERROR:  cannot drop a template database
>> Command was: DROP DATABASE "template1";
> Hm.  The restore should have issued a command to make template1 not be
> a template database before dropping it.  Apparently it did not do so.
> Looking at the code, a plausible theory for that is that template1
> is not marked as a template database in the source cluster.  Did you
> change that, and if so why?  It would have broken more things than
> just pg_upgrade.
>
> 			


Template1 normally has an OID of 1, but this database has an apparent 
OID of 18344416. Maybe this has been the result of a previous upgrade - 
we don't have enough information. I don't think pg_upgrade attempts to 
preserve database OIDs.

cheers

andrew


--
Andrew Dunstan
EDB:https://www.enterprisedb.com