diff options
-rw-r--r-- | src/backend/replication/basebackup.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/backend/replication/basebackup.c b/src/backend/replication/basebackup.c index 50ae1f16d0b..dcdbc1cd999 100644 --- a/src/backend/replication/basebackup.c +++ b/src/backend/replication/basebackup.c @@ -927,6 +927,12 @@ void SendBaseBackup(BaseBackupCmd *cmd) { basebackup_options opt; + SessionBackupState status = get_backup_status(); + + if (status == SESSION_BACKUP_NON_EXCLUSIVE) + ereport(ERROR, + (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("a backup is already in progress in this session"))); parse_basebackup_options(cmd->options, &opt); |