Skip to content

Commit 133ec30

Browse files
committed
Version 2.0
1 parent 7685097 commit 133ec30

35 files changed

+645
-1273
lines changed

README.md

Lines changed: 0 additions & 184 deletions
This file was deleted.

src/archive.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,9 @@ do_archive_push(char *wal_file_path, char *wal_file_name)
6666
join_path_components(backup_wal_file_path, arclog_path, wal_file_name);
6767

6868
elog(INFO, "pg_probackup archive-push from %s to %s", absolute_wal_file_path, backup_wal_file_path);
69+
if (access(backup_wal_file_path, F_OK) != -1)
70+
elog(ERROR, "file '%s', already exists.", backup_wal_file_path);
71+
6972
copy_wal_file(absolute_wal_file_path, backup_wal_file_path);
7073
elog(INFO, "pg_probackup archive-push completed successfully");
7174

src/backup.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1112,6 +1112,7 @@ pg_stop_backup(pgBackup *backup)
11121112
backup_label, strerror(errno));
11131113

11141114
fwrite(PQgetvalue(res, 0, 1), 1, strlen(PQgetvalue(res, 0, 1)), fp);
1115+
fsync(fileno(fp));
11151116
fclose(fp);
11161117

11171118
/*
@@ -1139,6 +1140,7 @@ pg_stop_backup(pgBackup *backup)
11391140
tablespace_map, strerror(errno));
11401141

11411142
fwrite(PQgetvalue(res, 0, 2), 1, strlen(PQgetvalue(res, 0, 2)), fp);
1143+
fsync(fileno(fp));
11421144
fclose(fp);
11431145

11441146
file = pgFileNew(tablespace_map, true);
@@ -1662,6 +1664,7 @@ write_backup_file_list(parray *files, const char *root)
16621664

16631665
print_file_list(fp, files, root);
16641666

1667+
fsync(fileno(fp));
16651668
fclose(fp);
16661669
}
16671670

src/data.c

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -357,6 +357,7 @@ backup_data_file(const char *from_root, const char *to_root,
357357
strerror(errno_tmp));
358358
}
359359

360+
fsync(fileno(out));
360361
fclose(in);
361362
fclose(out);
362363

@@ -470,6 +471,7 @@ restore_file_partly(const char *from_root,const char *to_root, pgFile *file)
470471
strerror(errno_tmp));
471472
}
472473

474+
fsync(fileno(out));
473475
fclose(in);
474476
fclose(out);
475477
}
@@ -605,6 +607,7 @@ restore_data_file(const char *from_root,
605607
strerror(errno_tmp));
606608
}
607609

610+
fsync(fileno(out));
608611
fclose(in);
609612
fclose(out);
610613
}
@@ -732,6 +735,7 @@ copy_file(const char *from_root, const char *to_root, pgFile *file)
732735
strerror(errno_tmp));
733736
}
734737

738+
fsync(fileno(out));
735739
fclose(in);
736740
fclose(out);
737741

@@ -832,9 +836,9 @@ copy_wal_file(const char *from_path, const char *to_path)
832836
strerror(errno_tmp));
833837
}
834838

839+
fsync(fileno(out));
835840
fclose(in);
836841
fclose(out);
837-
838842
}
839843

840844
/*
@@ -957,6 +961,7 @@ copy_file_partly(const char *from_root, const char *to_root,
957961
/* add meta information needed for recovery */
958962
file->is_partial_copy = true;
959963

964+
fsync(fileno(out));
960965
fclose(in);
961966
fclose(out);
962967

src/parsexlog.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -319,7 +319,7 @@ validate_wal(pgBackup *backup,
319319
* If recovery target is provided check that we can restore backup to a
320320
* recoverty target time or xid.
321321
*/
322-
if (!TransactionIdIsValid(target_xid) || target_time == 0)
322+
if (!TransactionIdIsValid(target_xid) && target_time == 0)
323323
{
324324
/* Recoverty target is not given so exit */
325325
elog(INFO, "backup validation completed successfully");

src/pg_probackup.c

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
#include <sys/stat.h>
1818
#include <unistd.h>
1919

20-
const char *PROGRAM_VERSION = "1.1.17";
20+
const char *PROGRAM_VERSION = "2.0.0";
2121
const char *PROGRAM_URL = "https://github.com/postgrespro/pg_probackup";
2222
const char *PROGRAM_EMAIL = "https://github.com/postgrespro/pg_probackup/issues";
2323

@@ -72,6 +72,7 @@ uint32 retention_window = 0;
7272
/* compression options */
7373
CompressAlg compress_alg = NOT_DEFINED_COMPRESS;
7474
int compress_level = DEFAULT_COMPRESS_LEVEL;
75+
bool compress_shortcut = false;
7576

7677
/* other options */
7778
char *instance_name;
@@ -132,6 +133,7 @@ static pgut_option options[] =
132133
/* compression options */
133134
{ 'f', 36, "compress-algorithm", opt_compress_alg, SOURCE_CMDLINE },
134135
{ 'u', 37, "compress-level", &compress_level, SOURCE_CMDLINE },
136+
{ 'b', 38, "compress", &compress_shortcut, SOURCE_CMDLINE },
135137
/* logging options */
136138
{ 'f', 40, "log-level", opt_log_level, SOURCE_CMDLINE },
137139
{ 's', 41, "log-filename", &log_filename, SOURCE_CMDLINE },
@@ -353,6 +355,9 @@ main(int argc, char *argv[])
353355
if (num_threads < 1)
354356
num_threads = 1;
355357

358+
if (compress_shortcut)
359+
compress_alg = ZLIB_COMPRESS;
360+
356361
if (backup_subcmd != SET_CONFIG)
357362
{
358363
if (compress_level != DEFAULT_COMPRESS_LEVEL
@@ -405,7 +410,7 @@ main(int argc, char *argv[])
405410
elog(ERROR, "show-config command doesn't accept any options except -B and --instance");
406411
return do_configure(true);
407412
case SET_CONFIG:
408-
if (argc == 5)
413+
if (argc == 6)
409414
elog(ERROR, "set-config command requires at least one option");
410415
return do_configure(false);
411416
}

src/pg_probackup.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -294,6 +294,7 @@ extern uint32 retention_window;
294294
/* compression options */
295295
extern CompressAlg compress_alg;
296296
extern int compress_level;
297+
extern bool compress_shortcut;
297298

298299
#define DEFAULT_COMPRESS_LEVEL 6
299300

src/restore.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -750,6 +750,7 @@ create_recovery_conf(time_t backup_id,
750750
if (target_tli)
751751
fprintf(fp, "recovery_target_timeline = '%u'\n", target_tli);
752752

753+
fsync(fileno(fp));
753754
fclose(fp);
754755
}
755756

src/validate.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -230,7 +230,10 @@ do_validate_all(void)
230230
}
231231

232232
if (corrupted_backup_found)
233+
{
233234
elog(INFO, "Some backups are not valid");
235+
return 1;
236+
}
234237
else
235238
elog(INFO, "All backups are valid");
236239

tests/__init__.py

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6,16 +6,11 @@
66
ptrack_move_to_tablespace, ptrack_recovery, ptrack_vacuum, \
77
ptrack_vacuum_bits_frozen, ptrack_vacuum_bits_visibility, \
88
ptrack_vacuum_full, ptrack_vacuum_truncate, pgpro560, pgpro589, \
9-
pgpro688, false_positive, replica
9+
false_positive, replica
1010

1111

1212
def load_tests(loader, tests, pattern):
1313
suite = unittest.TestSuite()
14-
suite.addTests(loader.loadTestsFromModule(replica))
15-
# suite.addTests(loader.loadTestsFromModule(pgpro560))
16-
# suite.addTests(loader.loadTestsFromModule(pgpro589))
17-
# suite.addTests(loader.loadTestsFromModule(pgpro688))
18-
# suite.addTests(loader.loadTestsFromModule(false_positive))
1914
suite.addTests(loader.loadTestsFromModule(init_test))
2015
suite.addTests(loader.loadTestsFromModule(option_test))
2116
suite.addTests(loader.loadTestsFromModule(show_test))
@@ -33,8 +28,9 @@ def load_tests(loader, tests, pattern):
3328
suite.addTests(loader.loadTestsFromModule(ptrack_vacuum_bits_visibility))
3429
suite.addTests(loader.loadTestsFromModule(ptrack_vacuum_full))
3530
suite.addTests(loader.loadTestsFromModule(ptrack_vacuum_truncate))
31+
suite.addTests(loader.loadTestsFromModule(replica))
32+
suite.addTests(loader.loadTestsFromModule(pgpro560))
33+
suite.addTests(loader.loadTestsFromModule(pgpro589))
34+
suite.addTests(loader.loadTestsFromModule(false_positive))
3635

3736
return suite
38-
39-
40-
# ExpectedFailures are bugs, which should be fixed

0 commit comments

Comments
 (0)