On 2/10/16 11:01 AM, Andres Freund wrote: > On 2016-02-10 16:50:26 +0100, Magnus Hagander wrote: >>> I would be happy to see the time-stamp returned from the >>> pg_start_backup() function as well. It's a bigger change, but once >>> pg_start_backup() returns multiple columns it will be easier to add more >>> columns in the future. >>> >>> In fact, it might be better if backup_label and tablespace_map were >>> output by pg_start_backup(). This would give the backup software more >>> information to work with from the start. >> >> I was trying to figure out why that's a bad idea, but I can't really say >> why :) >> >> For pg_basebackup backups, I think the reason we put it at the end is >> simply that we don't want to write it into the backup directory until the >> rest of the backup is complete, since it's not going to be useful before >> then. But that requirement can certainly be put on the backup client >> instead of the server. With the newer API it's going to have to keep those >> things around anyway. >> >> That would then change the function syntax for pg_start_backup() but >> instead make pg_stop_backup() now behave the same as it did before. >> >> Would anybody else like to comment on if that's a good idea or if there are >> any holes in it? :) > > I don't think that's a good idea. It makes it impossible to add > information to labels about the minimum recovery point and > such. Currently there's some rather fragile logic to discover that, but > I'd really like to get rid of that at some point.
That makes sense. The backup_label "as is" could be output at the beginning but if we want to add the minimum recovery point it would need to be output at the end. It seems like tablespace_map could still be output at the beginning, though. -- -David da...@pgmasters.net
Description: OpenPGP digital signature