forked from EnterpriseDB/barman
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathChangeLog
4270 lines (2705 loc) · 144 KB
/
ChangeLog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
2018-10-22 Marco Nenciarini <[email protected]>
Update the ChangeLog file
Set version to 2.5
2018-10-17 Leonardo Cecchi <[email protected]>
Avoid checking failed backups
If a backup is in a different state than WAITING_FOR_WALS, we don't need
to check it for consistency.
2018-10-17 Gabriele Bartolini <[email protected]>
Prepared release notes for 2.5 with tentative release date
2018-10-16 Marco Nenciarini <[email protected]>
Avoid being verbose about missing WAL files in `check-backup`
The number of missing WAL files can be huge, and storing such list or
displaying it in the error message is consuming and not useful.
The check now stops as soon as it finds a missing file, and the message
has changed to display only that file.
2018-10-15 Leonardo Cecchi <[email protected]>
Support switch-wal on standby server
The switch-wal command can also be used on standby servers, but only for
the `--archive` option.
Use XLOG segment size in check_backup
The `check_backup` command wasn't using the current XLOG segment size to
generate the WAL file names.
2018-10-15 Marco Nenciarini <[email protected]>
Implement atomic BackupInfo writes
2018-10-15 Leonardo Cecchi <[email protected]>
Notify users when attempting to recover a WAITING_FOR_WALS backup
When a backup which is still in WAITING_FOR_WALS state will be
recovered, a warning message will be raised if the get-wal feature
is not in use.
Another warning message will be raised if the backup is still in the
same state after having copied the data files.
2018-10-15 Marco Nenciarini <[email protected]>
Always update the backup status during `check-backup` execution
This change aims to detect cases where the content of the WAL archive
has been modified outside Barman.
2018-10-15 Gabriele Bartolini <[email protected]>
Cover WAL streaming in documentation for backup from a standby
2018-10-14 Marco Nenciarini <[email protected]>
In PostgreSQL 11 `wal_segment_size` is returned in bytes
2018-10-04 Leonardo Cecchi <[email protected]>
Add `check-backup` command
Make sure that all the required WAL files to check the consistency
of a physical backup (that is, from the beginning to the end of
the full backup, as outlined in the backup label) are correctly archived.
This command is automatically invoked by the `cron` command,
and at the end of every backup operation.
2018-10-09 Marco Nenciarini <[email protected]>
Set version to 2.5a1
2018-09-14 Marco Nenciarini <[email protected]>
Pin py<1.6.0 to keep 2.6 support
2018-08-02 Marco Nenciarini <[email protected]>
Fix decoding errors reading external commands output
Completed the fix started in commit f14e405e9b36de912899d0735563eed76f479164
The StreamLineProcessor implementation is enough to ensure that
the Command out and err property are proper unicode strings or None
Closes: #174
Pin pytest-timeout<1.2.1 to continue supporting Python 2.6
2018-05-23 Marco Nenciarini <[email protected]>
Update the ChangeLog file
Set version to 2.4
2018-05-23 Gabriele Bartolini <[email protected]>
Fix doc about RPM/APT repositories
2018-05-18 Marco Nenciarini <[email protected]>
Update the ChangeLog file
2018-05-15 Giulio Calacoci <[email protected]>
Fix invalid "Last Archived WAL" for Postgres < 9.4
Closes #110 #113
2018-05-14 Gabriele Bartolini <[email protected]>
Fix links syntax for Markdown in documentation
Add 2ndQuadrant public repositories info
Prepared release notes for 2.4 with tentative release date
2018-05-11 Gabriele Bartolini <[email protected]>
Downgraded sync standby names messages to debug
Fixes #89
2018-05-10 Leonardo Cecchi <[email protected]>
Ensure CommandWrapper has an unicode output
Depending on the version of Python and on the usage, the CommandWrapper
was collecting the output of the wrapper command as a byte string or as
an unicode string.
This patch makes the `out` and the `err` properties of the
CommandWrapper be always an unicode string.
Closes #150
Closes #143
2018-05-09 Leonardo Cecchi <[email protected]>
Treat slot names as lowercase
PostgreSQL replication slot names can contain only lowercase letters,
numbers and the underscore character.
This patch makes Barman treating the slot names as lowercase and
reporting configuration errors when invalid characters (beside uppercase
letters) are used.
Closes: #170
2018-05-09 Marco Nenciarini <[email protected]>
Improve usability of point-in-time recovery
Add a check to stop the recovery immediately if the recovery time is
before the backup end time.
If the timezone is not specified, the target recovery time is
interpreted according to the Barman server timezone. This is a
behavior change, because previously the specified time was simply
passed to PostgreSQL and thus interpreted according the PostgreSQL
settings.
2018-05-10 Leonardo Cecchi <[email protected]>
Fix target_action handling when not specified
2018-05-10 Marco Nenciarini <[email protected]>
Make DataTransferFailure.from_command_error() more resilient
Closes: #86
2018-05-09 Marco Nenciarini <[email protected]>
Remove workaround for gforcada/flake8-isort#9
Fix remote get_file_content method
Recover was always failing to pull .barman-recover.info because of a
typo in remote get_file_content method.
Closes: #151
2018-05-09 Leonardo Cecchi <[email protected]>
Ensure item_class is specified for resources to copy
Add an assertion to the RsyncCopyController item preventing the code to
create items without item_class set.
2018-05-08 Gabriele Bartolini <[email protected]>
Suggest stricter `archive_command` in documentation
Add an example of stricter `archive_command` that checks that
it is executed only on a specific server. Suggested by
Florent Xicluna (https://github.com/florentx)
Closes #11
2018-05-08 Leonardo Cecchi <[email protected]>
Add '--standby-mode' option to barman recover
This option is only available for PostgreSQL older than 9.0 and will
make 'barman recover' generate the recovery.conf file even if the
get-wal and PITR are not active.
2018-01-12 Todd Seidelmann <[email protected]>
Add hook script for recovery
The list of new hook scripts is:
* pre_recovery_script
* pre_recovery_retry_script
* post_recovery_retry_script
* post_recovery_script
Closes GitHub #137
2018-05-08 Marco Nenciarini <[email protected]>
Add hook script for wal deletion
The list of new hook scripts is:
* pre_wal_delete_script
* pre_wal_delete_retry_script
* post_wal_delete_retry_script
* post_wal_delete_script
2018-05-07 Marco Nenciarini <[email protected]>
Add hook script for delete command
The list of new hook scripts is:
* pre_delete_script
* pre_delete_retry_script
* post_delete_retry_script
* post_delete_script
2018-05-08 Leonardo Cecchi <[email protected]>
Add '--target-action' option to barman recover
The option is only active when Barman creates a recovery.conf suitable
for PITR. Possible values are:
- None (default, for back portability)
- shutdown (for PostgreSQL 9.5+)
- pause (for PostgreSQL 9.1+)
- promote (for PostgreSQL 9.5+)
2017-08-06 Reto Zingg <[email protected]>
rename command() to barman_command()
Fixes #118
2017-07-22 Matthew Hawn <[email protected]>
Initialise synchronous standby names list if not set
Fixes #111
2018-05-07 Gabriele Bartolini <[email protected]>
Documentation: add limitations about .partial files and recovery
Closes Github #79
Documentation: remind that recovery requires a shutdown Postgres
Closes GitHub #96
2018-01-15 Feike Steenbergen <[email protected]>
Correct placeholders ordering
The number of backups on disk and the configured redundancy
were reported in the wrong order, causing some confusion.
Closes GitHub #138
2017-06-28 Ian Barwick <[email protected]>
Add recovery completed message
2016-10-21 Christoph Moench-Tegeder <[email protected]>
force the datestyle to iso for replication connections
this works around a bug in some psycopg2 versions
2018-05-07 Marco Nenciarini <[email protected]>
Drop support for Python 3.3
Python 3.3 is EOL since 2017-09-29.
2018-05-04 Giulio Calacoci <[email protected]>
Fix 2.6 compatibility
Fix version of pyton-dateutils to version < 2.7.0, as more recent
versions dropped support for py 2.6
2018-05-04 Gabriele Bartolini <[email protected]>
Fix misleading message about PITR when having just `get-wal`
Returns error if `delete` command does not remove the backup
2018-03-18 Gabriele Bartolini <[email protected]>
Improve max_wal_senders documentation
2018-03-02 Marco Nenciarini <[email protected]>
Enable more flake8 tests and update the copyright year
2018-02-13 Marco Nenciarini <[email protected]>
Better way to pin wheel package to support testing on python 2.6
Using setup_requires instead of install_requires we avoid depending
on wheel at runtime
2018-02-09 Marco Nenciarini <[email protected]>
Fix missing documentation in MANIFEST.in
2017-12-19 Gabriele Bartolini <[email protected]>
Improve documentation for pg_receivewal/pg_receivexlog
2018-02-06 Marco Nenciarini <[email protected]>
Pin wheel package on python 2.6 to avoid build failures
Fix error reported by latest version of flake8-isort
2018-02-02 Marco Nenciarini <[email protected]>
Split manpages generation code to ease the management.
With this patch we also support using pandoc 2.x to generate the
documentation.
2018-01-15 Marco Nenciarini <[email protected]>
Ignore vanished files in streaming directory
A file could get renamed by pg_receivewal while Barman
reads the content of the streaming directory, resulting in an error
message in the logs. With this patch, Barman stops treating it as an
error, and ignores it instead.
2018-01-10 Marco Nenciarini <[email protected]>
Disable minimal tox env in travis-ci
The minimal tox env requires psycopg2==2.4.2, but that version does
not compile anymore in the travis-ci environment because it does not
understand the libpq version returned by PostgreSQL 10.
2017-12-12 Jonathan Battiato <[email protected]>
Fix exception when calling is_power_of_two(None)
The function `is_power_of_two(number)` must return None
if the `number` argument is None, instead of
printing a Traceback.
2017-12-04 Marco Nenciarini <[email protected]>
Safer handling of types in FieldListFile class
2017-11-29 Giulio Calacoci <[email protected]>
Require pytest < 3.3.0 as we are still support Python 2.6
2017-11-29 Gabriele Bartolini <[email protected]>
Add '--wal-method=none' when pg_basebackup >= 10
Fixes #133
2017-10-03 Flavio Curella <[email protected]>
fix typo in hooks docs
2017-11-15 Marco Nenciarini <[email protected]>
Stop process manager module from ovewriting lock files content
Previously a bug in the process manager code was writing its own PID
in all the existing lock files which didn't have an owner.
Due to a bug, the content of all the lock files without owner
was overwritten with the PID of every barman command interacting with
a server object.
Because of this barman cron was wrongly identifying other commands
as a running `receive-wal` process and then terminating them.
The code has now changed to avoid modifying the content of the lock
file when accessed by the process manager.
2017-10-26 Marco Nenciarini <[email protected]>
Fix some stylistic issues raised by flake8
2017-10-18 Gabriele Bartolini <[email protected]>
Add Postgres 10 to feature matrix (docs)
2017-09-27 Marco Nenciarini <[email protected]>
Relax the rules for rsync output parsing
In rare cases the rsync error message about vanished files is emitted
from the receiver process instead of from the generator.
Furthermore recent versions of rsync have changed the capitalization
of error messages, so the regular expression Barman uses to parse the
output has been generalized and made case insensitive.
Set version to 2.4a1
2017-09-04 Marco Nenciarini <[email protected]>
Update the ChangeLog file
Set version to 2.3
2017-09-01 Marco Nenciarini <[email protected]>
Support `path_prefix` for PostgreSQL 10
With PostgreSQL 10, `pg_receivexlog` has been renamed to
`pg_receivewal`. Barman will try both and will pick `pg_receivewal` in
case it find both of them.
The user can override this behavior by using the `path_prefix` setting
and prepending a directory containing only the desired command
version.
2017-08-30 Gabriele Bartolini <[email protected]>
Improve naming consistency with PostgreSQL 10
The `switch-xlog` command has been renamed to `switch-wal`.
In commands output, the `xlog` word has been changed to `WAL` and
`location` has been changed to `LSN` when appropriate.
Improve documentation about recovery target
2017-08-29 Gabriele Bartolini <[email protected]>
Fix typo in doc for createuser
2017-08-26 Gabriele Bartolini <[email protected]>
Add `--target-immediate` option to `recover` command
Throught the `--target-immediate` option, Barman writes the
`recovery_target = 'immediate'` line to recovery.conf.
By doing so, PostgreSQL will exit from recovery mode as soon as a
consistent state is reached (end of the base backup).
Only available for PostgreSQL 9.4 or newer.
2017-08-25 Gabriele Bartolini <[email protected]>
Show cluster state with `barman status`
Similarly to `pg_controldata`, the `status` command now
displays the cluster state of a PostgreSQL server ('in production'
or 'in archive recovery').
2017-08-23 Marco Nenciarini <[email protected]>
Support PostgreSQL 10 in `barman replication-status` command
Invoke pg_basebackup with --no-slot option in PostgreSQL 10+
Starting from PostgreSQL 10 pg_basebackup uses a temporary
replication slot unless explicitly instructed.
Barman don't need it because it already stores the full
WAL stream
2017-08-02 Marco Nenciarini <[email protected]>
Fix exception during exclusive backup with PostgreSQL 10
2017-08-01 Gabriele Bartolini <[email protected]>
Add `--network-compression` option to remote recovery
Enable/disable network compression at run-time to remote recovery
with `--network-compression` and `--no-network-compression` options.
2017-08-01 Marco Nenciarini <[email protected]>
Describe the actual error when invoking archiving hooks script
In case of error the `BARMAN_ERROR` variable will contain a string
starting with the name of the actual WALFileException subclass.
2017-07-28 Giulio Calacoci <[email protected]>
Ignore `.tmp` files in `incoming` and `streaming` directories
The pg_receivewal utility occasionally writes to a `.tmp` file and
then renames it to the final name to ensure an atomic creation.
Barman must ignore this temporary file.
Other programs could do the same, so Barman will ignore any file name
with a `.tmp` suffix in the incoming and streaming directories.
2017-07-20 Leonardo Cecchi <[email protected]>
Add support to PostgreSQL 10
PostgreSQL 10 renames SQL functions, tools and options that references
`xlog` to `wal`. Also WAL related functions referencing `location` have
been renamed to `lsn`.
That change have been made to improve consistency of terminology.
This patch improves Barman adding support to PostgreSQL 10.
2017-07-26 Marco Nenciarini <[email protected]>
Make flake8 happy again
Improve `barman diagnose` robustness
2017-07-22 Marco Nenciarini <[email protected]>
Fix high memory usage with parallel_jobs > 1
This patch avoids bloating the memory with objects duplicated by
pickle/unpickle cycles.
Fixes #116
2017-07-21 Marco Nenciarini <[email protected]>
Improve travis integration
Fix unit test for FileWalArchiver to work with Python 3.6
Python 3.6 is stricter about what the `os.path.join` function can
receive as input. This change has highlighted missing prerequisite
setting in the FileWalArchiver.archive test.
Set version 2.3a1
Fix exception in `barman get-wal --peek` requiring history files
Fix exception during check if ssh works and conninfo is invalid
Make sure that parallel workers are cleaned up in case of errors
In CopyController code, at the end of parallel copy, it is necessary
to terminate all the parallel workers, whether the copy finishes
naturally or it is terminated by an error.
Closes: #114
2017-07-17 Marco Nenciarini <[email protected]>
Update the ChangeLog file
2017-07-14 Marco Nenciarini <[email protected]>
Set version to 2.2
Update copyright
2017-07-12 Marco Nenciarini <[email protected]>
Log get-wal source host when called through SSH
2017-07-06 Leonardo Cecchi <[email protected]>
Check the number of files in the archiving queue
Add a new configuration parameter, named `max_incoming_wals_queue`, that
enables a new check for the number of files in the incoming directories.
This check will fail if the number of WALs to be archived
goes over the allowed threshold.
This check does not block normal operations.
The purpose of this check is to improve robustness of the Barman
system when integrated in an alerting/monitoring infrastructure,
by warning users in case Barman is not archiving fast enough.
2017-07-10 Marco Nenciarini <[email protected]>
Fix missing mock in test_pg_stat_archiver_status
2017-07-11 Leonardo Cecchi <[email protected]>
Show-backup fails on incomplete backups
The barman `show-backup` command was failing on failed backups
with a stacktrace. Fixed unit tests as well as the bug.
2017-07-05 Marco Nenciarini <[email protected]>
Update copy_controller unit tests
2017-07-04 Gabriele Bartolini <[email protected]>
Improve copy output messages
2017-07-03 Leonardo Cecchi <[email protected]>
Support dynamic WAL size
Barman now asks PostgreSQL for the current WAL file size at every start of
backup. This information is stored in the backup info and then used while
showing statistics.
Previously the size of WAL files was hardcoded into Barman, giving wrong
statistics when PostgreSQL was compiled with a different value.
IMPORTANT: Release notes must mention that the format of the backup info
file has changed. A backup made with Barman 2.2 cannot be read by a
previous version of Barman (in the rare event that a user downgrades
version).
2017-07-05 Leonardo Cecchi <[email protected]>
Make cuncurrent backup killable
Barman was able to recover from a KeyboardInterrupt while
executing a backup, so you were not able to interrupt a backup anymore.
This patch disable the handling of the SIGINT signal from the worker processes.
The signal is now handled by the parent process, which is responsible
for the termination of the children processes.
The backup will be then stopped in the usual way.
2017-07-04 Gabriele Bartolini <[email protected]>
Allow replication-status to work against a standby
2017-07-04 Marco Nenciarini <[email protected]>
Close all PostgreSQL connections before starting pg_basebackup
With this commit we avoid keeping an idle transaction during the file
copy and fix incorrect end time reported at the end of the backup.
Closes: #108, #104
Fix exception in show-backup with postgres backup_method
2017-06-01 Giulio Calacoci <[email protected]>
Safely handle paths containing special characters
This patch makes Barman correctly handle path containing those
characters having special meaning to the Unix shells such as quotes,
double quotes, spaces, and so on.
2017-06-12 Gabriele Bartolini <[email protected]>
Improve backup completed message
2017-06-05 Marco Nenciarini <[email protected]>
Display statistics about the copy gathered during backup
The statistics will be displayed in `barman show-backup` output as
'Copy time' and 'Estimated throughput' values.
Fix an error message interpolation
Make the method rsync_factory private
The method rsync_factory should be private, as it must be used only from the
copy controller.
2017-05-29 Giulio Calacoci <[email protected]>
Ensure incoming directory is empty when `archiver=off`
This commit adds a check that warns the user when there are files in
the incoming directory but the `archiver` option is disabled.
This is something that could happen when the archiver is disabled in
favor of the `streaming_archiver`, but PostgreSQL is still configured to
ship WAL files to the incoming directory.
This check is a non blocking check with the purpose of warning the
user about the disk filling up with unarchived WALs.
Closes: #80
2017-05-25 Giulio Calacoci <[email protected]>
Add `external_configuration` to `backup_options`
It is now possible to instruct Barman that we are aware that
configuration files reside outside of PGDATA, through the
`external_configuration` value for the `backup_options` option.
By doing so, users will suppress any warning regarding external
configuration files during backup.
2017-05-23 Giulio Calacoci <[email protected]>
Command line options to enable/disable `get-wal` usage during recovery
Add two options `--get-wal` and `--no-get-wal` to the `barman recover`
command. They will control the usage of the `get-wal` option during
the recovery, overriding what is specified in the configuration file.
2017-05-26 William Ivanski <[email protected]>
Documentation on parallel copy
Updated documentation and man pages regarding parallel
copy feature for both backup and recovery.
2017-05-22 Marco Nenciarini <[email protected]>
Archive .partial files coming from promotion of streaming source
Change the way Barman handles multiple partial files during
the archiving process.
Archive older partial files as normal files, instead of aborting.
Fix .gitignore syntax under sphinx directory
2017-05-12 Gabriele Bartolini <[email protected]>
Update TODO
2017-04-03 Mitchel Humpherys <[email protected]>
Document how to stop `cron`
It's not immediately clear from the docs how to stop all of the processes
that get started by the `cron` command. Add some instructions to the
section on `cron` documenting how to stop things properly.
Fixes #97
Documentation improvement: clarification about cron
It can be a bit surprising to discover that barman doesn't have any sort of
daemon program, as many long-running services do. Make this clear up front
to avoid confusion.
2017-03-20 Cédric Villemain <[email protected]>
Documentation improvements
2017-05-05 Marco Nenciarini <[email protected]>
Ensure that PGCONTROL_CLASS items are copied as last step
2017-05-04 Marco Nenciarini <[email protected]>
Implement parallel copy for backup/recovery
When `parallel_jobs` configuration option (or the `--jobs` run-time
option) is set to a value greater than 1, the files to be copied
are equally distributed between a number of buckets equal to the
number of workers.
The current maximum size of a bucket is 10GB.
2017-05-03 Marco Nenciarini <[email protected]>
In RsyncCopyController use an in-memory file_list instead of a file
This provides enough information to the _generate_job to implement a
job sharding strategy in a future commit.
2017-05-02 Marco Nenciarini <[email protected]>
Use a process pool to execute backup and recovery
Add initial multiprocessing infrastructure to support parallel backup
and recovery using rsync.
Added the 'parallel_jobs' global/server configuration option,
that specifies the number of parallel processes used for both
backup and recovery operations. Default value is 1 (for
retro-compatibility).
Added also the `--jobs` and `-j` run-time option for the `backup`
and `recover` commands to override the server behaviour.
At the moment, when the value is set to 2 or more, copy operations
are parallelized, but the logic to split them in smaller chunks is not
yet implemented.
2017-04-18 Marco Nenciarini <[email protected]>
Recursively create directories during recovery
Closes: SF#44
2017-04-05 Giulio Calacoci <[email protected]>
Reduce time ServerXLOGDBLock is held while archiving
The ServerXLOGDBLock was held from the start to the end of the
archiving process, but that was not how it was supposed to be.
The implicit contract of a waiting lock such as the ServerXLOGDBLock
requires that the lock is kept for the shortest possible time.
However, that is not the case when archiving a large number of WAL
files or when executing the pre/post archive hooks.
This commit changes the acquisition strategy to acquire and
release the lock on a per-WAL file basis.
Fixes #99
2017-03-31 Marco Nenciarini <[email protected]>
Fix a docstring typo
2017-03-31 Giulio Calacoci <[email protected]>
Remove `tablespace_map` file during `recover`
Barman takes care of tablespaces relocation during `recover` by creating
the appropriate links into `pg_tblspc` directory. The eventual
presence of `tablespace_map` file would instruct PostgreSQL to
rollback these changes, so it is mandatory to remove this file during
`recover`.
For the same reason the code that was writing the `tablespace_map`
file during `backup` was disabled.
Fixes #95
2017-03-09 Marco Nenciarini <[email protected]>
Improve log messages when a backup fails
2017-02-27 Gabriele Bartolini <[email protected]>
Improve log message for streaming connections
Add the server name in log messages when opening
a streaming connection to PostgreSQL fails.
Reported by Andreas Kretschmer <[email protected]>
2017-02-06 Marco Nenciarini <[email protected]>
Properly detect broken Postgres connections
When a Postgres cursor is required, issue a 'SELECT 1'
query to check that connection is properly working.
2017-02-01 Gabriele Bartolini <[email protected]>
Cosmetic change in documentation
2017-02-01 Marco Nenciarini <[email protected]>
Reconnect to PostgreSQL if the connection drops
Now Barman will try to reconnect automatically if the connection to
PostgreSQL drops.
Closes: SF#82
2017-01-20 Giulio Calacoci <[email protected]>
Add a init_check method to CheckStrategy
Add a init_check method to the CheckStrategy object, the method
will help keeping track of the check execution and produce a clear
output in case of timeout failure.
Set version 2.2a1
2017-01-05 Giulio Calacoci <[email protected]>
Update the ChangeLog file
Set version to 2.1
2016-12-22 Marco Nenciarini <[email protected]>
Avoid importing barman.utils module twice
2017-01-03 Gabriele Bartolini <[email protected]>
Make retry hook script options global (bugfix)
2016-12-27 Marco Nenciarini <[email protected]>
Update the ChangeLog file
2016-12-26 Gabriele Bartolini <[email protected]>
Release 2.1a1
2016-12-21 Marco Nenciarini <[email protected]>
Add PostgreSQL 10 versioning scheme compatibility
Fix #73
Exclude extraneous files during tablespace copy
PostgreSQL stores the tablespace data in a directory defined in the
PostgreSQL source as:
"PG_" PG_MAJORVERSION "_" CATALOG_VERSION_NO
The CATALOG_VERSION_NO is not easy to retrieve, so we copy
"PG_" + PG_MAJORVERSION + "_*"
It could select some spurious directory if a development or a beta
version have been used, but it's good enough for a production system
as it filters out other major versions.
Fix #74
2016-12-20 Marco Nenciarini <[email protected]>
Align the list of excluded files to pg_basebackup
Fixes #72
2016-12-18 Marco Nenciarini <[email protected]>
Return failure when 'barman get-wal' command is used on inactive servers
The 'barman get-wal' command is meant to be used used as PostgreSQL's
restore_command, so it must succeed only if the target WAL file has
been actually returned.
2016-12-17 Marco Nenciarini <[email protected]>
Add last archived WAL info to diagnose output
Show in diagnose the last archived WAL per timeline
switch-xlog --archive waits for the closed WAL file
Modify the switch-xlog --archive behaviour to wait for the specific WAL
file, instead of a generic one. This is faster and it avoids possible
issues when a higher timeline is present in the archive.
2016-12-03 Marco Nenciarini <[email protected]>
Add --archive and --archive-timeout options to switch-xlog command
Improve the switch-xlog command adding the --archive and
--archive-timeout options.
The --archive option will start an archiver process for the selected
server, and will wait for 30 seconds for a new xlog to be archived.
The --archive-timeout TIMEOUT will allow the user to increase or
decrease the number of seconds the archiver process will wait
for the archival of a new xlog file, before exiting.
2016-11-26 Gabriele Bartolini <[email protected]>
Make streaming application name options global
Make both 'streaming_archiver_name' and 'streaming_backup_name'
global options, as per documentation. Bugfix.
Fixes #57
2016-11-27 Marco Nenciarini <[email protected]>
Fix rsync failures due to files truncated during transfer
Fixes #64
2016-11-26 Gabriele Bartolini <[email protected]>
Fix typo in documentation
2016-11-17 Gabriele Bartolini <[email protected]>
Convert README in README.rst
Suggested by ckeeney. Closes #69
2016-11-24 Giulio Calacoci <[email protected]>
Correctly handle compressed history files
Fix how barman behave when a compressed history files is found.
Fixes: #66
Avoid dereferencing symlinks in pg_tblspc when preparing recovery
This commit fixes a bug triggered by the presence of a broken tablespace
symlink in the target pg_tblspc directory when recovery starts.
Fixes: #55
2016-10-06 Martin Swiech <[email protected]>
Fix comparation of last archiving failure
Compare the time of last failure instead of the WAL name to detect
archiving failures.
Closes: #40, #58
2016-11-13 Marco Nenciarini <[email protected]>
Avoid failing recovery if postgresql.conf is not writable
Fixes: #68
2016-11-08 Giulio Calacoci <[email protected]>
Add start time and execution time to delete output
Improve the output of `barman delete` command by adding some execution
time statistics.
Additionally, the utility function that prints human readable time deltas
has been improved to correctly handle a wider range of values.
Closes #67
2016-10-26 Ian Barwick <[email protected]>
Change references from non-existent `path` option to `path_prefix`
2016-10-28 Marco Nenciarini <[email protected]>
Exclude files within pg_replslot from backups
Thanks to Magnus Hagander for reporting the issue.
Ref: https://www.postgresql.org/docs/current/static/continuous-archiving.html#BACKUP-LOWLEVEL-BASE-BACKUP-DATA
Fixes #65
2016-10-20 Giulio Calacoci <[email protected]>
Workaroud to setuptools testrunner bug.
Ref links:
* https://bitbucket.org/pypa/setuptools/issue/196
* https://github.com/pypa/setuptools/issues/196
2016-10-17 Giulio Calacoci <[email protected]>
Fix output of the replication-status command.
The replication-status command used to emit an exception in some
PostgreSQL releases, due to the different structure of the
`pg_stat_replication` view.
This patch fixes the issue checking for the existence of the fields
before writing them to the output.
Fixes #56