From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | Takahiro Itagaki <itagaki(dot)takahiro(at)oss(dot)ntt(dot)co(dot)jp> |
Cc: | Simon Riggs <simon(at)2ndQuadrant(dot)com>, pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: New VACUUM FULL crashes on temp relations |
Date: | 2010-02-02 19:16:17 |
Message-ID: | 28798.1265138177@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
I wrote:
> After tracing through it, the problem is that rebuild_relation() assumes
> toast tables are always in PG_TOAST_NAMESPACE; which has not been true
> since 8.3. CLUSTER has been renaming temp toast tables into the wrong
> namespace right along. Without the assert to call attention to it, who
> knows how long it would've taken to notice :-(
No, on closer inspection the bug was introduced here:
http://archives.postgresql.org/pgsql-committers/2008-10/msg00118.php
so 8.3 was OK. In a non-asserting build the only consequence would have
been that checks for conflicting names were done in the wrong namespace.
Given the improbability of a conflict, we could have gone a very long
time before noticing the problem. But it was still wrong.
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2010-02-02 19:33:30 | Re: [HACKERS] Re: Faster CREATE DATABASE by delaying fsync (was 8.4.1 ubuntu karmic slow createdb) |
Previous Message | Magnus Hagander | 2010-02-02 19:10:26 | Re: [COMMITTERS] pgsql: Define INADDR_NONE on Solaris when it's missing. |