aboutsummaryrefslogtreecommitdiff
path: root/src/backend/utils/adt/ruleutils.c
diff options
context:
space:
mode:
authorFujii Masao <fujii@postgresql.org>2022-07-12 09:31:57 +0900
committerFujii Masao <fujii@postgresql.org>2022-07-20 09:52:11 +0900
commit2aedf25eb4d0a89c38dbbad8e5bbda237838292f (patch)
treeb859c01119ce0af69a63424c390fc0b042be55d0 /src/backend/utils/adt/ruleutils.c
parent8657946d375f4831b026d7c28016b27acdd2c246 (diff)
downloadpostgresql-2aedf25eb4d0a89c38dbbad8e5bbda237838292f.tar.gz
postgresql-2aedf25eb4d0a89c38dbbad8e5bbda237838292f.zip
Prevent BASE_BACKUP in the middle of another backup in the same session.
Multiple non-exclusive backups are able to be run conrrently in different sessions. But, in the same session, only one non-exclusive backup can be run at the same moment. If pg_backup_start (pg_start_backup in v14 or before) is called in the middle of another non-exclusive backup in the same session, an error is thrown. However, previously, in logical replication walsender mode, even if that walsender session had already called pg_backup_start and started a non-exclusive backup, it could execute BASE_BACKUP command and start another non-exclusive backup. Which caused subsequent pg_backup_stop to throw an error because BASE_BACKUP unexpectedly reset the session state marked by pg_backup_start. This commit prevents BASE_BACKUP command in the middle of another non-exclusive backup in the same session. Back-patch to all supported branches. Author: Fujii Masao Reviewed-by: Kyotaro Horiguchi, Masahiko Sawada, Michael Paquier, Robert Haas Discussion: https://postgr.es/m/3374718f-9fbf-a950-6d66-d973e027f44c@oss.nttdata.com
Diffstat (limited to 'src/backend/utils/adt/ruleutils.c')
0 files changed, 0 insertions, 0 deletions