Re: fix and document CLUSTER privileges

Поиск
Список
Период
Сортировка
От Nathan Bossart
Тема Re: fix and document CLUSTER privileges
Дата
Msg-id 20221208041313.GA216874@nathanxps13
обсуждение исходный текст
Ответ на Re: fix and document CLUSTER privileges  (Justin Pryzby <pryzby@telsasoft.com>)
Ответы Re: fix and document CLUSTER privileges  (Andrew Dunstan <andrew@dunslane.net>)
Список pgsql-hackers
On Wed, Dec 07, 2022 at 08:25:59PM -0600, Justin Pryzby wrote:
> Your patch makes it inconsistent with vacuum full, which is strange
> because vacuum full calls cluster.
> 
> postgres=> VACUUM FULL t;
> VACUUM
> postgres=> CLUSTER t;
> ERROR:  must be owner of table t

This is the existing behavior on HEAD.  I think it has been this way for a
while.  Granted, that doesn't mean it's ideal, but AFAICT it's intentional.

Looking closer, the database ownership check in
get_tables_to_cluster_partitioned() appears to have no meaningful effect.
In this code path, cluster_rel() will always be called with CLUOPT_RECHECK,
and that function only checks for table ownership.  Anything gathered in
get_tables_to_cluster_partitioned() that the user doesn't own will be
skipped.  So, I don't think my patch changes the behavior in any meaningful
way, but I still think it's worthwhile to make the checks consistent.

-- 
Nathan Bossart
Amazon Web Services: https://aws.amazon.com



В списке pgsql-hackers по дате отправления:

Предыдущее
От: Andres Freund
Дата:
Сообщение: Re: allow segment size to be set to < 1GiB
Следующее
От: Nathan Bossart
Дата:
Сообщение: Re: add \dpS to psql