On 3/19/21 6:11 AM, wangsh.f...@fujitsu.com wrote:
David Steele <da...@pgmasters.net> wrote:

I'm not sure how I feel about this patch (not really a Windows person)
but I do think that you shouldn't modify the backup_label when writing
it, i.e. you should be writing backup_label in binary mode to avoid this
issue.

IMO, I don't modify backup_lable, I just execute select * FROM pg_stop_backup(),
copy the result from terminal to a file and save the file, but most of editor on
Windows will using CRLF as default to edit file, such as notepad, notepad++.

It's not clear to me what text editors have to do with this? Are you editing the file manually?

BTW, in [1]
The pg_stop_backup will return one row with three values. The second
of these fields should be written to a file named backup_label in the root
directory of the backup. The third field should be written to a file named
tablespace_map unless the field is empty. These files are vital to the backup
working, and must be written without modification.

Do not use CRLF to edit a backup_label on windows is not mentioned.

"These files are vital to the backup working, and must be written without modification" seems pretty clear to me.

No objections from me if it gets committed but I'm not sure it should be
classified as a "bug fix" since the backup_label was modified from what
postgres provided, unless I am misunderstanding.

I think the backup_label is not a postgres provided file(using Non-Exclusive 
Low Level API),
this file must be created by user.

It is provided by postgres via pg_stop_backup(). It should be simply saved as-is to a file.

If users use Exclusive Low Level API or pg_basebakup, this file will be auto 
created, and
users will not edit this file.

You keep saying "edit the file" but perhaps you mean "save the file"?

Regards,
--
-David
da...@pgmasters.net


Reply via email to