Hi Tomer,
On Postgres, partitioning does not scale well when partitions are in the order of 4+ figures.
https://www.postgresql.org/docs/10/static/ddl-partitioning.html
It is very likely that most of the time is spent by the query planner.
regards,
fabio pardi
On 09/07/18 07:35, Tomer Praizler wrote:
> Hey,
>
> I use Postgres 10.1, and I have the following structure:
> Parent table with columns:
> range_value: double, timestamp: timestamp, device_id: integer, count:integer
>
> which is partitioned with Partition key: LIST (range_value) which has a value of 1 - 26.
> So basically it has 26 child partitions.
>
> Each one of those partitions it partitioned by range. essentially a daily partition.
>
> This is how the perant_table_with_range_value_1 is conofigured:
>
> Partition of: perant_table FOR VALUES IN ('1')
> Partition constraint: ((range_value IS NOT NULL) AND (range_value = ANY (ARRAY['0'::double precision])))
> Partition key: RANGE ("timestamp")
>
> At the moment I have 128 days of partitions in each one of the ranged partitioned.
> Which means a total of 26 * 128 = 3328 total partitions.
>
> My problem is that inserts became very slow.
> I used to bulk insert 10000 rows in 6 seconds, now it takes 45 seconds.
>
> Is this an expected behavior? is there something I missing?
> Thank you!
>
>
>