Commit f961ad4
committed
Prevent WAL files created by pg_basebackup -x/X from being archived again.
WAL (and timeline history) files created by pg_basebackup did not
maintain the new base backup's archive status. That's currently not a
problem if the new node is used as a standby - but if that node is
promoted all still existing files can get archived again. With a high
wal_keep_segment settings that can happen a significant time later -
which is quite confusing.
Change both the backend (for the -x/-X fetch case) and pg_basebackup
(for -X stream) itself to always mark WAL/timeline files included in
the base backup as .done. That's in line with walreceiver.c doing so.
The verbosity of the pg_basebackup changes show pretty clearly that it
needs some refactoring, but that'd result in not be backpatchable
changes.
Backpatch to 9.1 where pg_basebackup was introduced.
Discussion: 20141205002854.GE21964@awork2.anarazel.de1 parent 4967e07 commit f961ad4
File tree
5 files changed
+115
-16
lines changed- src
- backend/replication
- bin/pg_basebackup
5 files changed
+115
-16
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
400 | 400 | | |
401 | 401 | | |
402 | 402 | | |
| 403 | + | |
403 | 404 | | |
404 | 405 | | |
405 | 406 | | |
| |||
424 | 425 | | |
425 | 426 | | |
426 | 427 | | |
| 428 | + | |
427 | 429 | | |
| 430 | + | |
| 431 | + | |
| 432 | + | |
| 433 | + | |
| 434 | + | |
| 435 | + | |
| 436 | + | |
| 437 | + | |
| 438 | + | |
428 | 439 | | |
429 | 440 | | |
430 | 441 | | |
| |||
447 | 458 | | |
448 | 459 | | |
449 | 460 | | |
| 461 | + | |
| 462 | + | |
| 463 | + | |
| 464 | + | |
450 | 465 | | |
451 | 466 | | |
452 | 467 | | |
| |||
881 | 896 | | |
882 | 897 | | |
883 | 898 | | |
| 899 | + | |
| 900 | + | |
| 901 | + | |
| 902 | + | |
| 903 | + | |
| 904 | + | |
| 905 | + | |
| 906 | + | |
| 907 | + | |
884 | 908 | | |
885 | 909 | | |
886 | 910 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
259 | 259 | | |
260 | 260 | | |
261 | 261 | | |
262 | | - | |
| 262 | + | |
263 | 263 | | |
264 | 264 | | |
265 | 265 | | |
| |||
281 | 281 | | |
282 | 282 | | |
283 | 283 | | |
| 284 | + | |
284 | 285 | | |
285 | 286 | | |
286 | 287 | | |
| |||
314 | 315 | | |
315 | 316 | | |
316 | 317 | | |
| 318 | + | |
| 319 | + | |
317 | 320 | | |
318 | | - | |
319 | | - | |
320 | | - | |
| 321 | + | |
| 322 | + | |
| 323 | + | |
321 | 324 | | |
322 | | - | |
323 | | - | |
| 325 | + | |
| 326 | + | |
| 327 | + | |
| 328 | + | |
| 329 | + | |
| 330 | + | |
| 331 | + | |
| 332 | + | |
| 333 | + | |
| 334 | + | |
324 | 335 | | |
325 | 336 | | |
326 | 337 | | |
| |||
403 | 414 | | |
404 | 415 | | |
405 | 416 | | |
| 417 | + | |
| 418 | + | |
| 419 | + | |
| 420 | + | |
| 421 | + | |
| 422 | + | |
| 423 | + | |
| 424 | + | |
| 425 | + | |
| 426 | + | |
| 427 | + | |
| 428 | + | |
| 429 | + | |
| 430 | + | |
| 431 | + | |
| 432 | + | |
| 433 | + | |
406 | 434 | | |
407 | 435 | | |
408 | 436 | | |
| |||
835 | 863 | | |
836 | 864 | | |
837 | 865 | | |
838 | | - | |
839 | | - | |
| 866 | + | |
| 867 | + | |
840 | 868 | | |
841 | | - | |
| 869 | + | |
| 870 | + | |
| 871 | + | |
842 | 872 | | |
843 | 873 | | |
844 | 874 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
321 | 321 | | |
322 | 322 | | |
323 | 323 | | |
324 | | - | |
| 324 | + | |
325 | 325 | | |
326 | 326 | | |
327 | 327 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
44 | 44 | | |
45 | 45 | | |
46 | 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 | + | |
47 | 76 | | |
48 | 77 | | |
49 | 78 | | |
| |||
133 | 162 | | |
134 | 163 | | |
135 | 164 | | |
136 | | - | |
| 165 | + | |
| 166 | + | |
137 | 167 | | |
138 | 168 | | |
139 | 169 | | |
| |||
184 | 214 | | |
185 | 215 | | |
186 | 216 | | |
| 217 | + | |
| 218 | + | |
| 219 | + | |
| 220 | + | |
| 221 | + | |
| 222 | + | |
| 223 | + | |
| 224 | + | |
| 225 | + | |
| 226 | + | |
| 227 | + | |
| 228 | + | |
| 229 | + | |
187 | 230 | | |
188 | 231 | | |
189 | 232 | | |
| |||
284 | 327 | | |
285 | 328 | | |
286 | 329 | | |
287 | | - | |
| 330 | + | |
| 331 | + | |
288 | 332 | | |
289 | 333 | | |
290 | 334 | | |
| |||
343 | 387 | | |
344 | 388 | | |
345 | 389 | | |
346 | | - | |
347 | 390 | | |
348 | 391 | | |
349 | 392 | | |
| |||
367 | 410 | | |
368 | 411 | | |
369 | 412 | | |
370 | | - | |
| 413 | + | |
371 | 414 | | |
372 | 415 | | |
373 | 416 | | |
| |||
579 | 622 | | |
580 | 623 | | |
581 | 624 | | |
582 | | - | |
| 625 | + | |
| 626 | + | |
583 | 627 | | |
584 | 628 | | |
585 | 629 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
13 | 13 | | |
14 | 14 | | |
15 | 15 | | |
16 | | - | |
| 16 | + | |
| 17 | + | |
0 commit comments