Обсуждение: non-owner superuser needs to be able to vacuum

Поиск
Список
Период
Сортировка

non-owner superuser needs to be able to vacuum

От
"Gauthier, Dave"
Дата:

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!

Re: non-owner superuser needs to be able to vacuum

От
Tom Lane
Дата:
"Gauthier, Dave" <dave.gauthier@intel.com> writes:
> A superuser cannot vacuum tables.  The error message is "WARNING:  skipping "thetable"  --- only table or database
ownercan 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