non-owner superuser needs to be able to vacuum

Started by Gauthier, Davealmost 17 years ago2 messagesgeneral
Jump to latest
#1Gauthier, Dave
dave.gauthier@intel.com

Hi:

A superuser cannot vacuum tables. The error message is "WARNING: skipping "thetable" --- only table or database owner can vacuum it"

The superuser was defined like this...

create role cover_super SUPERUSER LOGIN;
grant all on database cover to cover_super;
grant all privileges on map_src_info to cover_super;
grant all privileges on insts to cover_super;
grant all privileges on temp_pins to cover_super;

The error message seems to indicate that defining a superuser which is not the table owner to vacuum is futile ("only table or database owner can...").

Is there a way to vacuum with a non table owner ?

Thanks for any help!

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: Gauthier, Dave (#1)
Re: non-owner superuser needs to be able to vacuum

"Gauthier, Dave" <dave.gauthier@intel.com> writes:

A superuser cannot vacuum tables. The error message is "WARNING: skipping "thetable" --- only table or database owner can vacuum it"

Are you *certain* the active role is really a superuser? I'd say that
that message is sufficient proof that it isn't.

The superuser was defined like this...

create role cover_super SUPERUSER LOGIN;
grant all on database cover to cover_super;
grant all privileges on map_src_info to cover_super;
grant all privileges on insts to cover_super;
grant all privileges on temp_pins to cover_super;

Granting privileges to a superuser is 100% pointless...

I wonder whether you are supposing that the superuser property can be
inherited by some other role via role membership grant. It doesn't work
that way. You must actually be cover_super here to be superuser.

regards, tom lane