From fb0ee447ba830e00a281a926368f8598e9045c76 Mon Sep 17 00:00:00 2001 From: Alexey Savchkov Date: Mon, 29 Jan 2024 16:23:32 +0700 Subject: [PATCH 1/5] Accept an absolute backup path --- .../pg_probackup2/pg_probackup2/storage/fs_backup.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/testgres/plugins/pg_probackup2/pg_probackup2/storage/fs_backup.py b/testgres/plugins/pg_probackup2/pg_probackup2/storage/fs_backup.py index d076432a..e0720397 100644 --- a/testgres/plugins/pg_probackup2/pg_probackup2/storage/fs_backup.py +++ b/testgres/plugins/pg_probackup2/pg_probackup2/storage/fs_backup.py @@ -42,8 +42,11 @@ class FSTestBackupDir(TestBackupDir): """ Backup directory. Usually created by running pg_probackup init -B """ - def __init__(self, *, rel_path, backup): - self.path = os.path.join(init_params.tmp_path, rel_path, backup) + def __init__(self, *, path, backup): + if os.path.isabs(path): + self.path = os.path.join(path, backup) + else: + self.path = os.path.join(init_params.tmp_path, path, backup) self.pb_args = ('-B', self.path) def list_instance_backups(self, instance): From 48195d1393cafe2370a7bc00c14ff4cb99225e8c Mon Sep 17 00:00:00 2001 From: Alexey Savchkov Date: Mon, 29 Jan 2024 20:35:57 +0700 Subject: [PATCH 2/5] Add a backup directory prefix variable --- .../pg_probackup2/pg_probackup2/storage/fs_backup.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/testgres/plugins/pg_probackup2/pg_probackup2/storage/fs_backup.py b/testgres/plugins/pg_probackup2/pg_probackup2/storage/fs_backup.py index e0720397..50496ff6 100644 --- a/testgres/plugins/pg_probackup2/pg_probackup2/storage/fs_backup.py +++ b/testgres/plugins/pg_probackup2/pg_probackup2/storage/fs_backup.py @@ -42,11 +42,12 @@ class FSTestBackupDir(TestBackupDir): """ Backup directory. Usually created by running pg_probackup init -B """ - def __init__(self, *, path, backup): - if os.path.isabs(path): - self.path = os.path.join(path, backup) + def __init__(self, *, rel_path, backup): + backup_prefix = os.environ.get('PG_PROBACKUP_TEST_BACKUP_DIR_PREFIX', '') + if os.path.isabs(backup_prefix): + self.path = os.path.join(backup_prefix, rel_path, backup) else: - self.path = os.path.join(init_params.tmp_path, path, backup) + self.path = os.path.join(init_params.tmp_path, backup_prefix, rel_path, backup) self.pb_args = ('-B', self.path) def list_instance_backups(self, instance): From 4d3dd7043d6560ad7e73cdb00b619d6e38e464ee Mon Sep 17 00:00:00 2001 From: Alexey Savchkov Date: Wed, 31 Jan 2024 23:24:18 +0700 Subject: [PATCH 3/5] Allow only an absolute backup dir prefix --- .../pg_probackup2/pg_probackup2/storage/fs_backup.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/testgres/plugins/pg_probackup2/pg_probackup2/storage/fs_backup.py b/testgres/plugins/pg_probackup2/pg_probackup2/storage/fs_backup.py index 50496ff6..9c4963f0 100644 --- a/testgres/plugins/pg_probackup2/pg_probackup2/storage/fs_backup.py +++ b/testgres/plugins/pg_probackup2/pg_probackup2/storage/fs_backup.py @@ -43,11 +43,13 @@ class FSTestBackupDir(TestBackupDir): """ Backup directory. Usually created by running pg_probackup init -B """ def __init__(self, *, rel_path, backup): - backup_prefix = os.environ.get('PG_PROBACKUP_TEST_BACKUP_DIR_PREFIX', '') - if os.path.isabs(backup_prefix): + backup_prefix = os.environ.get('PG_PROBACKUP_TEST_BACKUP_DIR_PREFIX') + if backup_prefix: + if not os.path.isabs(backup_prefix): + raise Exception(f"PG_PROBACKUP_TEST_BACKUP_DIR_PREFIX must be an absolute path, current value: {backup_prefix}") self.path = os.path.join(backup_prefix, rel_path, backup) else: - self.path = os.path.join(init_params.tmp_path, backup_prefix, rel_path, backup) + self.path = os.path.join(init_params.tmp_path, rel_path, backup) self.pb_args = ('-B', self.path) def list_instance_backups(self, instance): From 52fc53757a3f9cc50589194c75b3ce6b4604455a Mon Sep 17 00:00:00 2001 From: asavchkov Date: Sun, 4 Feb 2024 20:02:20 +0700 Subject: [PATCH 4/5] Rewrite the conditional processing of backup_prefix --- .../pg_probackup2/pg_probackup2/storage/fs_backup.py | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/testgres/plugins/pg_probackup2/pg_probackup2/storage/fs_backup.py b/testgres/plugins/pg_probackup2/pg_probackup2/storage/fs_backup.py index 9c4963f0..6f111074 100644 --- a/testgres/plugins/pg_probackup2/pg_probackup2/storage/fs_backup.py +++ b/testgres/plugins/pg_probackup2/pg_probackup2/storage/fs_backup.py @@ -44,12 +44,9 @@ class FSTestBackupDir(TestBackupDir): def __init__(self, *, rel_path, backup): backup_prefix = os.environ.get('PG_PROBACKUP_TEST_BACKUP_DIR_PREFIX') - if backup_prefix: - if not os.path.isabs(backup_prefix): - raise Exception(f"PG_PROBACKUP_TEST_BACKUP_DIR_PREFIX must be an absolute path, current value: {backup_prefix}") - self.path = os.path.join(backup_prefix, rel_path, backup) - else: - self.path = os.path.join(init_params.tmp_path, rel_path, backup) + if not os.path.isabs(backup_prefix): + raise Exception(f"PG_PROBACKUP_TEST_BACKUP_DIR_PREFIX must be an absolute path, current value: {backup_prefix}") + self.path = os.path.join(backup_prefix or init_params.tmp_path, rel_path, backup) self.pb_args = ('-B', self.path) def list_instance_backups(self, instance): From 7a341bfec20098f98fcbd8bee87a9e89ffe1edff Mon Sep 17 00:00:00 2001 From: asavchkov Date: Sun, 4 Feb 2024 20:28:25 +0700 Subject: [PATCH 5/5] Test if backup_prefix is set --- .../plugins/pg_probackup2/pg_probackup2/storage/fs_backup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/testgres/plugins/pg_probackup2/pg_probackup2/storage/fs_backup.py b/testgres/plugins/pg_probackup2/pg_probackup2/storage/fs_backup.py index 6f111074..6c9d1463 100644 --- a/testgres/plugins/pg_probackup2/pg_probackup2/storage/fs_backup.py +++ b/testgres/plugins/pg_probackup2/pg_probackup2/storage/fs_backup.py @@ -44,7 +44,7 @@ class FSTestBackupDir(TestBackupDir): def __init__(self, *, rel_path, backup): backup_prefix = os.environ.get('PG_PROBACKUP_TEST_BACKUP_DIR_PREFIX') - if not os.path.isabs(backup_prefix): + if backup_prefix and not os.path.isabs(backup_prefix): raise Exception(f"PG_PROBACKUP_TEST_BACKUP_DIR_PREFIX must be an absolute path, current value: {backup_prefix}") self.path = os.path.join(backup_prefix or init_params.tmp_path, rel_path, backup) self.pb_args = ('-B', self.path) pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy