From: | Alvaro Herrera <alvherre(at)2ndquadrant(dot)com> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | Amit Langote <Langote_Amit_f8(at)lab(dot)ntt(dot)co(dot)jp>, Robert Haas <robertmhaas(at)gmail(dot)com>, Pg Hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: no partition pruning when partitioning using array type |
Date: | 2018-07-10 18:05:55 |
Message-ID: | 20180710180555.mcryjqgvlrmwuxj6@alvherre.pgsql |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On 2018-Jul-09, Tom Lane wrote:
> Suppose you did
>
> create domain overint as int;
> create table pt (a overint) partition by range (a);
> create table pt1 partition of pt for values from (0) to (100);
>
> and the system took it, and then you did
>
> alter domain overint add check (value > 100);
>
> What happens now?
It scans the table to check whether any values violate that condition,
and raises an error if they do:
alvherre=# alter domain overint add check (value > 100);
ERROR: column "a" of table "ppt1" contains values that violate the new constraint
This looks sensible behavior to me.
Now if you don't have any values that violate the new constraint, then
the constraint can be created just fine, and you now have a partition
that can never accept any values. But that doesn't seem like a terrible
problem.
--
Álvaro Herrera https://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
From | Date | Subject | |
---|---|---|---|
Next Message | Alvaro Herrera | 2018-07-10 18:18:57 | Re: no partition pruning when partitioning using array type |
Previous Message | Patrick Hemmer | 2018-07-10 17:54:12 | performance statistics monitoring without spamming logs |