@@ -730,21 +730,32 @@ dir_check_file(pgFile *file, bool backup_logs)
730730if (fork_name )
731731{
732732/* Auxiliary fork of the relfile */
733- if (strcmp (fork_name ,"vm " )== 0 )
733+ if (strcmp (fork_name ,"_vm " )== 0 )
734734file -> forkName = vm ;
735735
736- else if (strcmp (fork_name ,"fsm " )== 0 )
736+ else if (strcmp (fork_name ,"_fsm " )== 0 )
737737file -> forkName = fsm ;
738738
739- else if (strcmp (fork_name ,"cfm " )== 0 )
739+ else if (strcmp (fork_name ,"_cfm " )== 0 )
740740file -> forkName = cfm ;
741741
742- else if (strcmp (fork_name ,"ptrack " )== 0 )
742+ else if (strcmp (fork_name ,"_ptrack " )== 0 )
743743file -> forkName = ptrack ;
744744
745- else if (strcmp (fork_name ,"init " )== 0 )
745+ else if (strcmp (fork_name ,"_init " )== 0 )
746746file -> forkName = init ;
747747
748+ // extract relOid for certain forks
749+ if (file -> forkName == vm ||
750+ file -> forkName == fsm ||
751+ file -> forkName == init ||
752+ file -> forkName == cfm )
753+ {
754+ // sanity
755+ if (sscanf (file -> name ,"%u_*" ,& (file -> relOid ))!= 1 )
756+ file -> relOid = 0 ;
757+ }
758+
748759/* Do not backup ptrack files */
749760if (file -> forkName == ptrack )
750761return CHECK_FALSE ;