Re: Define hash partition for certain column values

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Голубева Яна <ishsha(at)yandex(dot)ru>
Cc: "pgsql-general(at)lists(dot)postgresql(dot)org" <pgsql-general(at)lists(dot)postgresql(dot)org>
Subject: Re: Define hash partition for certain column values
Date: 2021-01-11 06:36:08
Message-ID: 820805.1610346968@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

=?utf-8?B?0JPQvtC70YPQsdC10LLQsCDQr9C90LA=?= <ishsha(at)yandex(dot)ru> writes:
> Hello, I've found in source code that there is a function satisfies_hash_partition(oid, modulus, remainder, column_values[]) which allows to check if the certain column value will be placed in the certain partition. I' d like to know if there is an opportunity not to check the certain partition but to define which partition will be the certain column value placed in.

If you want to control what goes where, use list partitioning (or,
perhaps, range partitioning). Hash is only suitable if you do not
care which partition any particular row goes to.

Personally, I think hash partitioning is mostly academic, precisely
because of that. If the partitioning doesn't line up with application
requirements, you give up too much of the benefit of using partitions.

regards, tom lane

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Ron 2021-01-11 08:36:41 Re: Define hash partition for certain column values
Previous Message Голубева Яна 2021-01-11 05:56:52 Define hash partition for certain column values