MCPcopy
hub / github.com/wal-g/wal-g / HandleDeleteGarbage

Method HandleDeleteGarbage

internal/databases/postgres/delete.go:228–247  ·  view source on GitHub ↗

HandleDeleteGarbage delete outdated WAL archives and leftover backup files

(args []string, confirm bool)

Source from the content-addressed store, hash-verified

226
227// HandleDeleteGarbage delete outdated WAL archives and leftover backup files
228func (dh *DeleteHandler) HandleDeleteGarbage(args []string, confirm bool) error {
229 predicate := ExtractDeleteGarbagePredicate(args)
230 backupSelector := internal.NewOldestNonPermanentSelector(NewGenericMetaFetcher())
231 oldestBackup, err := backupSelector.Select(dh.Folder)
232 if err != nil {
233 if _, ok := err.(internal.NoBackupsFoundError); ok {
234 tracelog.InfoLogger.Println("Couldn't find any non-permanent backups in storage. Not doing anything.")
235 return nil
236 }
237 return err
238 }
239
240 target, err := dh.FindTargetByName(oldestBackup.Name)
241 if err != nil {
242 return err
243 }
244
245 folderFilter := func(string) bool { return true }
246 return dh.DeleteBeforeTargetWhere(target, confirm, predicate, folderFilter)
247}
248
249// ExtractDeleteGarbagePredicate extracts delete modifier the "delete garbage" command
250func ExtractDeleteGarbagePredicate(args []string) func(storage.Object) bool {

Callers 2

runDeleteGarbageFunction · 0.95
runDeleteGarbageFunction · 0.95

Calls 7

SelectMethod · 0.95
FindTargetByNameMethod · 0.95
PrintlnMethod · 0.80
NewGenericMetaFetcherFunction · 0.70

Tested by

no test coverage detected