Esempio n. 1
0
 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)
Esempio n. 2
0
 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)
Esempio n. 3
0
    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
Esempio n. 4
0
    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
Esempio n. 5
0
 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)