Re: Add SPLIT PARTITION/MERGE PARTITIONS commands - Mailing list pgsql-hackers

From jian he
Subject Re: Add SPLIT PARTITION/MERGE PARTITIONS commands
Date
Msg-id CACJufxH=O1zR8nMeXcjSiRH6=2qPrD3JgfMapMTeT0D9yam95A@mail.gmail.com
Whole thread Raw
In response to Re: Add SPLIT PARTITION/MERGE PARTITIONS commands  (Dmitry Koval <d.koval@postgrespro.ru>)
Responses Re: Add SPLIT PARTITION/MERGE PARTITIONS commands
List pgsql-hackers
On Mon, May 12, 2025 at 4:31 PM Dmitry Koval <d.koval@postgrespro.ru> wrote:
>
> Hi!
>
> We (with colleagues) discussed further improvements to SPLIT/MERGE
> PARTITION(S). As a result of the discussion, the following answers to
> the questions remained:
>
> 1. Who should be the owner of new partitions (SPLIT PARTITION command)
> if owner of the partition being split is not the same as the current user?
> a) current user (since he is the one who creates new tables);
> b) the owner of the partitioned partition (since it is the owner of the
> table and should continue to own it).

per https://www.postgresql.org/docs/current/sql-altertable.html
"You must own the table to use ALTER TABLE."

That means the current user must own the to be SPLITed partition.
the new partitions owner should be current user (the one who did ALTER TABLE)


> 2. Who should be the owner of the new partition (MERGE PARTITIONS
> command) if the partitions being merged have different owners?
> a) current user (since he is the one who creates new table);
> b) merging of partitions should be forbidden if they have different owners.
>
let say:

alter table whatever_range merge partitions
    ( whatever_range_c, whatever_range_de )
    into whatever_range_cde;

In this case, the current user must own
whatever_range_c and whatever_range_de to perform this operation.
and the current user will be the owner of whatever_range_cde.



pgsql-hackers by date:

Previous
From: Michael Paquier
Date:
Subject: Re: Add comment explaining why queryid is int64 in pg_stat_statements
Next
From: Hannu Krosing
Date:
Subject: Re: Please update the pgconf.dev Unconference notes