BUG #16738: Migration from 12th to 13th version. pg_upgrade error (relation "pg_catalog.pg_pltemplate")
The following bug has been logged on the website:
Bug reference: 16738
Logged by: Sergey Zhuravlev
Email address: snzhuravlev@gmail.com
PostgreSQL version: 12.5
Operating system: CentOS Linux release 7.9.2009 (Core)
Description:
Hello.
Checking
$ /usr/pgsql-13/bin/pg_upgrade --old-datadir=/u01/12/data/
--new-datadir=/u01/13/data/ --old-bindir=/usr/pgsql-12/bin
--new-bindir=/usr/pgsql-13/bin --old-options '-c
config_file=/u01/12/data/postgresql.conf' --new-options '-c
config_file=/u01/13/data/postgresql.conf' --check
Performing Consistency Checks on Old Live Server
------------------------------------------------
Checking cluster versions ok
Checking database user is the install user ok
Checking database connection settings ok
Checking for prepared transactions ok
Checking for reg* data types in user tables ok
Checking for contrib/isn with bigint-passing mismatch ok
Checking for presence of required libraries ok
Checking database user is the install user ok
Checking for prepared transactions ok
Checking for new cluster tablespace directories ok
*Clusters are compatible*
---------------------
Link
$ /usr/pgsql-13/bin/pg_upgrade --old-datadir=/u01/12/data/
--new-datadir=/u01/13/data/ --old-bindir=/usr/pgsql-12/bin
--new-bindir=/usr/pgsql-13/bin --old-options '-c
config_file=/u01/12/data/postgresql.conf' --new-options '-c
config_file=/u01/13/data/postgresql.conf' --link
Error
"...
pg_restore: creating ACL "pg_catalog.TABLE "pg_partitioned_table""
pg_restore: creating ACL "pg_catalog.TABLE "pg_pltemplate""
pg_restore: while PROCESSING TOC:
pg_restore: from TOC entry 12691; 0 0 ACL TABLE "pg_pltemplate" postgres
pg_restore: error: could not execute query: ERROR: relation
"pg_catalog.pg_pltemplate" does not exist
Command was: GRANT ALL ON TABLE "pg_catalog"."pg_pltemplate" TO
"dhw_admin";
"
сб, 21 нояб. 2020 г. в 14:48, PG Bug reporting form <noreply@postgresql.org
:
Error
...
pg_restore: creating ACL "pg_catalog.TABLE "pg_partitioned_table""
pg_restore: creating ACL "pg_catalog.TABLE "pg_pltemplate""
pg_restore: while PROCESSING TOC:
pg_restore: from TOC entry 12691; 0 0 ACL TABLE "pg_pltemplate" postgres
pg_restore: error: could not execute query: ERROR: relation
"pg_catalog.pg_pltemplate" does not exist
Command was: GRANT ALL ON TABLE "pg_catalog"."pg_pltemplate" TO
"dhw_admin";
This is not a PostgreSQL issue. You have granted custom permissions to a
catalog table.
There is an attempt to transfer your grant, but in 13 there is no more
pg_pltemplate catalog, thus the error.
You need to revoke this grant on the 12 database before performing
pg_upgrade.
--
Victor Yegorov