mirror of
https://github.com/postgrespro/pg_probackup.git
synced 2026-06-21 01:34:15 +02:00
Added --note option for set-backup command. Fixed --note option for backup command. Added char *note field to pgSetBackupParams structure
This commit is contained in:
+2
-2
@@ -750,7 +750,7 @@ pgdata_basic_setup(ConnectionOptions conn_opt, PGNodeInfo *nodeInfo)
|
||||
*/
|
||||
int
|
||||
do_backup(time_t start_time, bool no_validate,
|
||||
pgSetBackupParams *set_backup_params, bool no_sync, char *note)
|
||||
pgSetBackupParams *set_backup_params, bool no_sync)
|
||||
{
|
||||
PGconn *backup_conn = NULL;
|
||||
PGNodeInfo nodeInfo;
|
||||
@@ -767,7 +767,7 @@ do_backup(time_t start_time, bool no_validate,
|
||||
current.status = BACKUP_STATUS_RUNNING;
|
||||
current.start_time = start_time;
|
||||
|
||||
current.note = note;
|
||||
current.note = set_backup_params ? set_backup_params->note : NULL;
|
||||
|
||||
StrNCpy(current.program_version, PROGRAM_VERSION,
|
||||
sizeof(current.program_version));
|
||||
|
||||
+6
-2
@@ -1412,9 +1412,11 @@ pin_backup(pgBackup *target_backup, pgSetBackupParams *set_backup_params)
|
||||
/* Pin comes from expire-time */
|
||||
else if (set_backup_params->expire_time > 0)
|
||||
target_backup->expire_time = set_backup_params->expire_time;
|
||||
else
|
||||
else if (!set_backup_params->note)
|
||||
return false;
|
||||
|
||||
if (set_backup_params->note) target_backup->note = set_backup_params->note;
|
||||
|
||||
/* Update backup.control */
|
||||
write_backup(target_backup);
|
||||
|
||||
@@ -1426,9 +1428,11 @@ pin_backup(pgBackup *target_backup, pgSetBackupParams *set_backup_params)
|
||||
elog(INFO, "Backup %s is pinned until '%s'", base36enc(target_backup->start_time),
|
||||
expire_timestamp);
|
||||
}
|
||||
else
|
||||
else if (set_backup_params->ttl == 0)
|
||||
elog(INFO, "Backup %s is unpinned", base36enc(target_backup->start_time));
|
||||
|
||||
if (set_backup_params->note)
|
||||
elog(INFO, "Saved note for backup %s", base36enc(target_backup->start_time));
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
+3
-2
@@ -726,11 +726,12 @@ main(int argc, char *argv[])
|
||||
expire_time_string);
|
||||
}
|
||||
|
||||
if (expire_time > 0 || ttl >= 0)
|
||||
if (expire_time > 0 || ttl >= 0 || backup_note)
|
||||
{
|
||||
set_backup_params = pgut_new(pgSetBackupParams);
|
||||
set_backup_params->ttl = ttl;
|
||||
set_backup_params->expire_time = expire_time;
|
||||
set_backup_params->note = backup_note;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -770,7 +771,7 @@ main(int argc, char *argv[])
|
||||
elog(ERROR, "required parameter not specified: BACKUP_MODE "
|
||||
"(-b, --backup-mode)");
|
||||
|
||||
return do_backup(start_time, no_validate, set_backup_params, no_sync, backup_note);
|
||||
return do_backup(start_time, no_validate, set_backup_params, no_sync);
|
||||
}
|
||||
case RESTORE_CMD:
|
||||
return do_restore_or_validate(current.backup_id,
|
||||
|
||||
+6
-1
@@ -438,6 +438,7 @@ typedef struct pgSetBackupParams
|
||||
time_t expire_time; /* Point in time before which backup
|
||||
* must be pinned.
|
||||
*/
|
||||
char *note;
|
||||
} pgSetBackupParams;
|
||||
|
||||
typedef struct
|
||||
@@ -644,7 +645,7 @@ extern const char *pgdata_exclude_dir[];
|
||||
|
||||
/* in backup.c */
|
||||
extern int do_backup(time_t start_time, bool no_validate,
|
||||
pgSetBackupParams *set_backup_params, bool no_sync, char *note);
|
||||
pgSetBackupParams *set_backup_params, bool no_sync);
|
||||
extern void do_checkdb(bool need_amcheck, ConnectionOptions conn_opt,
|
||||
char *pgdata);
|
||||
extern BackupMode parse_backup_mode(const char *value);
|
||||
@@ -947,4 +948,8 @@ extern char *pg_ptrack_get_and_clear(Oid tablespace_oid,
|
||||
extern XLogRecPtr get_last_ptrack_lsn(PGconn *backup_conn, PGNodeInfo *nodeInfo);
|
||||
extern parray * pg_ptrack_get_pagemapset(PGconn *backup_conn, const char *ptrack_schema, XLogRecPtr lsn);
|
||||
|
||||
#ifdef WIN32
|
||||
#define setbuffer(stream, buf, size) setvbuf(stream, buf, buf ? _IOFBF : _IONBF, size);
|
||||
#endif
|
||||
|
||||
#endif /* PG_PROBACKUP_H */
|
||||
|
||||
Reference in New Issue
Block a user