> -----Original Message-----
> From: Bruce Momjian [mailto:maillist@candle.pha.pa.us]
> Sent: Monday, May 24, 1999 12:32 PM
> To: Hiroshi Inoue
> Cc: Ole Gjerde; PostgreSQL-development
> Subject: Re: [HACKERS] Current TODO list
>
>
> > > I don't think unlink() is a problem. That other backends
> have the files
> > > open shouldn't matter. Whenever they close it(should be
> pretty quick),
> >
> > When are those files closed ?
> > AFAIC,they are kept open until the backends which reference those files
> > finish.
> >
> > Certainly,those files are re-opened(without closing) by backends after
> > vacuum,though I don't know it's intentional or caused by side-effect.
> > But unfortunately,re-open is not sufficiently quick.
> >
> > And I think that the assumption of mdtruncate() is not clear.
> > Could we suppose that unlinked files are closed quickly for all
> backends
> > by the caller of mdunlink() ?
>
> If they try and open a file that is already unlinked, they don't get to
> see the file. Unlink removes it from the directory, so the only way to
> continue access after an unlink is if you already hold a file descrpitor
> on the file.
>
You are right.
Backends would continue to access the file descritors already hold
if vacuum does nothing about the invalidation of Relation Cache.
Thanks.
Hiroshi Inoue
Inoue@tpf.co.jp