Thread: PostgreSQL upgrade from 10 to 12 fails with "ERROR: column r.relhasoids does not exist at character 1616"
PostgreSQL upgrade from 10 to 12 fails with "ERROR: column r.relhasoids does not exist at character 1616"
From
Arne Henrik Segtnan
Date:
Hi,
When trying to upgrade from PostgreSQL 10 to 12, the installation fails as shown below.
# pg_upgradecluster --link --method=upgrade 10 main /dbdata/zabbix
From PosgreSQL log:
2021-05-04 13:06:04.780 CEST [12861] LOG: database system is ready to accept connections
done
server started
.
.
2021-05-04 13:06:05.614 CEST [12890] postgres@zabbix_db ERROR: column r.relhasoids does not exist at character 1616
2021-05-04 13:06:05.614 CEST [12890] postgres@zabbix_db STATEMENT:
-- For binary upgrade, must preserve pg_type oid
SELECT pg_catalog.binary_upgrade_set_next_pg_type_oid('162222'::pg_catalog.oid);
-- For binary upgrade, must preserve pg_type array oid
SELECT pg_catalog.binary_upgrade_set_next_array_pg_type_oid('162221'::pg_catalog.oid);
-- For binary upgrade, must preserve pg_class oids
SELECT pg_catalog.binary_upgrade_set_next_heap_pg_class_oid('162220'::pg_catalog.oid);
CREATE VIEW "repack"."tables" AS
SELECT ("r"."oid")::"regclass" AS "relname",
"r"."oid" AS "relid",
"r"."reltoastrelid",
CASE
.
.
.
command: "/usr/lib/postgresql/12/bin/pg_ctl" -w -D "/etc/postgresql/12/main" -o "" -m fast stop >> "pg_upgrade_server.log" 2>&1
2021-05-04 13:06:05.641 CEST [12861] LOG: received fast shutdown request
2021-05-04 13:06:05.641 CEST [12861] LOG: aborting any active transactions
waiting for server to shut down....2021-05-04 13:06:05.644 CEST [12861] LOG: background worker "logical replication launcher" (PID 12867) exited with exit code 1
2021-05-04 13:06:05.645 CEST [12863] LOG: shutting down
2021-05-04 13:06:05.657 CEST [12861] LOG: database system is shut down
done
server stopped
- Other upgrade methods (clone/dump) fails with the same errors.
OS info:
NAME="Ubuntu"
VERSION="20.04.2 LTS (Focal Fossa)"
Linux <server> 5.4.0-72-generic #80-Ubuntu SMP x86_64 x86_64 x86_64 GNU/Linux
Anyone seen similar issue?
Please advise.
Best regards,
Arne Segtnan
Re: PostgreSQL upgrade from 10 to 12 fails with "ERROR: column r.relhasoids does not exist at character 1616"
From
Bruce Momjian
Date:
On Tue, May 4, 2021 at 06:29:17PM +0200, Arne Henrik Segtnan wrote: > Hi, > > When trying to upgrade from PostgreSQL 10 to 12, the installation fails as > shown below. > > # pg_upgradecluster --link --method=upgrade 10 main /dbdata/zabbix > > > From PosgreSQL log: > 2021-05-04 13:06:04.780 CEST [12861] LOG: database system is ready to accept > connections > done > server started > . > . > 2021-05-04 13:06:05.614 CEST [12890] postgres@zabbix_db ERROR: column > r.relhasoids does not exist at character 1616 pg_class.relhasoids was removed in PG 12. > - Other upgrade methods (clone/dump) fails with the same errors. OK, so the problem is really pg_dump. > Anyone seen similar issue? Nope, something very odd going on here. -- Bruce Momjian <bruce@momjian.us> https://momjian.us EDB https://enterprisedb.com If only the physical world exists, free will is an illusion.
Re: PostgreSQL upgrade from 10 to 12 fails with "ERROR: column r.relhasoids does not exist at character 1616"
From
Magnus Hagander
Date:
On Tue, May 4, 2021 at 6:38 PM Bruce Momjian <bruce@momjian.us> wrote: > > On Tue, May 4, 2021 at 06:29:17PM +0200, Arne Henrik Segtnan wrote: > > Hi, > > > > When trying to upgrade from PostgreSQL 10 to 12, the installation fails as > > shown below. > > > > # pg_upgradecluster --link --method=upgrade 10 main /dbdata/zabbix > > > > > > From PosgreSQL log: > > 2021-05-04 13:06:04.780 CEST [12861] LOG: database system is ready to accept > > connections > > done > > server started > > . > > . > > 2021-05-04 13:06:05.614 CEST [12890] postgres@zabbix_db ERROR: column > > r.relhasoids does not exist at character 1616 > > pg_class.relhasoids was removed in PG 12. > > > - Other upgrade methods (clone/dump) fails with the same errors. > > OK, so the problem is really pg_dump. > > > Anyone seen similar issue? > > Nope, something very odd going on here. Do you by any chance have more than one version of PostgreSQL running at the same time for different clusters? It kind of sounds like it's picking up the wrong version at some point. -- Magnus Hagander Me: https://www.hagander.net/ Work: https://www.redpill-linpro.com/
Re: PostgreSQL upgrade from 10 to 12 fails with "ERROR: column r.relhasoids does not exist at character 1616"
From
Tom Lane
Date:
Arne Henrik Segtnan <arne@basis-consulting.com> writes: > When trying to upgrade from PostgreSQL 10 to 12, the installation fails as shown below. > 2021-05-04 13:06:05.614 CEST [12890] postgres@zabbix_db ERROR: column r.relhasoids does not exist at character 1616 > 2021-05-04 13:06:05.614 CEST [12890] postgres@zabbix_db STATEMENT: > -- For binary upgrade, must preserve pg_type oid > SELECT pg_catalog.binary_upgrade_set_next_pg_type_oid('162222'::pg_catalog.oid); > -- For binary upgrade, must preserve pg_type array oid > SELECT pg_catalog.binary_upgrade_set_next_array_pg_type_oid('162221'::pg_catalog.oid); > -- For binary upgrade, must preserve pg_class oids > SELECT pg_catalog.binary_upgrade_set_next_heap_pg_class_oid('162220'::pg_catalog.oid); > CREATE VIEW "repack"."tables" AS > SELECT ("r"."oid")::"regclass" AS "relname", > "r"."oid" AS "relid", > "r"."reltoastrelid", > CASE > . > . > . You didn't show us the rest of the command, but it looks like this view contains a reference to pg_class.relhasoids. As Bruce noted, that column no longer exists, so you're not going to be able to transparently upgrade this view. I don't know what this view is from, though the schema name "repack" is suggestive. Possibly you could drop whatever it's a part of, and then reinstall an updated version after upgrading? regards, tom lane