AW: AW: Vacuum only with 20% old tuples - Mailing list pgsql-hackers

From Zeugswetter Andreas SB
Subject AW: AW: Vacuum only with 20% old tuples
Date
Msg-id 11C1E6749A55D411A9670001FA68796336802A@sdexcsrv1.f000.d0188.sd.spardat.at
Whole thread Raw
Responses RE: AW: Vacuum only with 20% old tuples
List pgsql-hackers
> > All actions involving a rename of a file imho involve exclusive access
> > to the table, thus no concurrent access is allowed/possible.
> >
> 
> Once a table file was opened,it is not closed until the end of the
> backend process except due to the shortage of  file descriptors.

An open file only references the inode, thus the name can safely 
change underneath, no? 
Of course on next real access to a renamed file it would 
need to be closed and opened anew, since it has the wrong file open.
Looks like it would be good to close files as soon as possible
once they do not correspond to a valid db object anymore.

> Even now,cygwin port has a flaw that we have no guarantee to
> recreate a table safely after dropping the table. Unfortunately
> we couldn't recreate the same named file until all processes
> close the file in cygwin.

Even if you rename the old file before creating a new one ?
Or is a rename not possible when another process has the file open ?

Andreas


pgsql-hackers by date:

Previous
From: Hiroshi Inoue
Date:
Subject: Re: AW: Vacuum only with 20% old tuples
Next
From: Philip Warner
Date:
Subject: Problem with disabling triggers in pg_dump