Skip to content

Commit 7f690ab

Browse files
committed
[Issue #360] correctly exclude unlogged relations from backup
1 parent 2e2a8b8 commit 7f690ab

File tree

1 file changed

+16
-5
lines changed

1 file changed

+16
-5
lines changed

src/dir.c

+16-5
Original file line numberDiff line numberDiff line change
@@ -730,21 +730,32 @@ dir_check_file(pgFile *file, bool backup_logs)
730730
if (fork_name)
731731
{
732732
/* Auxiliary fork of the relfile */
733-
if (strcmp(fork_name, "vm") == 0)
733+
if (strcmp(fork_name, "_vm") == 0)
734734
file->forkName = vm;
735735

736-
else if (strcmp(fork_name, "fsm") == 0)
736+
else if (strcmp(fork_name, "_fsm") == 0)
737737
file->forkName = fsm;
738738

739-
else if (strcmp(fork_name, "cfm") == 0)
739+
else if (strcmp(fork_name, "_cfm") == 0)
740740
file->forkName = cfm;
741741

742-
else if (strcmp(fork_name, "ptrack") == 0)
742+
else if (strcmp(fork_name, "_ptrack") == 0)
743743
file->forkName = ptrack;
744744

745-
else if (strcmp(fork_name, "init") == 0)
745+
else if (strcmp(fork_name, "_init") == 0)
746746
file->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 */
749760
if (file->forkName == ptrack)
750761
return CHECK_FALSE;

0 commit comments

Comments
 (0)