On Sun, Feb 14, 2010 at 2:03 PM, Greg Stark <gsst...@mit.edu> wrote: > On Fri, Feb 12, 2010 at 3:49 PM, Robert Haas <robertmh...@gmail.com> wrote: >> Greg Stark, have you managed to get your access issues sorted out? If > > Yep, will look at this today.
So I think we have a bigger problem than just copydir.c. It seems to me we should be fsyncing the table space data directories on every checkpoint. Otherwise any newly created relations or removed relations could disappear even though the data in them was fsynced. I'm thinking I should add an _mdfd_opentblspc(reln) call which returns a file descriptor for the tablespace and have mdsync() use that to sync the directory whenever it fsyncs a relation. It would be nice to remember which tablespaces have been fsynced and only fsync them once though, that would need another hash table just for tablespaces. We probably also need to fsync the pg_xlog directory every time we create or rename an xlog segment. Are there any other places we do directory operations which we need to be permanent? -- greg -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers