@@ -394,6 +394,7 @@ pgBackupWriteControl(FILE *out, pgBackup *backup)
394394 fprintf (out , "block-size = %u\n" , backup -> block_size );
395395 fprintf (out , "xlog-block-size = %u\n" , backup -> wal_block_size );
396396 fprintf (out , "checksum-version = %u\n" , backup -> checksum_version );
397+ fprintf (out , "server-version = %s\n" , backup -> server_version );
397398
398399 fprintf (out , "\n#Result backup info\n" );
399400 fprintf (out , "timelineid = %d\n" , backup -> tli );
@@ -475,6 +476,7 @@ readBackupControlFile(const char *path)
475476 char * status = NULL ;
476477 char * parent_backup = NULL ;
477478 char * compress_alg = NULL ;
479+ char * server_version = NULL ;
478480 int * compress_level ;
479481 bool * from_replica ;
480482
@@ -492,7 +494,8 @@ readBackupControlFile(const char *path)
492494 {'I' , 0 , "wal-bytes" , & backup -> wal_bytes , SOURCE_FILE_STRICT },
493495 {'u' , 0 , "block-size" , & backup -> block_size , SOURCE_FILE_STRICT },
494496 {'u' , 0 , "xlog-block-size" , & backup -> wal_block_size , SOURCE_FILE_STRICT },
495- {'u' , 0 , "checksum_version" , & backup -> checksum_version , SOURCE_FILE_STRICT },
497+ {'u' , 0 , "checksum-version" , & backup -> checksum_version , SOURCE_FILE_STRICT },
498+ {'s' , 0 , "server-version" , & server_version , SOURCE_FILE_STRICT },
496499 {'b' , 0 , "stream" , & backup -> stream , SOURCE_FILE_STRICT },
497500 {'s' , 0 , "status" , & status , SOURCE_FILE_STRICT },
498501 {'s' , 0 , "parent-backup-id" , & parent_backup , SOURCE_FILE_STRICT },
@@ -565,6 +568,13 @@ readBackupControlFile(const char *path)
565568 free (parent_backup );
566569 }
567570
571+ if (server_version )
572+ {
573+ StrNCpy (backup -> server_version , server_version ,
574+ sizeof (backup -> server_version ));
575+ pfree (server_version );
576+ }
577+
568578 return backup ;
569579}
570580
0 commit comments