Remove Deprecated Exclusive Backup Mode

From: David Steele <david(at)pgmasters(dot)net>
To: pgsql-hackers(at)lists(dot)postgresql(dot)org
Subject: Remove Deprecated Exclusive Backup Mode
Date: 2018-11-27 03:13:34
Message-ID: ac7339ca-3718-3c93-929f-99e725d1172c@pgmasters.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hackers,

I propose we remove the deprecated exclusive backup mode of
pg_start_backup()/pg_stop_backup() for Postgres 12.

The exclusive backup mode has a serious known issue. If Postgres
terminates ungracefully during a backup (due to hardware, kernel,
Postgres issues, etc.) then Postgres may refuse to restart.

The reason is that the backup_label file will usually reference a
checkpoint LSN that is older than the WAL available in pg_wal. Postgres
does emit a helpful error message while PANIC'ing but that's cold
comfort to an admin who must manually intervene to get their cluster
operational again.

The deprecated exclusive mode promises to make a difficult problem
simple but doesn't live up to that promise. That's why it was replaced
externally in 9.6 and why pg_basebackup has not used exclusive backups
since it was introduced in 9.2.

Non-exclusive backups have been available since 9.6 and several
third-party solutions support this mode, in addition to pg_basebackup.

The recently introduced recovery changes will break current automated
solutions so this seems like a good opportunity to make improvements on
the backup side as well.

I'll submit a patch for the 2019-01 commitfest.

Regards,
--
-David
david(at)pgmasters(dot)net

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Michael Paquier 2018-11-27 03:20:13 Re: Remove Deprecated Exclusive Backup Mode
Previous Message Andres Freund 2018-11-27 03:00:35 Re: pg11.1 jit segv