Re: Partitioning with range types

From: Adrian Klaver <adrian(dot)klaver(at)aklaver(dot)com>
To: Jeremy Finzel <finzelj(at)gmail(dot)com>, Postgres General <pgsql-general(at)postgresql(dot)org>
Subject: Re: Partitioning with range types
Date: 2018-06-15 16:23:07
Message-ID: 5285bc38-df1f-99fc-7fe6-723630572eb4@aklaver.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On 06/15/2018 08:26 AM, Jeremy Finzel wrote:
> Several months ago we had some detailed discussions about whether to use
> separate date columns to indicate a date range, or to use the daterange
> data type.  We opted for the latter because this type is specifically
> designed for this use case - a table that has a range of valid dates for
> the data it contains.  It also has some great operators and functions.
>
> But I recently discovered that daterange is not supported in any way as
> a partition key because it depends on an expression.  I was excited

A quick test:

Postgres 10.4

create table dr_partition(id integer, dr daterange) PARTITION BY LIST(dr);

\d dr_partition
Table "public.dr_partition"
Column | Type | Collation | Nullable | Default
--------+-----------+-----------+----------+---------
id | integer | | |
dr | daterange | | |
Partition key: LIST (dr)

create table dr_1 PARTITION OF dr_partition FOR VALUES IN ('[06/01/2018,
06/30/2018]');

\d dr_1
Table "public.dr_1"
Column | Type | Collation | Nullable | Default
--------+-----------+-----------+----------+---------
id | integer | | |
dr | daterange | | |
Partition of: dr_partition FOR VALUES IN ('[2018-06-01,2018-07-01)')

> about this possibility in pg11 with unique constraints on the parent
> table, but now it appears it may have instead been to our advantage if
> we had two separate date columns instead, so that we could use UPSERT
> transparently for date-ranged tables.
>
> Is there any possibility of this feature coming for range types, or, if
> we really want to partition using daterange, should we look instead at
> two separate date columns?
>
> Thanks,
> Jeremy

--
Adrian Klaver
adrian(dot)klaver(at)aklaver(dot)com

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Data Ace 2018-06-15 16:26:30 Re: PostgreSQL Volume Question
Previous Message Andreas Kretschmer 2018-06-15 15:44:45 Re: Append only replication over intermittent links (with local only delete?)