Re: ALTER DATABASE SET TABLESPACE vs crash safety

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
Cc: pgsql-hackers(at)postgreSQL(dot)org, Guillaume Lelarge <guillaume(at)lelarge(dot)info>, Bernd Helmle <mailings(at)oopsware(dot)de>
Subject: Re: ALTER DATABASE SET TABLESPACE vs crash safety
Date: 2008-11-07 16:23:37
Message-ID: 17235.1226075017@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Alvaro Herrera <alvherre(at)commandprompt(dot)com> writes:
> Do we need to fsync the directory itself? My fsync(2) manpage says

> Calling fsync() does not necessarily ensure that the entry in the directory
> containing the file has also reached disk. For that an explicit fsync() on a
> file descriptor for the directory is also needed.

Hmm ... I see that in the Linux manpage, but not on Darwin, HPUX, or in
the Single Unix Spec. I'm inclined to argue that we've always expected
the filesystem to take care of its own metadata, and we've never seen
any indication that that's unsafe. We don't try to "fsync the
directory" after a normal table create for instance.

regards, tom lane

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Alvaro Herrera 2008-11-07 16:38:04 Re: ALTER DATABASE SET TABLESPACE vs crash safety
Previous Message Martin Pihlak 2008-11-07 16:03:40 Re: auto_explain contrib moudle