pg.ddx.io  pgsql-hackers@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Alexander Lakhin <exclusion@gmail.com>
To: Alvaro Herrera <alvherre@alvh.no-ip.org>
Cc: Alexander Korotkov <aekorotkov@gmail.com>
Cc: Dmitry Koval <d.koval@postgrespro.ru>
Cc: Robert Haas <robertmhaas@gmail.com>
Cc: PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Cc: Dagfinn Ilmari Mannsåker <ilmari@ilmari.org>
Subject: Re: Add SPLIT PARTITION/MERGE PARTITIONS commands
Date: Fri, 19 Apr 2024 12:00:00 +0300
Message-ID: <84ada05b-be5c-473e-6d1c-ebe5dd21b190@gmail.com> (raw)
In-Reply-To: <202404181749.2jibl7x2ao5n@alvherre.pgsql>
References: <202404181749.2jibl7x2ao5n@alvherre.pgsql>

18.04.2024 20:49, Alvaro Herrera wrote:
> On 2024-Apr-18, Alexander Lakhin wrote:
>
>> I think the feature implementation should also provide tab completion
>> for SPLIT/MERGE.
> I don't think that we should be imposing on feature authors or
> committers the task of filling in tab-completion for whatever features
> they contribute.  I mean, if they want to add that, cool; but if not,
> somebody else can do that, too.  It's not a critical piece.

I agree, I just wanted to note the lack of the current implementation.
But now, thanks to Dagfinn, we have the tab completion too.

I have also a question regarding "ALTER TABLE ... SET ACCESS METHOD". The
current documentation says:
When applied to a partitioned table, there is no data to rewrite, but
partitions created afterwards will default to the given access method
unless overridden by a USING clause.

But MERGE/SPLIT behave differently (if one can assume that MERGE/SPLIT
create new partitions under the hood):
CREATE ACCESS METHOD heap2 TYPE TABLE HANDLER heap_tableam_handler;

CREATE TABLE t (i int, PRIMARY KEY(i)) PARTITION BY RANGE (i);
ALTER TABLE t SET ACCESS METHOD heap2;
CREATE TABLE tp_0 PARTITION OF t FOR VALUES FROM (0) TO (1);
CREATE TABLE tp_1 PARTITION OF t FOR VALUES FROM (1) TO (2);
\d t+
                                       Partitioned table "public.t"
...
Access method: heap2

                                           Table "public.tp_0"
...
Access method: heap2

                                           Table "public.tp_1"
...
Access method: heap2

ALTER TABLE t MERGE PARTITIONS (tp_0, tp_1) INTO tp_0;
                                       Partitioned table "public.t"
...
Access method: heap2

                                           Table "public.tp_0"
...
Access method: heap

Shouldn't it be changed, what do you think?

Best regards,
Alexander





view thread (298+ messages)  latest in thread

Message-ID: <84ada05b-be5c-473e-6d1c-ebe5dd21b190@gmail.com>
Permalink:  ../84ada05b-be5c-473e-6d1c-ebe5dd21b190@gmail.com/
Also on:    postgresql.org/message-id/84ada05b-be5c-473e-6d1c-ebe5dd21b190@gmail.com

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-hackers@postgresql.org
  Cc: exclusion@gmail.com, alvherre@alvh.no-ip.org, aekorotkov@gmail.com, d.koval@postgrespro.ru, robertmhaas@gmail.com, pgsql-hackers@lists.postgresql.org, ilmari@ilmari.org
  Subject: Re: Add SPLIT PARTITION/MERGE PARTITIONS commands
  In-Reply-To: <84ada05b-be5c-473e-6d1c-ebe5dd21b190@gmail.com>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox