Skip site navigation (1) Skip section navigation (2)

Re: possible bug: orphaned files left after immediate shutdown during DDL

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Jeff Davis <pgsql(at)j-davis(dot)com>
Cc: pgsql-bugs(at)postgresql(dot)org
Subject: Re: possible bug: orphaned files left after immediate shutdown during DDL
Date: 2011-02-10 03:58:46
Message-ID: 20348.1297310326@sss.pgh.pa.us (view raw or flat)
Thread:
Lists: pgsql-bugs
Jeff Davis <pgsql(at)j-davis(dot)com> writes:
> Case:

>   BEGIN;
>   CREATE TABLE foo AS SELECT generate_series(1,1000);
>   CHECKPOINT;
>   SELECT relfilenode FROM pg_class WHERE relname='foo';

> Let's say that returns 23456. Send the postmaster a SIGQUIT (immediate
> shutdown), and then restart. The file 23456 is still in the filesystem,
> but there's no record in pg_class for it. I don't see any obvious path
> where it will be removed, so it looks like it will just stay there
> forever.

> My question is: is this a conscious decision to be paranoid during
> recovery, or is this a bug?

It's intentional ... not that other people haven't complained about it
before.  Remember that what you have done is forced a crash, and
recovery from it is crash recovery.  If we proactively removed such
files we would very possibly be destroying evidence of forensic value.

IMO, immediate shutdown is not a tool to be used at random, and this
isn't something we need to fix.

			regards, tom lane

In response to

Responses

pgsql-bugs by date

Next:From: Jeff DavisDate: 2011-02-10 04:14:07
Subject: Re: possible bug: orphaned files left after immediate shutdown during DDL
Previous:From: Tom LaneDate: 2011-02-10 03:37:36
Subject: Re: [Fwd: ERROR: cannot extract system attribute from minimal tuple]

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group