From: | amul sul <sulamul(at)gmail(dot)com> |
---|---|
To: | Dilip Kumar <dilipbalaut(at)gmail(dot)com> |
Cc: | Ashutosh Bapat <ashutosh(dot)bapat(at)enterprisedb(dot)com>, Robert Haas <robertmhaas(at)gmail(dot)com>, Yugo Nagata <nagata(at)sraoss(dot)co(dot)jp>, David Steele <david(at)pgmasters(dot)net>, Greg Stark <stark(at)mit(dot)edu>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: [POC] hash partitioning |
Date: | 2017-05-16 18:34:50 |
Message-ID: | CAAJ_b94xsBB5qLXkHhmH3_ReaennQrkdYO3f+bV95VaTS+LUdg@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Tue, May 16, 2017 at 10:00 PM, Dilip Kumar <dilipbalaut(at)gmail(dot)com> wrote:
> On Tue, May 16, 2017 at 4:22 PM, amul sul <sulamul(at)gmail(dot)com> wrote:
>> v6 patch has bug in partition oid mapping and indexing, fixed in the
>> attached version.
>>
>> Now partition oids will be arranged in the ascending order of hash
>> partition bound (i.e. modulus and remainder sorting order)
>
> Thanks for the update patch. I have some more comments.
>
> ------------
> + if (spec->remainder < 0)
> + ereport(ERROR,
> + (errcode(ERRCODE_INVALID_TABLE_DEFINITION),
> + errmsg("hash partition remainder must be less than modulus")));
>
> I think this error message is not correct, you might want to change it
> to "hash partition remainder must be non-negative integer"
>
Fixed in the attached version; used "hash partition remainder must be
greater than or equal to 0" instead.
> -------
>
> + The table is partitioned by specifying remainder and modulus for each
> + partition. Each partition holds rows for which the hash value of
>
> Wouldn't it be better to say "modulus and remainder" instead of
> "remainder and modulus" then it will be consistent?
>
You are correct, fixed in the attached version.
> -------
> + An <command>UPDATE</> that causes a row to move from one partition to
> + another fails, because
>
> fails, because -> fails because
>
This hunk is no longer exists in the attached patch, that was mistaken
copied, sorry about that.
> -------
>
> Wouldn't it be a good idea to document how to increase the number of
> hash partitions, I think we can document it somewhere with an example,
> something like Robert explained upthread?
>
> create table foo (a integer, b text) partition by hash (a);
> create table foo1 partition of foo with (modulus 2, remainder 0);
> create table foo2 partition of foo with (modulus 2, remainder 1);
>
> You can detach foo1, create two new partitions with modulus 4 and
> remainders 0 and 2, and move the data over from the old partition
>
> I think it will be good information for a user to have? or it's
> already documented and I missed it?
>
I think, we should, but not sure about it.
Regards,
Amul
Attachment | Content-Type | Size |
---|---|---|
0001-Cleanup_v2.patch | application/octet-stream | 4.4 KB |
0002-hash-partitioning_another_design-v8.patch | application/octet-stream | 81.4 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Robert Haas | 2017-05-16 19:08:33 | Re: Improvement in log message of logical replication worker |
Previous Message | Magnus Hagander | 2017-05-16 18:07:09 | Re: [PATCH v2] Progress command to monitor progression of long running SQL queries |