forked from EnterpriseDB/barman
-
Notifications
You must be signed in to change notification settings - Fork 0
/
NEWS
466 lines (343 loc) · 17.7 KB
/
NEWS
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
Barman News - History of user-visible changes
Copyright (C) 2011-2016 2ndQuadrant Italia Srl
Version 1.6.1 - 23 May 2016
- Add --peek option to get-wal command to discover existing WAL files
from the Barman's archive
- Add replication-status command for monitoring the status of any
streaming replication clients connected to the PostgreSQL server.
The --target option allows users to limit the request to only hot
standby servers or WAL streaming clients
- Add the switch-xlog command to request a switch of a WAL file to the
PostgreSQL server. Through the '--force' it issues a CHECKPOINT
beforehand
- Add streaming_archiver_name option, which sets a proper
application_name to pg_receivexlog when streaming_archiver is
enabled (only for PostgreSQL 9.3 and above)
- Check for _superuser_ privileges with PostgreSQL's standard
connections (#30)
- Check the WAL archive is never empty
- Check for 'backup_label' on the master when server is down
- Improve barman-wal-restore contrib script
- Bug fixes:
- Treat the "failed backups" check as non-fatal
- Rename '-x' option for get-wal as '-z'
- Add archive_mode=always support for PostgreSQL 9.5 (#32)
- Properly close PostgreSQL connections when necessary
- Fix receive-wal for pg_receive_xlog version 9.2
Version 1.6.0 - 29 Feb 2016
- Support for streaming replication connection through the
streaming_conninfo server option
- Support for the streaming_archiver option that allows Barman to
receive WAL files through PostgreSQL's native streaming protocol.
When set to 'on', it relies on pg_receivexlog to receive WAL data,
reducing Recovery Point Objective. Currently, WAL streaming is an
additional feature (standard log archiving is still required)
- Implement the receive-wal command that, when streaming_archiver is
on, wraps pg_receivexlog for WAL streaming. Add --stop option to
stop receiving WAL files via streaming protocol. Add --reset option
to reset the streaming status and restart from the current xlog
in Postgres.
- Automatic management (startup and stop) of receive-wal command via
cron command
- Support for the path_prefix configuration option
- Introduction of the archiver option (currently fixed to on) which
enables continuous WAL archiving for a specific server, through log
shipping via PostgreSQL's archive_command
- Support for streaming_wals_directory and errors_directory options
- Management of WAL duplicates in archive-wal command and integration
with check command
- Verify if pg_receivexlog is running in check command when
streaming_archiver is enabled
- Verify if failed backups are present in check command
- Accept compressed WAL files in incoming directory
- Add support for the pigz compressor (thanks to Stefano Zacchiroli
- Implement pygzip and pybzip2 compressors (based on an initial idea
of Christoph Moench-Tegeder [email protected])
- Creation of an implicit restore point at the end of a backup
- Current size of the PostgreSQL data files in barman status
- Permit archive_mode=always for PostgreSQL 9.5 servers (thanks to
Christoph Moench-Tegeder [email protected])
- Complete refactoring of the code responsible for connecting to
PostgreSQL
- Improve messaging of cron command regarding sub-processes
- Native support for Python >= 3.3
- Changes of behaviour:
- Stop trashing WAL files during archive-wal (commit:e3a1d16)
- Bug fixes:
- Atomic WAL file archiving (#9 and #12)
- Propagate "-c" option to any Barman subprocess (#19)
- Fix management of backup ID during backup deletion (#22)
- Improve archive-wal robustness and log messages (#24)
- Improve error handling in case of missing parameters
Version 1.5.1 - 16 Nov 2015
- Add support for the 'archive-wal' command which performs WAL
maintenance operations on a given server
- Add support for "per-server" concurrency of the 'cron' command
- Improved management of xlog.db errors
- Add support for mixed compression types in WAL files (SF.net#61)
- Bug fixes:
- Avoid retention policy checks during the recovery
- Avoid 'wal_level' check on PostgreSQL version < 9.0 (#3)
- Fix backup size calculation (#5)
Version 1.5.0 - 28 Sep 2015
- Add support for the get-wal command which allows users to fetch any
WAL file from the archive of a specific server
- Add support for retry hook scripts, a special kind of hook scripts
that Barman tries to run until they succeed
- Add active configuration option for a server to temporarily disable
the server by setting it to False
- Add barman_lock_directory global option to change the location of
lock files (by default: 'barman_home')
- Execute the full suite of checks before starting a backup, and skip
it in case one or more checks fail
- Forbid to delete a running backup
- Analyse include directives of a PostgreSQL server during backup and
recover operations
- Add check for conflicting paths in the configuration of Barman, both
intra (by temporarily disabling a server) and inter-server (by
refusing any command, to any server).
- Add check for wal_level
- Add barman-wal-restore script to be used as restore_command on a
standby server, in conjunction with barman get-wal
- Implement a standard and consistent policy for error management
- Improved cache management of backups
- Improved management of configuration in unit tests
- Tutorial and man page sources have been converted to Markdown format
- Add code documentation through Sphinx
- Complete refactor of the code responsible for managing the backup
and the recover commands
- Changed internal directory structure of a backup
- Introduce copy_method option (currently fixed to rsync)
- Bug fixes:
- Manage options without '=' in PostgreSQL configuration files
- Preserve Timeline history files (Fixes: #70)
- Workaround for rsync on SUSE Linux (Closes: #13 and #26)
- Disables dangerous settings in postgresql.auto.conf
(Closes: #68)
Version 1.4.1 - 05 May 2015
* Fix for WAL archival stop working if first backup is EMPTY
(Closes: #64)
* Fix exception during error handling in Barman recovery
(Closes: #65)
* After a backup, limit cron activity to WAL archiving only
(Closes: #62)
* Improved robustness and error reporting of the backup delete
command (Closes: #63)
* Fix computation of WAL production ratio as reported in the
show-backup command
* Improved management of xlogb file, which is now correctly fsynced
when updated. Also, the rebuild-xlogdb command now operates on a
temporary new file, which overwrites the main one when finished.
* Add unit tests for dateutil module compatibility
* Modified Barman version following PEP 440 rules and added support
of tests in Python 3.4
Version 1.4.0 - 26 Jan 2015
* Incremental base backup implementation through the reuse_backup
global/server option. Possible values are off (disabled,
default), copy (preventing unmodified files from being
transferred) and link (allowing for deduplication through hard
links).
* Store and show deduplication effects when using reuse_backup=
link.
* Added transparent support of pg_stat_archiver (PostgreSQL 9.4) in
check, show-server and status commands.
* Improved administration by invoking WAL maintenance at the end of
a successful backup.
* Changed the way unused WAL files are trashed, by differentiating
between concurrent and exclusive backup cases.
* Improved performance of WAL statistics calculation.
* Treat a missing pg_ident.conf as a WARNING rather than an error.
* Refactored output layer by removing remaining yield calls.
* Check that rsync is in the system path.
* Include history files in WAL management.
* Improved robustness through more unit tests.
* Fixed bug #55: Ignore fsync EINVAL errors on directories.
* Fixed bug #58: retention policies delete.
Version 1.3.3 - 21 Aug 2014
* Added "last_backup_max_age", a new global/server option that
allows administrators to set the max age of the last backup in a
catalogue, making it easier to detect any issues with periodical
backup execution
* Improved robustness of "barman backup" by introducing two global/
server options: "basebackup_retry_times" and
"basebackup_retry_sleep". These options allow an administrator to
specify, respectively, the number of attempts for a copy
operation after a failure, and the number of seconds of wait
before retrying
* Improved the recovery process via rsync on an existing directory
(incremental recovery), by splitting the previous rsync call into
several ones - invoking checksum control only when necessary
* Added support for PostgreSQL 8.3
* Minor changes:
+ Support for comma separated list values configuration options
+ Improved backup durability by calling fsync() on backup and
WAL files during "barman backup" and "barman cron"
+ Improved Nagios output for "barman check --nagios"
+ Display compression ratio for WALs in "barman show-backup"
+ Correctly handled keyboard interruption (CTRL-C) while
performing barman backup
+ Improved error messages of failures regarding the stop of a
backup
+ Wider coverage of unit tests
* Bug fixes:
+ Copies "recovery.conf" on the remote server during "barman
recover" (#45)
+ Correctly detect pre/post archive hook scripts (#41)
Version 1.3.2 - 15 Apr 2014
* Fixed incompatibility with PostgreSQL 8.4 (Closes #40, bug
introduced in version 1.3.1)
Version 1.3.1 - 14 Apr 2014
* Added support for concurrent backup of PostgreSQL 9.2 and 9.3
servers that use the "pgespresso" extension. This feature is
controlled by the "backup_options" configuration option (global/
server) and activated when set to "concurrent_backup". Concurrent
backup allows DBAs to perform full backup operations from a
streaming replicated standby.
* Added the "barman diagnose" command which prints important
information about the Barman system (extremely useful for support
and problem solving)
* Improved error messages and exception handling interface
* Fixed bug in recovery of tablespaces that are created inside the
PGDATA directory (bug introduced in version 1.3.0)
* Fixed minor bug of unhandled -q option, for quiet mode of
commands to be used in cron jobs (bug introduced in version
1.3.0)
* Minor bug fixes and code refactoring
Version 1.3.0 - 3 Feb 2014
* Refactored BackupInfo class for backup metadata to use the new
FieldListFile class (infofile module)
* Refactored output layer to use a dedicated module, in order to
facilitate integration with Nagios (NagiosOutputWriter class)
* Refactored subprocess handling in order to isolate stdin/stderr/
stdout channels (command_wrappers module)
* Refactored hook scripts management
* Extracted logging configuration and userid enforcement from the
configuration class.
* Support for hook scripts to be executed before and after a WAL
file is archived, through the 'pre_archive_script' and
'post_archive_script' configuration options.
* Implemented immediate checkpoint capability with
--immediate-checkpoint command option and 'immediate_checkpoint'
configuration option
* Implemented network compression for remote backup and recovery
through the 'network_compression' configuration option (#19)
* Implemented the 'rebuild-xlogdb' command (Closes #27 and #28)
* Added deduplication of tablespaces located inside the PGDATA
directory
* Refactored remote recovery code to work the same way local
recovery does, by performing remote directory preparation
(assuming the remote user has the right permissions on the remote
server)
* 'barman backup' now tries and create server directories before
attempting to execute a full backup (#14)
* Fixed bug #22: improved documentation for tablespaces relocation
* Fixed bug #31: 'barman cron' checks directory permissions for
lock file
* Fixed bug #32: xlog.db read access during cron activities
Version 1.2.3 - 5 September 2013
* Added support for PostgreSQL 9.3
* Added support for the "--target-name" recovery option, which allows to
restore to a named point previously specified with pg_create_restore_point
(only for PostgreSQL 9.1 and above users)
* Fixed bug #27 about flock() usage with barman.lockfile (many thanks to
Damon Snyder <damonsnyder at users.sf.net>)
* Introduced Python 3 compatibility
Version 1.2.2 - 24 June 2013
* Fix python 2.6 compatibility
Version 1.2.1 - 17 June 2013
* Added the "bandwidth_limit" global/server option which allows
to limit the I/O bandwidth (in KBPS) for backup and recovery operations
* Added the "tablespace_bandwidth_limit" global/server option which allows
to limit the I/O bandwidth (in KBPS) for backup and recovery operations
on a per tablespace basis
* Added /etc/barman/barman.conf as default location
* Bug fix: avoid triggering the minimum_redundancy check
on FAILED backups (thanks to Jérôme Vanandruel)
Version 1.2.0 - 31 Jan 2013
* Added the "retention_policy_mode" global/server option which defines
the method for enforcing retention policies (currently only "auto")
* Added the "minimum_redundancy" global/server option which defines
the minimum number of backups to be kept for a server
* Added the "retention_policy" global/server option which defines
retention policies management based on redunancy (e.g. REDUNDANCY 4)
or recovery window (e.g. RECOVERY WINDOW OF 3 MONTHS)
* Added retention policy support to the logging infrastructure, the
"check" and the "status" commands
* The "check" command now integrates minimum redundancy control
* Added retention policy states (valid, obsolete and potentially obsolete)
to "show-backup" and "list-backup" commands
* The 'all' keyword is now forbidden as server name
* Added basic support for Nagios plugin output to the 'check'
command through the --nagios option
* Barman now requires argh => 0.21.2 and argcomplete-
* Minor bug fixes
Version 1.1.2 - 29 Nov 2012
* Added "configuration_files_directory" option that allows
to include multiple server configuration files from a directory
* Support for special backup IDs: latest, last, oldest, first
* Management of multiple servers to the 'list-backup' command.
'barman list-backup all' now list backups for all the configured servers.
* Added "application_name" management for PostgreSQL >= 9.0
* Fixed bug #18: ignore missing WAL files if not found during delete
Version 1.1.1 - 16 Oct 2012
* Fix regressions in recover command.
Version 1.1.0 - 12 Oct 2012
* Support for hook scripts to be executed before and after
a 'backup' command through the 'pre_backup_script' and 'post_backup_script'
configuration options.
* Management of multiple servers to the 'backup' command.
'barman backup all' now iteratively backs up all the configured servers.
* Fixed bug #9: "9.2 issue with pg_tablespace_location()"
* Add warning in recovery when file location options have been defined
in the postgresql.conf file (issue #10)
* Fail fast on recover command if the destination directory contains
the ':' character (Closes: #4) or if an invalid tablespace
relocation rule is passed
* Report an informative message when pg_start_backup() invocation
fails because an exclusive backup is already running (Closes: #8)
Version 1.0.0 - 6 July 2012
* Backup of multiple PostgreSQL servers, with different versions. Versions
from PostgreSQL 8.4+ are supported.
* Support for secure remote backup (through SSH)
* Management of a catalog of backups for every server, allowing users
to easily create new backups, delete old ones or restore them
* Compression of WAL files that can be configured on a per server
basis using compression/decompression filters, both predefined (gzip
and bzip2) or custom
* Support for INI configuration file with global and per-server directives.
Default location for configuration files are /etc/barman.conf or
~/.barman.conf. The '-c' option allows users to specify a different one
* Simple indexing of base backups and WAL segments that does not require
a local database
* Maintenance mode (invoked through the 'cron' command) which performs
ordinary operations such as WAL archival and compression, catalog
updates, etc.
* Added the 'backup' command which takes a full physical base backup
of the given PostgreSQL server configured in Barman
* Added the 'recover' command which performs local recovery of a given
backup, allowing DBAs to specify a point in time. The 'recover' command
supports relocation of both the PGDATA directory and, where applicable,
the tablespaces
* Added the '--remote-ssh-command' option to the 'recover' command for
remote recovery of a backup. Remote recovery does not currently support
relocation of tablespaces
* Added the 'list-server' command that lists all the active servers
that have been configured in barman
* Added the 'show-server' command that shows the relevant information
for a given server, including all configuration options
* Added the 'status' command which shows information about the current
state of a server, including Postgres version, current transaction ID,
archive command, etc.
* Added the 'check' command which returns 0 if everything Barman needs
is functioning correctly
* Added the 'list-backup' command that lists all the available backups
for a given server, including size of the base backup and total size
of the related WAL segments
* Added the 'show-backup' command that shows the relevant information
for a given backup, including time of start, size, number of related
WAL segments and their size, etc.
* Added the 'delete' command which removes a backup from the catalog
* Added the 'list-files' command which lists all the files for a
single backup
* RPM Package for RHEL 5/6