Re: bugs or my fault
От | Peter Smith |
---|---|
Тема | Re: bugs or my fault |
Дата | |
Msg-id | CAHut+PtZ0B6k3+gpvVeOeJLZy3T-wXL6xMyEMXMYNX3wLvu4UQ@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: bugs or my fault (Yudianto Prasetyo <mr.yudianto@gmail.com>) |
Ответы |
Re: bugs or my fault
|
Список | pgsql-bugs |
On Wed, Sep 15, 2021 at 7:08 PM Yudianto Prasetyo <mr.yudianto@gmail.com> wrote: > > sorry I miss the query > > select * from myschema.cust0; > > On Wed, Sep 15, 2021 at 1:28 PM Yudianto Prasetyo <mr.yudianto@gmail.com> wrote: >> >> Hello, >> >> can you explain if this is a bug or my fault ? >> >> I'm making a simple example of hash partition >> >> CREATE TABLE myschema.customers( >> id int, >> status text, >> arr numeric >> ) PARTITION BY HASH(id); >> >> CREATE TABLE myschema.cust0 PARTITION OF myschema.customers >> FOR VALUES WITH (modulus 3, remainder 0); >> >> CREATE TABLE myschema.cust1 PARTITION OF myschema.customers >> FOR VALUES WITH (modulus 3, remainder 1); >> >> CREATE TABLE myschema.cust2 PARTITION OF myschema.customers >> FOR VALUES WITH (modulus 3, remainder 2); >> >> INSERT INTO myschema.customers VALUES (1,'ACTIVE',100), (2,'RECURRING',20), (3,'EXPIRED',38), (4,'REACTIVATED',144); >> >> when I run the query, the result is: >> >> 2 "RECURRING" 20 >> 4 "REACTIVATED" 144 >> >> shouldn't be >> >> 3 "EXPIRED" 38 >> >> i run this in version >> >> PostgreSQL 13.4, compiled by Visual C++ build 1914, 64-bit >> >> Please help me I could be wrong but IIRC I have been tripped up by this before. The docs [1] says "Each partition will hold the rows for which the hash value of the partition key divided by the specified modulus will produce the specified remainder.". Perhaps you were expecting it to do the do modulus on the key, but not on the hash value of the key? ------ [1] https://www.postgresql.org/docs/13/ddl-partitioning.html Kind Regards, Peter Smith. Fujitsu Australia.
В списке pgsql-bugs по дате отправления: