@@ -394,6 +394,8 @@ 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+ if (backup -> server_version [0 ] != '\0' )
398+ fprintf (out , "server-version = %s\n" , backup -> server_version );
397399
398400 fprintf (out , "\n#Result backup info\n" );
399401 fprintf (out , "timelineid = %d\n" , backup -> tli );
@@ -475,6 +477,7 @@ readBackupControlFile(const char *path)
475477 char * status = NULL ;
476478 char * parent_backup = NULL ;
477479 char * compress_alg = NULL ;
480+ char * server_version = NULL ;
478481 int * compress_level ;
479482 bool * from_replica ;
480483
@@ -492,7 +495,8 @@ readBackupControlFile(const char *path)
492495 {'I' , 0 , "wal-bytes" , & backup -> wal_bytes , SOURCE_FILE_STRICT },
493496 {'u' , 0 , "block-size" , & backup -> block_size , SOURCE_FILE_STRICT },
494497 {'u' , 0 , "xlog-block-size" , & backup -> wal_block_size , SOURCE_FILE_STRICT },
495- {'u' , 0 , "checksum_version" , & backup -> checksum_version , SOURCE_FILE_STRICT },
498+ {'u' , 0 , "checksum-version" , & backup -> checksum_version , SOURCE_FILE_STRICT },
499+ {'s' , 0 , "server-version" , & server_version , SOURCE_FILE_STRICT },
496500 {'b' , 0 , "stream" , & backup -> stream , SOURCE_FILE_STRICT },
497501 {'s' , 0 , "status" , & status , SOURCE_FILE_STRICT },
498502 {'s' , 0 , "parent-backup-id" , & parent_backup , SOURCE_FILE_STRICT },
@@ -565,6 +569,13 @@ readBackupControlFile(const char *path)
565569 free (parent_backup );
566570 }
567571
572+ if (server_version )
573+ {
574+ StrNCpy (backup -> server_version , server_version ,
575+ sizeof (backup -> server_version ));
576+ pfree (server_version );
577+ }
578+
568579 return backup ;
569580}
570581
0 commit comments