diff --git a/pageserver/src/basebackup.rs b/pageserver/src/basebackup.rs index 740f48acd0..b6460d3f8e 100644 --- a/pageserver/src/basebackup.rs +++ b/pageserver/src/basebackup.rs @@ -322,24 +322,21 @@ impl<'a> Basebackup<'a> { pg_control.checkPointCopy = checkpoint; pg_control.state = pg_constants::DB_SHUTDOWNED; - // Postgres doesn't recognize the zenith.signal file and doesn't need it. - if !self.full_backup { - // add zenith.signal file - let mut zenith_signal = String::new(); - if self.prev_record_lsn == Lsn(0) { - if self.lsn == self.timeline.get_ancestor_lsn() { - write!(zenith_signal, "PREV LSN: none")?; - } else { - write!(zenith_signal, "PREV LSN: invalid")?; - } + // add zenith.signal file + let mut zenith_signal = String::new(); + if self.prev_record_lsn == Lsn(0) { + if self.lsn == self.timeline.get_ancestor_lsn() { + write!(zenith_signal, "PREV LSN: none")?; } else { - write!(zenith_signal, "PREV LSN: {}", self.prev_record_lsn)?; + write!(zenith_signal, "PREV LSN: invalid")?; } - self.ar.append( - &new_tar_header("zenith.signal", zenith_signal.len() as u64)?, - zenith_signal.as_bytes(), - )?; + } else { + write!(zenith_signal, "PREV LSN: {}", self.prev_record_lsn)?; } + self.ar.append( + &new_tar_header("zenith.signal", zenith_signal.len() as u64)?, + zenith_signal.as_bytes(), + )?; //send pg_control let pg_control_bytes = pg_control.encode(); diff --git a/test_runner/batch_others/test_fullbackup.py b/test_runner/batch_others/test_fullbackup.py index f3090278dd..4f4973732d 100644 --- a/test_runner/batch_others/test_fullbackup.py +++ b/test_runner/batch_others/test_fullbackup.py @@ -69,5 +69,6 @@ def test_fullbackup(zenith_env_builder: ZenithEnvBuilder, f"port={port}", ]) vanilla_pg.start() - num_rows_found = vanilla_pg.safe_psql('select count(*) from tbl;', user="cloud_admin")[0][0] + num_rows_found = vanilla_pg.safe_psql('select count(*) from tbl;', + username="zenith_admin")[0][0] assert num_rows == num_rows_found