DELETE

The DELETE subcommand removes the subdirectory and data files from the BART backup catalog for the specified backups along with archived WAL files.

Syntax:

bart DELETE –s <server_name>
-i { all | [']{ <backup_id> | <backup_name> },... }['] }
[ -n ]

Note

While invoking the DELETE subcommand, you must specify a database server.

For database servers under a retention policy, there are conditions where certain backups may not be deleted. For more information regarding this, see the Deletions Permitted Under a Retention Policy section of the EDB Postgres Backup and Recovery User Guide available at:

Options

  • -s (or --server) <server_name>
<server_name> is the name of the database server whose backups are to be deleted.
  • -i (or --backupid) { all | [']{ <backup_id> | <backup_name> }',... }[`] }
    • <backup_id> is the backup identifier of the backup to be deleted. <backup_name> is the user-defined alphanumeric name for the backup.
    • Multiple backup identifiers and backup names may be specified in a comma-separated list. The list must be enclosed within single quotes if there is any white space appearing before or after each comma (see Example section).
    • If all is specified, all backups and their archived WAL files for the specified database server are deleted.
  • -n or --dry-run
Performs the test run and displays the results prior to physically removing files, however, no files are actually deleted.

Example

The following example deletes a backup from the specified database server.

[edb@localhost bin]$ ./bart DELETE -s acctg -i acctg_2019-08-27
INFO: deleting backup 'acctg_2019-08-27' of server 'acctg'
INFO: deleting backup '1566900093665'
INFO: WALs of deleted backup(s) will belong to prior backup(if any), or will
be marked unused
WARNING: not marking any WALs as unused WALs, the WAL file
'/home/edb/bkup_new/acctg/archived_wals/000000010000000000000025'
is required, yet not available in archived_wals directory
INFO: backup(s) deleted
[edb@localhost bin]$

After the deletion, the BART backup catalog for the database server no longer contains the corresponding directory for the deleted backup ID. The archived_wals subdirectory no longer contains the backup WAL files.

[edb@localhost acctg]$ ls -l
total 16
drwxrwxr-x. 3 edb edb 4096 Aug 27 06:03 1566900199604
drwxrwxr-x. 3 edb edb 4096 Aug 27 06:03 1566900204377
drwxrwxr-x. 3 edb edb 4096 Aug 27 06:03 1566900209087
drwxrwxr-x. 3 edb edb 4096 Aug 27 06:05 1566900321228
drwxrwxr-x. 2 edb edb 6 Aug 27 06:01 archived_wals

The following example deletes multiple backups from the database server.

[edb@localhost bin]$ ./bart DELETE -s acctg -i `1566988095633,1566988100760,
acctg_2019-08-28`
INFO: deleting backup `1566988095633` of server `acctg`
INFO: deleting backup `1566988095633`
INFO: WALs of deleted backup(s) will belong to prior backup(if any), or will
be marked unused
WARNING: not marking any WALs as unused WALs, the WAL file
`/home/edb/bkup_new/acctg/archived_wals/000000010000000000000037` is required,
yet not available in archived_wals directory
INFO: backup(s) deleted
INFO: deleting backup `1566988100760` of server `acctg`
INFO: deleting backup `1566988100760`
INFO: WALs of deleted backup(s) will belong to prior backup(if any), or will
be marked unused
WARNING: not marking any WALs as unused WALs, the WAL file
`/home/edb/bkup_new/acctg/archived_wals/000000010000000000000039` is
required, yet not available in archived_wals directory
INFO: backup(s) deleted
INFO: deleting backup `acctg_2019-08-28` of server `acctg`
INFO: deleting backup `1566988115512`
INFO: WALs of deleted backup(s) will belong to prior backup(if any), or will
be marked unused
WARNING: not marking any WALs as unused WALs, the WAL file
`/home/edb/bkup_new/acctg/archived_wals/00000001000000000000003C` is required,
yet not available in archived_wals directory
INFO: backup(s) deleted
[edb@localhost bin]$
[edb@localhost bin]$
[edb@localhost bin]$
[edb@localhost acctg]$
[edb@localhost acctg]$ ls -l
total 8
drwxrwxr-x. 3 edb edb 4096 Aug 28 06:28 1566988105086
drwxrwxr-x. 3 edb edb 4096 Aug 28 06:28 1566988109477
drwxrwxr-x. 2 edb edb 6 Aug 28 06:09 archived_wals
[edb@localhost acctg]$

Deleting Multiple Backups with Space Characters

The following example also deletes multiple backups, but since there are space characters in the comma-separated list, the entire list must be enclosed within single quotes.

[edb@localhost bin]$ ./bart DELETE -s acctg -i
`1566900199604,1566900204377,1566900209087`;
INFO: deleting backup `1566900199604` of server `acctg`
INFO: deleting backup `1566900199604`
INFO: WALs of deleted backup(s) will belong to prior backup(if any), or will
be marked unused
WARNING: not marking any WALs as unused WALs, the WAL file
`/home/edb/bkup_new/acctg/archived_wals/000000010000000000000028` is required,
yet not available in archived_wals directory
INFO: backup(s) deleted
INFO: deleting backup `1566900204377` of server `acctg`
INFO: deleting backup `1566900204377`
INFO: WALs of deleted backup(s) will belong to prior backup(if any), or will
be marked unused
WARNING: not marking any WALs as unused WALs, the WAL file
`/home/edb/bkup_new/acctg/archived_wals/00000001000000000000002A` is required,
yet not available in archived_wals directory
INFO: backup(s) deleted
INFO: deleting backup `1566900209087` of server `acctg`
INFO: deleting backup `1566900209087`
INFO: WALs of deleted backup(s) will belong to prior backup(if any), or will
be marked unused
WARNING: not marking any WALs as unused WALs, the WAL file
`/home/edb/bkup_new/acctg/archived_wals/00000001000000000000002C` is required,
yet not available in archived_wals directory
INFO: backup(s) deleted
[edb@localhost bin]$
[edb@localhost bin]$
[edb@localhost acctg]$ ls -l
total 4
drwxrwxr-x. 3 edb edb 4096 Aug 27 06:05 1566900321228
drwxrwxr-x. 2 edb edb 6 Aug 27 06:01 archived_wals
[edb@localhost acctg]$