On 4/27/22 7:51 AM, Dives, Chloe wrote:
> I am doing a test run of upgrading a postgresql instance from v11 to v13
> and am hitting the following error:
>
> *pg_restore: while PROCESSING TOC:*
>
> *pg_restore: from TOC entry 13902; 0 0 ACL FUNCTION
> "bt_index_check"("index" "regclass") rolename1*
>
> *pg_restore: error: could not execute query: ERROR: role "16416" does
> not exist*
>
How are you doing the upgrade, using pg_upgrade or pg_dump/pg_restore?
If pg_dump then what version did you use to do the dump 11 or 13.
If you are restoring just a single database did you do pg_dumpall -g to
fetch the globals(roles, etc) from the 11 instance and then use psql to
restore those to the 13 instance?
>
> This role does not appear to exist in the database, and I suspect that
> id belonged to one of the dbadmin team who has recently left. I was also
> hitting this same error for pg_buffercache_pages() as well. They are
> both c functions stored in libdir.
>
> Can anyone point me towards where pg_dump is getting these outdated
> permissions from please?
>
> Thanks!
--
Adrian Klaver
adrian.klaver@aklaver.com