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