Re: no default hash partition

From: Kyotaro Horiguchi <horikyota(dot)ntt(at)gmail(dot)com>
To: robertmhaas(at)gmail(dot)com
Cc: tgl(at)sss(dot)pgh(dot)pa(dot)us, alvherre(at)2ndquadrant(dot)com, pgsql-hackers(at)lists(dot)postgresql(dot)org
Subject: Re: no default hash partition
Date: 2019-08-07 04:58:34
Message-ID: 20190807.135834.105525400.horikyota.ntt@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

At Tue, 6 Aug 2019 23:26:19 -0400, Robert Haas <robertmhaas(at)gmail(dot)com> wrote in <CA+TgmoZpAsYY+naYpuw+fG=J1wYTXrhk=3uEYYa_Nz=Jwck+eg(at)mail(dot)gmail(dot)com>
> On Tue, Aug 6, 2019 at 6:58 PM Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
> I think, as Amit says, that having an automatic partition creation
> feature for hash partitions (and maybe other kinds, but certainly for
> hash) would be a useful thing to add to the system. I also think that
> it might be useful to add some commands to automate partition
> splitting (and maybe combining) although I think there's some design
> work to be done there to figure out exactly what we should build. I
> don't think it's ever useful to have a hash-partitioned table with an
> incomplete set of partitions long term, but it makes things simpler to
> allow that temporarily, for example during dump restoration.
> Therefore, I see no reason why we would want to go to the trouble of
> allowing hash-partitioned tables to have default partitions; it would
> just encourage people to do things that don't really make any sense.

+1.

By the way, couldn't we offer a means to check for gaps in a hash
partition? For example, the output of current \d+ <parent>
contains the Partitoins section that shows a list of
partitions. I think that we can show all gaps there.

=# \d+ p
Partitioned table "public.p"
...
Partition key: HASH (a)
Partitions: c1 FOR VALUES WITH (modulus 4, remainder 0),
c3 FOR VALUES WITH (modulus 4, remainder 3),
GAP (modulus 4, remainder 1),
GAP (modulus 4, remainder 2)

Or

Partitions: c1 FOR VALUES WITH (modulus 4, remainder 0),
c3 FOR VALUES WITH (modulus 4, remainder 3),
Gaps: (modulus 4, remainder 1), (modulus 4, remainder 2)

regards.

--
Kyotaro Horiguchi
NTT Open Source Software Center

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Thomas Munro 2019-08-07 05:00:29 Re: stress test for parallel workers
Previous Message Tom Lane 2019-08-07 04:29:19 Re: stress test for parallel workers