On Tue, May 12, 2020 at 2:23 AM Amit Kapila <amit.kapil...@gmail.com> wrote: > While looking at this, I noticed that caller (perform_base_backup) of > do_pg_start_backup, sets the backup phase as > PROGRESS_BASEBACKUP_PHASE_WAIT_CHECKPOINT whereas, in > do_pg_start_backup, we do collect the information about all > tablespaces after the checkpoint. I am not sure if it is long enough > that we consider having a separate phase for it. Without your patch, > it was covered under PROGRESS_BASEBACKUP_PHASE_ESTIMATE_BACKUP_SIZE > phase which doesn't appear to be a bad idea.
Maybe I'm confused here, but I think the size estimation still *is* covered under PROGRESS_BASEBACKUP_PHASE_ESTIMATE_BACKUP_SIZE. It's just that now that happens a bit later. I'm assuming that listing the tablespaces is pretty cheap, but sizing them is expensive, as you'd have to iterate over all the files and stat() each one. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company