Re: pg_rewind fails if there is a read only file.

Поиск
Список
Период
Сортировка
От Andrew Dunstan
Тема Re: pg_rewind fails if there is a read only file.
Дата
Msg-id 661e7a87-f81c-1fbd-2294-f34387ebf804@dunslane.net
обсуждение исходный текст
Ответ на Re: pg_rewind fails if there is a read only file.  (Laurenz Albe <laurenz.albe@cybertec.at>)
Ответы Re: pg_rewind fails if there is a read only file.  (Paul Guo <paulguo@gmail.com>)
Список pgsql-hackers
On 5/26/21 2:43 AM, Laurenz Albe wrote:
> On Wed, 2021-05-26 at 08:57 +0900, Michael Paquier wrote:
>> On Tue, May 25, 2021 at 03:17:37PM -0400, Andrew Dunstan wrote:
>>> If we do decide to do something the question arises what should it do?
>>> If we're to allow for it I'm wondering if the best thing would be simply
>>> to ignore such a file.
>> Enforcing assumptions that any file could be ready-only is a very bad
>> idea, as that could lead to weird behaviors if a FS is turned as
>> becoming read-only suddenly while doing a rewind.  Another idea that
>> has popped out across the years was to add an option to pg_rewind so
>> as users could filter files manually.  That could be easily dangerous
>> though in the wrong hands, as one could think that it is a good idea
>> to skip a control file, for example.
>>
>> The thing is that here we actually know the set of files we'd like to
>> ignore most of the time, and we still want to have some automated
>> control what gets filtered.  So here is a new idea: we build a list of
>> files based on a set of GUC parameters using postgres -C on the target
>> data folder, and assume that these are safe enough to be skipped all
>> the time, if these are in the data folder.
> That sounds complicated, but should work.
> There should be a code comment somewhere that warns people not to forget
> to look at that when they add a new GUC.
>
> I can think of two alternatives to handle this:
>
> - Skip files that cannot be opened for writing and issue a warning.
>   That is simple, but coarse.
>   A slightly more sophisticated version would first check if files
>   are the same on both machines and skip the warning for those.
>
> - Paul's idea to try and change the mode on the read-only file
>   and reset it to the original state after pg_rewind is done.
>

How about we only skip (with a warning) read-only files if they are in
the data root, not a subdirectory? That would save us from silently
ignoring read-only filesystems and not involve using a GUC.


cheers


andrew


--
Andrew Dunstan
EDB: https://www.enterprisedb.com




В списке pgsql-hackers по дате отправления:

Предыдущее
От: Bharath Rupireddy
Дата:
Сообщение: Re: Logical Replication - improve error message while adding tables to the publication in check_publication_add_relation
Следующее
От: Ibrar Ahmed
Дата:
Сообщение: Re: Next Commitfest Manager.