Hi,
A recent case in the field in which a database session_authorization is
altered to a non-superuser, non-owner of tables via alter database .. set session_authorization ..
caused autovacuum to skip tables.
The issue was discovered on 13.10, and the logs show such messages:
warning: skipping "table1" --- only table or database owner can vacuum it
In HEAD, I can repro, but the message is now a bit different due to [1].
WARNING: permission denied to vacuum "table1”, skipping it
It seems to me we should force an autovacuum worker to set the session userid to
a superuser.
Attached is a repro and a patch which sets the session user to the BOOTSTRAP superuser
at the start of the autovac worker.
Thoughts?
Regards,
Sami
Amazon Web Services (AWS)
[1] https://postgr.es/m/20220726.104712.912995710251150228.horikyota.ntt@gmail.com