Обсуждение: parallel aggregation - Numeric is unsupported?
Table "public.foo"
Column │ Type │ Modifiers
════════╪═════════╪═══════════
a │ integer │
postgres=# \d foo2
Table "public.foo2"
Column │ Type │ Modifiers
════════╪═════════╪═══════════
a │ numeric │
postgres=# explain select sum(a) from foo;
QUERY PLAN
════════════════════════════════════════════════════════════════════════════════════════
Finalize Aggregate (cost=76498.35..76498.36 rows=1 width=8)
-> Gather (cost=76497.93..76498.34 rows=4 width=8)
Number of Workers: 4
-> Partial Aggregate (cost=75497.93..75497.94 rows=1 width=8)
-> Parallel Seq Scan on foo (cost=0.00..69247.94 rows=2499994 width=4)
(5 rows)
postgres=# explain select sum(a) from foo2;
QUERY PLAN
══════════════════════════════════════════════════════════════════════
Aggregate (cost=179053.25..179053.26 rows=1 width=32)
-> Seq Scan on foo2 (cost=0.00..154053.60 rows=9999860 width=12)
(2 rows)
<p dir="ltr"><br /> On 22/03/2016 5:24 pm, "Pavel Stehule" <<a href="mailto:pavel.stehule@gmail.com">pavel.stehule@gmail.com</a>>wrote:<br /> ><br /> > Hi<br /> ><br /> >is it expected in this moment?<br /> ><br /> ><br /> > Table "public.foo"<br /> > Column │ Type │ Modifiers <br /> > ════════╪═════════╪═══════════<br /> > a │ integer │ <br /> ><br /> > postgres=#\d foo2<br /> > Table "public.foo2"<br /> > Column │ Type │ Modifiers <br /> > ════════╪═════════╪═══════════<br/> > a │ numeric │ <br /> ><br /> > postgres=# explain select sum(a) fromfoo;<br /> > QUERY PLAN <br /> > ════════════════════════════════════════════════════════════════════════════════════════<br/> > Finalize Aggregate (cost=76498.35..76498.36rows=1 width=8)<br /> > -> Gather (cost=76497.93..76498.34 rows=4 width=8)<br /> > Number of Workers: 4<br /> > -> Partial Aggregate (cost=75497.93..75497.94 rows=1 width=8)<br/> > -> Parallel Seq Scan on foo (cost=0.00..69247.94 rows=2499994 width=4)<br /> >(5 rows)<br /> ><br /> > postgres=# explain select sum(a) from foo2;<br /> > QUERYPLAN <br /> > ══════════════════════════════════════════════════════════════════════<br/> > Aggregate (cost=179053.25..179053.26 rows=1width=32)<br /> > -> Seq Scan on foo2 (cost=0.00..154053.60 rows=9999860 width=12)<br /> > (2 rows)<pdir="ltr">Yes. There's still a few outstanding patches to add support to serialize internal states. See the combineaggregates thread.<br />
<p dir="ltr"><br /> On 22/03/2016 5:24 pm, "Pavel Stehule" <<a href="mailto:pavel.stehule@gmail.com">pavel.stehule@gmail.com</a>>wrote:<br /> ><br /> > Hi<br /> ><br /> >is it expected in this moment?<br /> ><br /> ><br /> > Table "public.foo"<br /> > Column │ Type │ Modifiers <br /> > ════════╪═════════╪═══════════<br /> > a │ integer │ <br /> ><br /> > postgres=#\d foo2<br /> > Table "public.foo2"<br /> > Column │ Type │ Modifiers <br /> > ════════╪═════════╪═══════════<br/> > a │ numeric │ <br /> ><br /> > postgres=# explain select sum(a) fromfoo;<br /> > QUERY PLAN <br /> > ════════════════════════════════════════════════════════════════════════════════════════<br/> > Finalize Aggregate (cost=76498.35..76498.36rows=1 width=8)<br /> > -> Gather (cost=76497.93..76498.34 rows=4 width=8)<br /> > Number of Workers: 4<br /> > -> Partial Aggregate (cost=75497.93..75497.94 rows=1 width=8)<br/> > -> Parallel Seq Scan on foo (cost=0.00..69247.94 rows=2499994 width=4)<br /> >(5 rows)<br /> ><br /> > postgres=# explain select sum(a) from foo2;<br /> > QUERYPLAN <br /> > ══════════════════════════════════════════════════════════════════════<br/> > Aggregate (cost=179053.25..179053.26 rows=1width=32)<br /> > -> Seq Scan on foo2 (cost=0.00..154053.60 rows=9999860 width=12)<br /> > (2 rows)<pdir="ltr">Yes. There's still a few outstanding patches to add support to serialize internal states. See the combineaggregates thread.<br />
On 22/03/2016 5:24 pm, "Pavel Stehule" <pavel.stehule@gmail.com> wrote:
>
> Hi
>
> is it expected in this moment?
>
>
> Table "public.foo"
> Column │ Type │ Modifiers
> ════════╪═════════╪═══════════
> a │ integer │
>
> postgres=# \d foo2
> Table "public.foo2"
> Column │ Type │ Modifiers
> ════════╪═════════╪═══════════
> a │ numeric │
>
> postgres=# explain select sum(a) from foo;
> QUERY PLAN
> ════════════════════════════════════════════════════════════════════════════════════════
> Finalize Aggregate (cost=76498.35..76498.36 rows=1 width=8)
> -> Gather (cost=76497.93..76498.34 rows=4 width=8)
> Number of Workers: 4
> -> Partial Aggregate (cost=75497.93..75497.94 rows=1 width=8)
> -> Parallel Seq Scan on foo (cost=0.00..69247.94 rows=2499994 width=4)
> (5 rows)
>
> postgres=# explain select sum(a) from foo2;
> QUERY PLAN
> ══════════════════════════════════════════════════════════════════════
> Aggregate (cost=179053.25..179053.26 rows=1 width=32)
> -> Seq Scan on foo2 (cost=0.00..154053.60 rows=9999860 width=12)
> (2 rows)Yes. There's still a few outstanding patches to add support to serialize internal states. See the combine aggregates thread.