From: | Dilip Kumar <dilipbalaut(at)gmail(dot)com> |
---|---|
To: | amul sul <sulamul(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 16:30:57 |
Message-ID: | CAFiTN-vb+e6=p+5CGxfdjZ9q1TyygZn24zUBfBcRA0FFxRn5aw@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
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"
-------
+ 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?
-------
+ An <command>UPDATE</> that causes a row to move from one partition to
+ another fails, because
fails, because -> fails because
-------
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?
--------
--
Regards,
Dilip Kumar
EnterpriseDB: http://www.enterprisedb.com
From | Date | Subject | |
---|---|---|---|
Next Message | Robert Haas | 2017-05-16 16:35:17 | Re: Increasing parallel workers at runtime |
Previous Message | Tom Lane | 2017-05-16 16:30:29 | Re: COPY FROM STDIN behaviour on end-of-file |