forked from dalibo/pitrery
-
Notifications
You must be signed in to change notification settings - Fork 0
/
CHANGELOG
365 lines (226 loc) · 10.4 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
pitrery 3.1
===========
* Preserve "xlog" scripts as symlinks in debian and rpm packages #97
Please update your "archive_command" and "restore_command" parameters to use
the new scripts "archive_wal" and "restore_wal".
* Report "qw" update to archive_wal and restore_wal #94, #110 (thanks pgstef)
Please update if you are using bash version < 4.2.
* Release process review
pitrery 3.0
===========
* Pitrery version 3.0 is compatible with PostgreSQL version 12.
PostgreSQL in this version has changed how recovery configuration is managed.
There is be no more "recovery.conf" file:
- The recovery configuration keys are read from the postgresql.conf file.
Upon restoration, recovery.conf settings are written by pitrery at the
end of the postgresql.conf file.
- A "recovery.signal" or "standby.signal" will be used by the restored
cluster to know what action to take
A new option is declared: RESTORE_MODE (or the "-m" switch). For
restoration, it must be set either to "recovery" or "standby".
- Multiple conflicting recovery_target* specifications are not allowed.
PostgreSQL will make the check on startup.
- We now advance to the latest timeline by default.
* Since PostgreSQL version 10, "xlog" has been renamed to "wal". Make
this change in pitrery:
- "archive_xlog" script is renamed to "archive_wal"
- "restore_xlog" script is renamed to "restore_wal"
- configuration key PGXLOG is renamed to PGWAL
- the WAL archive directory ARCHIVE_DIR is set by default to:
"$BACKUP_DIR/archived_wal"
pitrery 2.4
===========
* New maintainer: Thibaut Madelaine.
* Warn about untested major version on restore.
pitrery 2.3
===========
* Add progress information when checking for missing archived WAL files
* Support different WAL sizes in check, introduced in PostgreSQL 11
* Bugfixes in check command
pitrery 2.2
===========
* Change the command line switch used to pass a configuration file to pitrery
from -c to -f.
* Optionnaly encrypt tar backups and archived WAL files.
* Store the commandline executed and the configuration file inside the backup
pitrery 2.1
===========
* Restrict permissions of backup directories to the user that created them
* Add options to the check action to verify backup policy and archived WAL
files
* Add RSYNC_WHOLEFILE and RSYNC_BWLIMIT configuration options to
tweak the behaviour of rsync when performing base backups.
pitrery 2.0
===========
* Regroup all action into the main script
* Change the sed commands in the Makefile to have the script work
without modifications
* Command line switches and options to specify if the backup is
local, the user, host and target directory, are now merged into a
SSH style syntax: `[[user@]host:]/path`. Not providing a host
tells pitrery the backups are local.
* Rename the default configuration file from `pitr.conf` to `pitrery.conf`
* Comment out all parameters in the configuration file so that they
do not interfere
* Remove the BACKUP_LABEL option, subdirectory and -l switch. They
were not used.
* Support for PostgreSQL 10
pitrery 1.13
============
* Fix tablespaces links being overwritten by postmaster on 9.5 due
to tablespace_map. This conflicted with our tablespace relocation
* Fix the purge of WAL file that would remove all archives if the
stop file is missing
* Fix backups failing due to incorrect parsing of the stop time
when iso8601 timestamps are used
pitrery 1.12
============
* New -m option for archive_xlog to chmod the archived file to the
specified octal permission bits
* Fix the restore so that the backup_label is restore whan used with
PostgreSQL 9.6
* Remove support of deprecated compression parameters, renamed in 1.9
pitrery 1.11
============
* New configure action to create a configuration file from the
command line.
* New check action to test configuration files.
* Do not backup replication slots state files and produce an SQL
file to recreate them after restore.
* Add a dry run option (-N) for purge.
* Improve the quoting and ensure unusual characters are handled
properly.
* Add manpages for the user facing commands, pitrery, archive_xlog
and restore_xlog.
* Relax restrictions on the target date format on restore. It was
meant to have a working format common to all free unices
platforms, but the user can just adapt the command to its
system. So now one can do run: pitrery restore -d '1 hour ago', or
anything the local date command can parse.
* New ARCHIVE_OVERWRITE configuration parameter along with -O option
(do not overwrite) for archive_xlog to check if the target files
exists before archiving, when set to "no" or -O is on the command
line.
* New ARCHIVE_CHECK (-H) and ARCHIVE_FLUSH (-F) for archive_xlog. The
first one check md5 sum of the archived WAL file, the second force
a flush to disk.
* Make use of the new backup API of PostgreSQL 9.6
* Optionally name backups dir with ISO 8601 timestamps, with config
option USE_ISO8601_TIMESTAMPS and command line switch -t for the
backup action.
* French translation of the documentation.
* Bugfixes and better handling of unusual characters in paths
pitrery 1.10
============
* Fix issue in restore_xlog not using SSH user and host found in the
configuration file, thus preventing restore to work out of the
box.
* Ensure archive_xlog create the target directory on remote hosts
* Only purge WAL files when there are some WAL files to remove
pitrery 1.9
===========
* Do not exit without error when the server is in recovery. This is
not a consistent behaviour.
* Improve the speed of the purge of archives WAL files by stopping
the purge when the limit is reached.
* Add the -T switch along with the LOG_TIMESTAMP option to prefix
messages of backup, restore and purge with the date and time.
* Rename the compression configuration parameters for WAL files to
avoid confusion :
* `COMPRESS_BIN` -> `ARCHIVE_COMPRESS_BIN`
* `COMPRESS_SUFFIX` -> `ARCHIVE_COMPRESS_SUFFIX`
* `UNCOMPRESS_BIN` -> `ARCHIVE_UNCOMPRESS_BIN`
* Add the -c and -s switch to archive_xlog and restore_xlog which
allow to give the (un)compression command and compressed file suffix
respectively.
* No longer use command line switch to configure restore_xlog for
restore_command in restore action. Give a configuration file or
the full command to use. Thus only -r and -C (changed to give the
configuration file) remains for archived WAL options.
* Add the -l switch to pitrery. It lists the configuration files
inside the default configuration directory.
* Include all recovery parameters commented out in the recovery.conf
generated at restore.
pitrery 1.8
===========
* Exclude temporary locations from backup
* Support pax to create hardlinks, for better portability. GNU cp
stays the default, the configuration goes to the Makfile.
* Add a -V switch to the pitrery wrapper script to show the version.
* Add an option (-R) to overwrite target directory on restore.
pitrery 1.7
===========
* Show the storage method and compression suffix when listing
backups in verbose mode.
* Allow configuration of compression tools used when storing backup
contents using tar.
* Remove the `pitr_mgr` symlink.
* Have `archive_xlog` create the local target directory so that we don't
end up archiving on the same path, when the user forget to create it.
* Run backup hook command even if the backup fails. The exit code of the
backup is available to the hook in the PITRERY_EXIT_CODE env variable.
* Bugfix on sed -E vs sed -r, use the later for older GNU sed.
pitrery 1.6
===========
* Exit without error when backup is run on a hot standby
server. Issue a warning message when run interactively, so an
active cron job does not send any mail.
* Bugfixes and improvements on documentation
pitrery 1.5
===========
* Force the checkpoint on pg_start_backup() when possible
* Support rsync for the base backup. tar remains the default with a
new -s option for backup_pitr and the STORAGE configuration
variable
* Save configuration files if they are outside of PGDATA
* Rename `pitr_mgr` to `pitrery`, with a symlink for backward
compatibility
* Make the time based purge compatible with the count purge,
allowing to purge backups based on age _and_ keeping a minimum
number of backups
* Make the old WAL purge better by comparing parts of the file name
instead of the whole. Bash does not handle well the full file name
when converted to a number (too big)
* Safely purge old .backup files. Always keep .history files
* Improve documentation
* Better check the input file in archive_xlog
* Use rsync to safely transfer to the remote host in archive_xlog
* Document compression tools options
* Add a verbose mode to list, with sizes and locations
* Allow to specify the oid of a tablespace when give path for relocation:
-t oid:/new/path or -t name:/new/path is possible
pitrery 1.4
===========
* Merge archiving configuration with pitr_mgr configuration
* Add search for configuration file on its basename in archive_xlog
and restore_xlog
* Add more options to restore to configure the restore_command
* Fix hang on purge when all backups are removed
* Fix on tablespace handling when no tablespaces exist
* Add an UPGRADE documentation
* Copy docs and configuration to the documentation directory
pitrery 1.3
===========
* Support PostgreSQL 9.2
* Relocation of tablespaces on restore
* Simpler archiving script, only archive to one place
* Support for username on SSH connections
* Better display of the list of backups
* Add a summary of all information needed for a restore
* Add a dry run mode on restore
* Lots of bug fixes
pitrery 1.2
===========
This version is buggy, do not use it.
pitrery 1.1
===========
* Fix backup selection date. Now backups are selected based on the
end of the base backup, a base backup is not usable until the time
of pg_stop_backup(), written as STOP TIME in the backup label.
* Correct the filtering of archived WAL segments when purging, to
avoid other files to get in the way.
* Add a cleaning of the backup directory in case the backup fails.
* Add Debian packaging
pitrery 1.0
===========
* First version