def list_backups(self): '''Lists all the available backups for the server''' status_filter = BackupInfo.STATUS_NOT_EMPTY retention_status = self.report_backups() backups = self.get_available_backups(status_filter) for key in sorted(backups.iterkeys(), reverse=True): backup = backups[key] if backup.status == BackupInfo.DONE: _, backup_wal_size, _, wal_until_next_size, _ = self.get_wal_info(backup) backup_size = _pretty_size(backup.size or 0 + backup_wal_size) wal_size = _pretty_size(wal_until_next_size) end_time = backup.end_time.ctime() rstatus = '' if self.enforce_retention_policies and retention_status[backup.backup_id] != BackupInfo.VALID: rstatus = ' - %s' % retention_status[backup.backup_id] if backup.tablespaces: tablespaces = [("%s:%s" % (name, location))for name, _, location in backup.tablespaces] yield ("%s %s - %s - Size: %s - WAL Size: %s (tablespaces: %s)%s" % (self.config.name, backup.backup_id, end_time, backup_size, wal_size, ', '.join(tablespaces), rstatus)) else: yield ("%s %s - %s - Size: %s - WAL Size: %s%s" % (self.config.name, backup.backup_id, end_time, backup_size, wal_size, rstatus)) else: yield "%s %s - %s" % (self.config.name, backup.backup_id, backup.status)
def list_backups(self): '''Lists all the available backups for the server''' status_filter = BackupInfo.STATUS_NOT_EMPTY backups = self.get_available_backups(status_filter) for key in sorted(backups.iterkeys(), reverse=True): backup = backups[key] if backup.status == BackupInfo.DONE: _, backup_wal_size, _, wal_until_next_size, _ = self.get_wal_info( backup) backup_size = _pretty_size(backup.size or 0 + backup_wal_size) wal_size = _pretty_size(wal_until_next_size) end_time = backup.end_time.ctime() if backup.tablespaces: tablespaces = [("%s:%s" % (name, location)) for name, _, location in backup.tablespaces] yield ( "%s %s - %s - Size: %s - WAL Size: %s (tablespaces: %s)" % (self.config.name, backup.backup_id, end_time, backup_size, wal_size, ', '.join(tablespaces))) else: yield ("%s %s - %s - Size: %s - WAL Size: %s" % (self.config.name, backup.backup_id, end_time, backup_size, wal_size)) else: yield "%s %s - %s" % (self.config.name, backup.backup_id, backup.status)
def show(self): '''Show backup information''' yield "Backup %s:" % (self.backup_id) if self.status == BackupInfo.DONE: try: previous_backup = self.backup_manager.get_previous_backup( self.backup_id) next_backup = self.backup_manager.get_next_backup( self.backup_id) wal_num, wal_size, wal_until_next_num, wal_until_next_size, wal_last = self.server.get_wal_info( self) yield " Server Name : %s" % self.server_name yield " Status: : %s" % self.status yield " PostgreSQL Version: %s" % self.version yield " PGDATA directory : %s" % self.pgdata if self.tablespaces: yield " Tablespaces:" for name, _, location in self.tablespaces: yield " %s: %s" % (name, location) yield "" yield " Base backup information:" yield " Disk usage : %s" % _pretty_size(self.size + wal_size) yield " Timeline : %s" % self.timeline yield " Begin WAL : %s" % self.begin_wal yield " End WAL : %s" % self.end_wal yield " WAL number : %s" % wal_num yield " Begin time : %s" % self.begin_time yield " End time : %s" % self.end_time yield " Begin Offset : %s" % self.begin_offset yield " End Offset : %s" % self.end_offset yield " Begin XLOG : %s" % self.begin_xlog yield " End XLOG : %s" % self.end_xlog yield "" yield " WAL information:" yield " No of files : %s" % wal_until_next_num yield " Disk usage : %s" % _pretty_size( wal_until_next_size) yield " Last available : %s" % wal_last yield "" yield " Catalog information:" if previous_backup: yield " Previous Backup : %s" % previous_backup.backup_id else: yield " Previous Backup : - (this is the oldest base backup)" if next_backup: yield " Next Backup : %s" % next_backup.backup_id else: yield " Next Backup : - (this is the latest base backup)" except: pass else: yield " Server Name : %s" % self.server_name yield " Status: : %s" % self.status if self.error: yield " Error: : %s" % self.error
def show(self): '''Show backup information''' yield "Backup %s:" % (self.backup_id) if self.status == BackupInfo.DONE: try: previous_backup = self.backup_manager.get_previous_backup(self.backup_id) next_backup = self.backup_manager.get_next_backup(self.backup_id) wal_num, wal_size, wal_until_next_num, wal_until_next_size, wal_last = self.server.get_wal_info(self) yield " Server Name : %s" % self.server_name yield " Status : %s" % self.status yield " PostgreSQL Version: %s" % self.version yield " PGDATA directory : %s" % self.pgdata if self.tablespaces: yield " Tablespaces:" for name, oid, location in self.tablespaces: yield " %s: %s (oid: %s)" % (name, location, oid) yield "" yield " Base backup information:" yield " Disk usage : %s" % _pretty_size(self.size + wal_size) yield " Timeline : %s" % self.timeline yield " Begin WAL : %s" % self.begin_wal yield " End WAL : %s" % self.end_wal yield " WAL number : %s" % wal_num yield " Begin time : %s" % self.begin_time yield " End time : %s" % self.end_time yield " Begin Offset : %s" % self.begin_offset yield " End Offset : %s" % self.end_offset yield " Begin XLOG : %s" % self.begin_xlog yield " End XLOG : %s" % self.end_xlog yield "" yield " WAL information:" yield " No of files : %s" % wal_until_next_num yield " Disk usage : %s" % _pretty_size(wal_until_next_size) yield " Last available : %s" % wal_last yield "" yield " Catalog information:" if self.server.enforce_retention_policies: yield " Retention Policy: %s" % self.server.config.retention_policy.backup_status(self.backup_id) else: yield " Retention Policy: not enforced" if previous_backup: yield " Previous Backup : %s" % previous_backup.backup_id else: yield " Previous Backup : - (this is the oldest base backup)" if next_backup: yield " Next Backup : %s" % next_backup.backup_id else: yield " Next Backup : - (this is the latest base backup)" except: pass else: yield " Server Name : %s" % self.server_name yield " Status: : %s" % self.status if self.error: yield " Error: : %s" % self.error
def list_backups(self): """Lists all the available backups for the server""" status_filter = BackupInfo.STATUS_NOT_EMPTY backups = self.get_available_backups(status_filter) for key in sorted(backups.iterkeys(), reverse=True): backup = backups[key] if backup.status == BackupInfo.DONE: _, backup_wal_size, _, wal_until_next_size, _ = self.get_wal_info(backup) backup_size = _pretty_size(backup.size or 0 + backup_wal_size) wal_size = _pretty_size(wal_until_next_size) end_time = backup.end_time.ctime() if backup.tablespaces: tablespaces = [("%s:%s" % (name, location)) for name, _, location in backup.tablespaces] yield ( "%s %s - %s - Size: %s - WAL Size: %s (tablespaces: %s)" % (self.config.name, backup.backup_id, end_time, backup_size, wal_size, ", ".join(tablespaces)) ) else: yield ( "%s %s - %s - Size: %s - WAL Size: %s" % (self.config.name, backup.backup_id, end_time, backup_size, wal_size) ) else: yield "%s %s - %s" % (self.config.name, backup.backup_id, backup.status)