Thread

  1. BUG #16738: Migration from 12th to 13th version. pg_upgrade error (relation "pg_catalog.pg_pltemplate")

    PG Bug reporting form <noreply@postgresql.org> — 2020-11-21T13:09:47Z

    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";
    "
    
    
  2. Re: BUG #16738: Migration from 12th to 13th version. pg_upgrade error (relation "pg_catalog.pg_pltemplate")

    Victor Yegorov <vyegorov@gmail.com> — 2020-11-21T13:59:24Z

    сб, 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