Re: New VACUUM FULL crashes on temp relations

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

In response to

Browse pgsql-hackers by date

  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.