Re: fsync-pgdata-on-recovery tries to write to more files than previously
От | Andres Freund |
---|---|
Тема | Re: fsync-pgdata-on-recovery tries to write to more files than previously |
Дата | |
Msg-id | 20150524005245.GD32396@alap3.anarazel.de обсуждение исходный текст |
Ответ на | Re: fsync-pgdata-on-recovery tries to write to more files than previously (Tom Lane <tgl@sss.pgh.pa.us>) |
Ответы |
Re: fsync-pgdata-on-recovery tries to write to more files
than previously
|
Список | pgsql-hackers |
On 2015-05-23 16:33:29 -0400, Tom Lane wrote: > Christoph Berg <myon@debian.org> writes: > > the new fsync-pgdata-on-recovery code tries to open all files using > > O_RDWR. At least on 9.1, this can make recovery fail: > > Hm. I wonder whether it would be all right to just skip files for which > we get EPERM on open(). The argument being that if we can't write to the > file, we should not be held responsible for fsync'ing it either. But > I'm not sure whether EPERM would be the only relevant errno, or whether > there are cases where this would mask real problems. We could even try doing the a fsync with a readonly fd as a fallback, but that's also pretty hacky. How about, to avoid masking actual problems, we have a more differentiated logic for the toplevel data directory? I think we could just skip all non-directory files in there data_directory itself. None of the files in the toplevel directory, with the exception of postgresql.auto.conf, will ever get written to by PG itself. And if there's readonly files somewhere in a subdirectory, I won't feel particularly bad. Greetings, Andres Freund
В списке pgsql-hackers по дате отправления: