From: | Michael Paquier <michael(at)paquier(dot)xyz> |
---|---|
To: | amul sul <sulamul(at)gmail(dot)com> |
Cc: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Ashutosh Bapat <ashutosh(dot)bapat(at)enterprisedb(dot)com>, David Rowley <david(dot)rowley(at)2ndquadrant(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>, Robert Haas <robertmhaas(at)gmail(dot)com> |
Subject: | Re: Partitioning with temp tables is broken |
Date: | 2018-06-14 02:09:30 |
Message-ID: | 20180614020930.GE1597@paquier.xyz |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Wed, Jun 13, 2018 at 10:25:23PM +0530, amul sul wrote:
> On Wed, Jun 13, 2018, 8:34 PM Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
>> Even if you want to argue that there's a use case for these situations,
>> it seems far too late in the release cycle to be trying to fix all these
>> issues. I think we need to forbid the problematic cases for now, and
>> leave relaxing the prohibition to be treated as a future new feature.
>
> +1, forbid the problematic case.
+1 on that. And I can see that nobody on this thread has tested with
REL_10_STABLE, right? In that case you don't get a crash, but other
sessions can see the temporary partition of another's session, say with
\d+. So it seems to me that we should forbid the use of temporary
relations in a partition tree and back-patch it as well to v10 for
consistency. And if trying to insert into the temporary relation you
can a nice error:
=# insert into listp values (2);
ERROR: 0A000: cannot access temporary tables of other sessions
LOCATION: ReadBufferExtended, bufmgr.c:657
This is also a bit uninstinctive as I would think of it as an authorized
operation, still my guts tell me that the code complications are not
really worth the use-cases:
=# create temp table listp2 partition of listp for values in (2);
ERROR: 42P17: partition "listp2" would overlap partition "listp2"
LOCATION: check_new_partition_bound, partition.c:81
--
Michael
From | Date | Subject | |
---|---|---|---|
Next Message | Michael Paquier | 2018-06-14 02:12:07 | Re: Index maintenance function for BRIN doesn't check RecoveryInProgress() |
Previous Message | Amit Langote | 2018-06-14 02:07:58 | Re: BUG #15212: Default values in partition tables don't work as expected and allow NOT NULL violation |